zeromq / zeromq4-x

ØMQ 4.x stable release branch - bug fixes only
GNU General Public License v3.0
457 stars 194 forks source link

ZMQ 4.0.4 crash #104

Closed giskook closed 9 years ago

giskook commented 9 years ago

* glibc detected * /home/cetc/code/codeset/civilmanager_access/ca: double free or corruption (fasttop): 0x00007fffd400e7f0 *** ======= Backtrace: ========= /lib64/libc.so.6[0x38fb075e66] /usr/local/lib/libzmq.so.4(+0x1d933)[0x7ffff7b98933] /usr/local/lib/libzmq.so.4(+0x3dfc9)[0x7ffff7bb8fc9] /usr/local/lib/libzmq.so.4(+0x324a3)[0x7ffff7bad4a3] /usr/local/lib/libzmq.so.4(+0x29f88)[0x7ffff7ba4f88] /usr/local/lib/libzmq.so.4(+0x19384)[0x7ffff7b94384] /usr/local/lib/libzmq.so.4(+0x1848e)[0x7ffff7b9348e] /usr/local/lib/libzmq.so.4(+0x37a46)[0x7ffff7bb2a46] /lib64/libpthread.so.0[0x38fb4079d1] /lib64/libc.so.6(clone+0x6d)[0x38fb0e89dd]

0 0x00000038fb032625 in raise () from /lib64/libc.so.6

1 0x00000038fb033e05 in abort () from /lib64/libc.so.6

2 0x00000038fb070537 in __libc_message () from /lib64/libc.so.6

3 0x00000038fb075e66 in malloc_printerr () from /lib64/libc.so.6

4 0x00007ffff7b98933 in zmq::msg_t::close (this=0x7fffdc0051d0) at msg.cpp:137

5 0x00007ffff7bb8fc9 in zmq::encoder_base_tzmq::v2_encodert::encode (this=0x7fffdc000d60, data=0x7fffeebfc078, size_=Unhandled dwarf expression opcode 0xf3

) at encoder.hpp:83

6 0x00007ffff7bad4a3 in zmq::stream_engine_t::out_event (this=0x7fffdc0051b0) at stream_engine.cpp:284

7 0x00007ffff7ba4f88 in zmq::session_base_t::readactivated (this=0x7fffdc005540, pipe=0x7fffdc009900) at session_base.cpp:246

8 0x00007ffff7b94384 in zmq::io_thread_t::in_event (this=0x7fffe8003170) at io_thread.cpp:73

9 0x00007ffff7b9348e in zmq::epoll_t::loop (this=0x7fffe80033f0) at epoll.cpp:165

10 0x00007ffff7bb2a46 in threadroutine (arg=0x7fffe8003460) at thread.cpp:81

11 0x00000038fb4079d1 in start_thread () from /lib64/libpthread.so.0

12 0x00000038fb0e89dd in clone () from /lib64/libc.so.6

My server is using two sockets now. One is Push type. The other is Sub. when I do stress test I only use the Push socket.With increasing pressure zmq crash.I can not judge whether it is due to my own code. Any Idea?

hintjens commented 9 years ago

Are you using the socket in more than one thread?

On Thu, Jan 29, 2015 at 3:41 AM, GisKook notifications@github.com wrote:

* glibc detected * /home/cetc/code/codeset/civilmanager_access/ca: double free or corruption (fasttop): 0x00007fffd400e7f0 *** ======= Backtrace: ========= /lib64/libc.so.6[0x38fb075e66] /usr/local/lib/libzmq.so.4(+0x1d933)[0x7ffff7b98933] /usr/local/lib/libzmq.so.4(+0x3dfc9)[0x7ffff7bb8fc9] /usr/local/lib/libzmq.so.4(+0x324a3)[0x7ffff7bad4a3] /usr/local/lib/libzmq.so.4(+0x29f88)[0x7ffff7ba4f88] /usr/local/lib/libzmq.so.4(+0x19384)[0x7ffff7b94384] /usr/local/lib/libzmq.so.4(+0x1848e)[0x7ffff7b9348e] /usr/local/lib/libzmq.so.4(+0x37a46)[0x7ffff7bb2a46] /lib64/libpthread.so.0[0x38fb4079d1] /lib64/libc.so.6(clone+0x6d)[0x38fb0e89dd]

0 0x00000038fb032625 in raise () from /lib64/libc.so.6

1 https://github.com/zeromq/zeromq4-x/pull/1 0x00000038fb033e05 in

abort () from /lib64/libc.so.6

2 https://github.com/zeromq/zeromq4-x/pull/2 0x00000038fb070537 in

__libc_message () from /lib64/libc.so.6

3 https://github.com/zeromq/zeromq4-x/pull/3 0x00000038fb075e66 in

malloc_printerr () from /lib64/libc.so.6

4 https://github.com/zeromq/zeromq4-x/pull/4 0x00007ffff7b98933 in

zmq::msg_t::close (this=0x7fffdc0051d0) at msg.cpp:137

5 https://github.com/zeromq/zeromq4-x/issues/5 0x00007ffff7bb8fc9 in

zmq::encoder_base_tzmq::v2_encodert::encode (this=0x7fffdc000d60, data=0x7fffeebfc078, size_=Unhandled dwarf expression opcode 0xf3 ) at encoder.hpp:83

6 https://github.com/zeromq/zeromq4-x/pull/6 0x00007ffff7bad4a3 in

zmq::stream_engine_t::out_event (this=0x7fffdc0051b0) at stream_engine.cpp:284

7 https://github.com/zeromq/zeromq4-x/pull/7 0x00007ffff7ba4f88 in

zmq::session_base_t::readactivated (this=0x7fffdc005540, pipe=0x7fffdc009900) at session_base.cpp:246

8 https://github.com/zeromq/zeromq4-x/pull/8 0x00007ffff7b94384 in

zmq::io_thread_t::in_event (this=0x7fffe8003170) at io_thread.cpp:73

9 https://github.com/zeromq/zeromq4-x/pull/9 0x00007ffff7b9348e in

zmq::epoll_t::loop (this=0x7fffe80033f0) at epoll.cpp:165

10 https://github.com/zeromq/zeromq4-x/issues/10 0x00007ffff7bb2a46 in

threadroutine (arg=0x7fffe8003460) at thread.cpp:81

11 https://github.com/zeromq/zeromq4-x/issues/11 0x00000038fb4079d1 in

start_thread () from /lib64/libpthread.so.0

12 https://github.com/zeromq/zeromq4-x/pull/12 0x00000038fb0e89dd in

clone () from /lib64/libc.so.6

My server is using two sockets now. One is Push type. The other is Sub. when I do stress test I only use the Push socket.With increasing pressure zmq crash.I can not judge whether it is due to my own code. Any Idea?

— Reply to this email directly or view it on GitHub https://github.com/zeromq/zeromq4-x/issues/104.

giskook commented 9 years ago

Sorry to bother you. I will adjust the logic of my own code.