pebbe / zmq4

A Go interface to ZeroMQ version 4
BSD 2-Clause "Simplified" License
1.17k stars 163 forks source link

zmq Assertion failed and abort #131

Open akzi opened 6 years ago

akzi commented 6 years ago

Assertion failed: check () (src/msg.cpp:361) SIGABRT: abort PC=0x7fbd73fc91d7 m=32 sigcode=18446744073709551610

goroutine 0 [idle]: runtime: unknown pc 0x7fbd73fc91d7 stack: frame={sp:0x7fbd29ffacc8, fp:0x0} stack=[0x7fbd297fb2b0,0x7fbd29ffaeb0) 00007fbd29ffabc8: 00007fbd29ffad48 00007fbd29ffad20 00007fbd29ffabd8: 0000000000000001 00007fbd74ea0030 00007fbd29ffabe8: 00007fbd74eb24a0 00007fbd74eb2148 00007fbd29ffabf8: 00007fbd74c9acaf 0000000000000000 00007fbd29ffac08: 00007fbd74ea0030 0000000000000005 00007fbd29ffac18: 0000000000000000 ffff804200000001 00007fbd29ffac28: 00007fbd74eb2148 0000000000000001 00007fbd29ffac38: 00007fbd74eb2148 0000000000000000 00007fbd29ffac48: 0000000000a00435 0000000000000000 00007fbd29ffac58: 00007fbd74eb24a0 00007fbd29ffac90 00007fbd29ffac68: 00007fbd29ffac80 000000000f11ed7d 00007fbd29ffac78: 0000000000417ce9 00000000ffffffff 00007fbd29ffac88: 0000000000417be6 00007fbd73f9ad00 00007fbd29ffac98: 000000c4332cf400 000000c42071fbb0 00007fbd29ffaca8: ffffffffffffffff 00007fbd29ffb660 00007fbd29ffacb8: 000000c420720000 0000000000000080 00007fbd29ffacc8: <00007fbd73fca8c8 0000000000000020 00007fbd29ffacd8: 0000000000000000 0000000000000000 00007fbd29fface8: 0000000000000000 0000000000000000 00007fbd29ffacf8: 0000000000000000 0000000000000000 00007fbd29ffad08: 0000000000000000 0000000000000000 00007fbd29ffad18: 0000000000000000 0000000000000000 00007fbd29ffad28: 0000000000000000 0000000000000000 00007fbd29ffad38: 0000000000000000 0000000000000000 00007fbd29ffad48: 0000000000000000 000000c4332cf400 00007fbd29ffad58: 000000c42071fbb0 ffffffffffffffff 00007fbd29ffad68: 00007fbd74ca60c0 ffffffffffffffff 00007fbd29ffad78: 00007fbd74ca60c0 00007fbd29ffadf0 00007fbd29ffad88: 000000c420a8226e 0000000000000000 00007fbd29ffad98: 000000c4332cf400 000000c4332cf400 00007fbd29ffada8: 00007fbcd4000d80 0000000000000000 00007fbd29ffadb8: 00007fbd7407cc7d 0000000000000000 runtime: unknown pc 0x7fbd73fc91d7 stack: frame={sp:0x7fbd29ffacc8, fp:0x0} stack=[0x7fbd297fb2b0,0x7fbd29ffaeb0) 00007fbd29ffabc8: 00007fbd29ffad48 00007fbd29ffad20 00007fbd29ffabd8: 0000000000000001 00007fbd74ea0030 00007fbd29ffabe8: 00007fbd74eb24a0 00007fbd74eb2148 00007fbd29ffabf8: 00007fbd74c9acaf 0000000000000000 00007fbd29ffac08: 00007fbd74ea0030 0000000000000005 00007fbd29ffac18: 0000000000000000 ffff804200000001 00007fbd29ffac28: 00007fbd74eb2148 0000000000000001 00007fbd29ffac38: 00007fbd74eb2148 0000000000000000 00007fbd29ffac48: 0000000000a00435 0000000000000000 00007fbd29ffac58: 00007fbd74eb24a0 00007fbd29ffac90 00007fbd29ffac68: 00007fbd29ffac80 000000000f11ed7d 00007fbd29ffac78: 0000000000417ce9 00000000ffffffff 00007fbd29ffac88: 0000000000417be6 00007fbd73f9ad00 00007fbd29ffac98: 000000c4332cf400 000000c42071fbb0 00007fbd29ffaca8: ffffffffffffffff 00007fbd29ffb660 00007fbd29ffacb8: 000000c420720000 0000000000000080 00007fbd29ffacc8: <00007fbd73fca8c8 0000000000000020 00007fbd29ffacd8: 0000000000000000 0000000000000000 00007fbd29fface8: 0000000000000000 0000000000000000 00007fbd29ffacf8: 0000000000000000 0000000000000000 00007fbd29ffad08: 0000000000000000 0000000000000000 00007fbd29ffad18: 0000000000000000 0000000000000000 00007fbd29ffad28: 0000000000000000 0000000000000000 00007fbd29ffad38: 0000000000000000 0000000000000000 00007fbd29ffad48: 0000000000000000 000000c4332cf400 00007fbd29ffad58: 000000c42071fbb0 ffffffffffffffff 00007fbd29ffad68: 00007fbd74ca60c0 ffffffffffffffff 00007fbd29ffad78: 00007fbd74ca60c0 00007fbd29ffadf0 00007fbd29ffad88: 000000c420a8226e 0000000000000000 00007fbd29ffad98: 000000c4332cf400 000000c4332cf400 00007fbd29ffada8: 00007fbcd4000d80 0000000000000000 00007fbd29ffadb8: 00007fbd7407cc7d 0000000000000000

