redis / go-redis

Redis Go client
https://redis.uptrace.dev
BSD 2-Clause "Simplified" License
19.65k stars 2.32k forks source link

rised panic using pipeline exec #2906

Open ben-swit opened 5 months ago

ben-swit commented 5 months ago

Issue tracker is used for reporting bugs and discussing new features. Please use stackoverflow for supporting issues.

pipeline exec panic

Possible Solution

Steps to Reproduce

runtime stack: runtime.throw({0x1bad04c?, 0x16395?}) /usr/local/go/src/runtime/panic.go:1047 +0x5d fp=0x7f5e01b7bc68 sp=0x7f5e01b7bc38 pc=0x43b75d runtime: g 0: unexpected return pc for runtime.sigpanic called from 0x7f5e2e3a0e60 stack: frame={sp:0x7f5e01b7bc68, fp:0x7f5e01b7bcc8} stack=[0x7f5e01b5ca40,0x7f5e01b7c640) 0x00007f5e01b7bb68: 0x00007f5e00000004 0x000000000000001f 0x00007f5e01b7bb78: 0x00007f5e2e3a0e60 0x0000000000000170 0x00007f5e01b7bb88: 0x0000000000000001 0x000000000043b75d <runtime.throw+0x000000000000005d> 0x00007f5e01b7bb98: 0x00007f5e01b7bc38 0x0000000001b81767 0x00007f5e01b7bba8: 0x00007f5e01b7bbe8 0x000000000043bb4e <runtime.fatalthrow.func1+0x000000000000006e> 0x00007f5e01b7bbb8: 0x000000c0004736c0 0x0000000001d8b0a0 0x00007f5e01b7bbc8: 0x0000000000000001 0x00007f5e01b7bc38 0x00007f5e01b7bbd8: 0x000000000043b75d <runtime.throw+0x000000000000005d> 0x000000c0004736c0 0x00007f5e01b7bbe8: 0x00007f5e01b7bc28 0x000000000043baac <runtime.fatalthrow+0x000000000000006c> 0x00007f5e01b7bbf8: 0x00007f5e01b7bc08 0x000000c0004736c0 0x00007f5e01b7bc08: 0x000000000043bae0 <runtime.fatalthrow.func1+0x0000000000000000> 0x000000c0004736c0 0x00007f5e01b7bc18: 0x000000000043b75d <runtime.throw+0x000000000000005d> 0x00007f5e01b7bc38 0x00007f5e01b7bc28: 0x00007f5e01b7bc58 0x000000000043b75d <runtime.throw+0x000000000000005d> 0x00007f5e01b7bc38: 0x00007f5e01b7bc40 0x000000000043b780 <runtime.throw.func1+0x0000000000000000> 0x00007f5e01b7bc48: 0x0000000001bad04c 0x000000000000002a 0x00007f5e01b7bc58: 0x00007f5e01b7bcb8 0x0000000000452a49 <runtime.sigpanic+0x00000000000003e9> 0x00007f5e01b7bc68: <0x0000000001bad04c 0x0000000000016395 0x00007f5e01b7bc78: 0x00007f5e2e36e1c0 0x00007f5e01b7bc90 0x00007f5e01b7bc88: 0x00007f5e00000000 0x00000000000168a0 0x00007f5e01b7bc98: 0x000000c0004736c0 0x0000000000016847 0x00007f5e01b7bca8: 0x0000000000470900 <runtime.call1073741824+0x0000000000000080> 0x00000000000163a9 0x00007f5e01b7bcb8: 0x00007f5e01b7be50 !0x00007f5e2e3a0e60 0x00007f5e01b7bcc8: >0x00007f5e2e2602aa 0x00007f5e01b7bdd0 0x00007f5e01b7bcd8: 0x00007f5e01b7bd70 0x00007f5e01b7bde0 0x00007f5e01b7bce8: 0x00007f5e01b7bd30 0x00007f5e011b1d90 0x00007f5e01b7bcf8: 0x0000000000000001 0x00007f5e01ac9ca8 0x00007f5e01b7bd08: 0x00007f5e05f9f400 0x0000000000000000 0x00007f5e01b7bd18: 0x00007f5e05f0a270 0x00007f5e01aca230 0x00007f5e01b7bd28: 0x00007f5e01b7bea8 0x0000000000000000 0x00007f5e01b7bd38: 0x00007f5e01b7c238 0x0000000000000900 0x00007f5e01b7bd48: 0x000000001b625c94 0x000000c000a14780 0x00007f5e01b7bd58: 0x0000000000000000 0x00007f5e05fa0000 0x00007f5e01b7bd68: 0x00007f5e0637d760 0x000000c000a14798 0x00007f5e01b7bd78: 0x0000000000000000 0x00007f5e01b70000 0x00007f5e01b7bd88: 0x00007f5e2e135e52 0x000000c001652330 0x00007f5e01b7bd98: 0x0000000000000000 0x000000c000800000 0x00007f5e01b7bda8: 0x0000000000000000 0x000000c000a147a0 0x00007f5e01b7bdb8: 0x0000000000000000 0x36312e34382e0000 runtime.sigpanic() /usr/local/go/src/runtime/signal_unix.go:825 +0x3e9 fp=0x7f5e01b7bcc8 sp=0x7f5e01b7bc68 pc=0x452a49

goroutine 189812 [running]: runtime.systemstack_switch() /usr/local/go/src/runtime/asm_amd64.s:463 fp=0xc001a0cbf8 sp=0xc001a0cbf0 pc=0x46eb40 debugCall64() /usr/local/go/src/runtime/asm_amd64.s:1940 +0x20 fp=0xc001a0cc48 sp=0xc001a0cbf8 pc=0x46e3a0 github.com/go-redis/redis/v7.(*Pipeline).Exec(0xc001652300?) /go/pkg/mod/github.com/go-redis/redis/v7@v7.4.1/pipeline.go:102 +0x25 fp=0xc001a0cc70 sp=0xc001a0cc48 pc=0xf5b305

Context (Environment)

on GKE with alpine linux

go 1.20.12-alpine3 go 1.12 mod

Detailed Description

Possible Implementation