-
Couldn't load subscription status.
- Fork 2.5k
Description
Double free happening in ZMQ 4.3.4 version, causing reaper and IO thread crashes when system goes down
Thread 1:
#10 <> in zmq::yqueue_t<zmq::msg_t, 256>::yqueue_t (<>, __in_chrg=) at src/yqueue.hpp:81ypipe_t (<>, in_chrg=) at src/ypipe.hpp:46
#11 zmq::ypipe_t<zmq::msg_t, 256>::
#12 zmq::ypipe_t<zmq::msg_t, 256>::~ypipe_t (<>, in_chrg=) at src/ypipe.hpp:46
#13 <> in zmq::pipe_t::process_pipe_term_ack (<>) at src/pipe.cpp:398
#14 <> in zmq::socket_base_t::process_commands (<>, timeout=timeout@entry=0, throttle=throttle@entry=false) at src/socket_base.cpp:1505
#15 <> in zmq::socket_base_t::in_event() () at src/socket_base.cpp:1687
#16 <> in zmq::epoll_t::loop () at src/epoll.cpp:206
#17 <> in thread_routine () at src/thread.cpp:402
Thread 2:
#5 <> in zmq::session_base_t::pipe_terminated (, pipe=) at src/session_base.cpp:298
#6 <> in zmq::pipe_t::process_pipe_term_ack () at src/pipe.cpp:372
#7 <> in zmq::io_thread_t::in_event () at src/io_thread.cpp:91
#8 <> in zmq::epoll_t::loop () at src/epoll.cpp:206
#9 <> in thread_routine () at src/thread.cpp:402
Thread 2 frees up the memory, and thread 1 doesn't clean up and double free. Kindly help out.