goroutine 187 [syscall]: runtime.cgocall(0x9e2b00, 0xc42071fc08, 0xc46eb6) /usr/local/go/src/runtime/cgocall.go:128 +0x64 fp=0xc42071fbc0 sp=0xc42071fb88 pc=0x43ca24 github.com/pebbe/zmq4._C2func_zmq_msg_recv(0xc4332cf400, 0x7fbcd4000d80, 0x0, 0x0, 0x0, 0x0) _cgo_gotypes.go:426 +0x55 fp=0xc42071fc08 sp=0xc42071fbc0 pc=0x703085 github.com/pebbe/zmq4.(Socket).RecvBytes.func1(0xc4332cf400, 0x7fbcd4000d80, 0xc400000000, 0x0, 0x3e8, 0x1) /go/src/github.com/pebbe/zmq4/zmq4.go:965 +0x68 fp=0xc42071fc48 sp=0xc42071fc08 pc=0x70fd28 github.com/pebbe/zmq4.(Socket).RecvBytes(0xc420685770, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) /go/src/github.com/pebbe/zmq4/zmq4.go:965 +0x1a7 fp=0xc42071fce8 sp=0xc42071fc48 pc=0x70d4d7 github.com/pebbe/zmq4.(Socket).Recv(0xc420685770, 0x0, 0xc42071fec0, 0x1, 0x6, 0x0) /go/src/github.com/pebbe/zmq4/zmq4.go:946 +0x39 fp=0xc42071fd40 sp=0xc42071fce8 pc=0x70d2a9 go-zmq-proxy/zmq_proxy.(subGroup).doPoll(0xc42024e800) /go/src/go-zmq-proxy/zmq_proxy/engine.go:730 +0x5ac fp=0xc42071ff90 sp=0xc42071fd40 pc=0x9429ec go-zmq-proxy/zmq_proxy.(subProxy).StartReceiveRoutine.func1(0xc42024e800) /go/src/go-zmq-proxy/zmq_proxy/engine.go:748 +0x3a fp=0xc42071ffd8 sp=0xc42071ff90 pc=0x94ba6a runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc42071ffe0 sp=0xc42071ffd8 pc=0x491c41 created by go-zmq-proxy/zmq_proxy.(subProxy).StartReceiveRoutine /go/src/go-zmq-proxy/zmq_proxy/engine.go:745 +0x3f

akzi commented 6 years ago

assert failed at :https://github.com/zeromq/libzmq/blob/master/src/msg.cpp#L361

kinnou02 commented 6 years ago

I did encounter the same problem, in our case not every call trigger the assert, but it's pretty fast to occur. As a workaround we didn't observe any issues with the libzmq packaged by ubuntu 16.04: that is libzmq 4.1.4-7.

pebbe commented 6 years ago

I suggest you create an issue at https://github.com/zeromq/libzmq