[zeromq-dev] OpenPGM & segfault - assertion failed

Olivier olivier.chamoux at fr.thalesgroup.com
Thu May 6 11:24:39 CEST 2010


Here two valgrind's report of consummer (./sub), generated by :

sudo G_SLICE=always-malloc valgrind --leak-check=full
--show-reachable=yes ./sub


Olivier.


Le jeudi 06 mai 2010 à 10:41 +0200, Martin Sustrik a écrit :
> Olivier,
> 
> It looks like a memory overwrite problem. You code seems to be OK, so 
> it's either 0MQ or OpenPGM problem.
> 
> Can you possibly run the consumer with valgrind to check for memory 
> overwrites?
> 
> Martin
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev


-------------- next part --------------
==13537== Memcheck, a memory error detector.
==13537== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==13537== Using LibVEX rev 1854, a library for dynamic binary translation.
==13537== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==13537== Using valgrind-3.3.1-Debian, a dynamic binary instrumentation framework.
==13537== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==13537== For more details, rerun with: -v
==13537== 
==13537== Invalid read of size 4
==13537==    at 0x4015837: (within /lib/ld-2.7.so)
==13537==    by 0x42F80B1: (within /lib/i686/cmov/libc-2.7.so)
==13537==    by 0x400DA15: (within /lib/ld-2.7.so)
==13537==    by 0x42F8274: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.7.so)
==13537==    by 0x42D064F: __nss_lookup_function (in /lib/i686/cmov/libc-2.7.so)
==13537==    by 0x42D073F: (within /lib/i686/cmov/libc-2.7.so)
==13537==    by 0x42D2445: (within /lib/i686/cmov/libc-2.7.so)
==13537==    by 0x42D8960: getprotobyname_r (in /lib/i686/cmov/libc-2.7.so)
==13537==    by 0x409414C: pgm_init (pgm.c:104)
==13537==    by 0x40725C7: zmq_init (zmq.cpp:250)
==13537==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13537==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13537==  Address 0x44484ec is 44 bytes inside a block of size 46 alloc'd
==13537==    at 0x4023D6E: malloc (vg_replace_malloc.c:207)
==13537==    by 0x400DB23: (within /lib/ld-2.7.so)
==13537==    by 0x4008555: (within /lib/ld-2.7.so)
==13537==    by 0x4011B46: (within /lib/ld-2.7.so)
==13537==    by 0x400DA15: (within /lib/ld-2.7.so)
==13537==    by 0x401154D: (within /lib/ld-2.7.so)
==13537==    by 0x42F80B1: (within /lib/i686/cmov/libc-2.7.so)
==13537==    by 0x400DA15: (within /lib/ld-2.7.so)
==13537==    by 0x42F8274: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.7.so)
==13537==    by 0x42D064F: __nss_lookup_function (in /lib/i686/cmov/libc-2.7.so)
==13537==    by 0x42D073F: (within /lib/i686/cmov/libc-2.7.so)
==13537==    by 0x42D2445: (within /lib/i686/cmov/libc-2.7.so)
==13537== 
==13537== Thread 2:
==13537== Conditional jump or move depends on uninitialised value(s)
==13537==    at 0x4096A80: pgm_compat_csum_partial (checksum.c:82)
==13537==    by 0x408E483: send_nak_list (receiver.c:1409)
==13537==    by 0x408FDE2: nak_rb_state (receiver.c:1612)
==13537==    by 0x4090B44: pgm_check_peer_nak_state (receiver.c:1702)
==13537==    by 0x4094460: pgm_timer_dispatch (timer.c:138)
==13537==    by 0x4092FEF: pgm_recvmsgv (recv.c:723)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537== 
==13537== Conditional jump or move depends on uninitialised value(s)
==13537==    at 0x40969CD: pgm_csum_fold (checksum.c:123)
==13537==    by 0x408E48B: send_nak_list (receiver.c:1409)
==13537==    by 0x408FDE2: nak_rb_state (receiver.c:1612)
==13537==    by 0x4090B44: pgm_check_peer_nak_state (receiver.c:1702)
==13537==    by 0x4094460: pgm_timer_dispatch (timer.c:138)
==13537==    by 0x4092FEF: pgm_recvmsgv (recv.c:723)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537== 
==13537== Conditional jump or move depends on uninitialised value(s)
==13537==    at 0x40969DD: pgm_csum_fold (checksum.c:123)
==13537==    by 0x408E48B: send_nak_list (receiver.c:1409)
==13537==    by 0x408FDE2: nak_rb_state (receiver.c:1612)
==13537==    by 0x4090B44: pgm_check_peer_nak_state (receiver.c:1702)
==13537==    by 0x4094460: pgm_timer_dispatch (timer.c:138)
==13537==    by 0x4092FEF: pgm_recvmsgv (recv.c:723)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537== 
==13537== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==13537==    at 0x40007F2: (within /lib/ld-2.7.so)
==13537==    by 0x408E4D1: send_nak_list (receiver.c:1417)
==13537==    by 0x408FDE2: nak_rb_state (receiver.c:1612)
==13537==    by 0x4090B44: pgm_check_peer_nak_state (receiver.c:1702)
==13537==    by 0x4094460: pgm_timer_dispatch (timer.c:138)
==13537==    by 0x4092FEF: pgm_recvmsgv (recv.c:723)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==  Address 0x504ec16 is on thread 2's stack
==13537== 
==13537== Invalid read of size 4
==13537==    at 0x406052A: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:502)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x45867b4 is 108 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 4
==13537==    at 0x4060532: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:503)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x458679c is 84 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 2
==13537==    at 0x405EC4B: zmq::pgm_receiver_t::in_event() (stl_tree.h:956)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x4586766 is 30 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x405EC6D: zmq::pgm_receiver_t::in_event() (stl_algobase.h:904)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x4586760 is 24 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x405ECDD: zmq::pgm_receiver_t::in_event() (stl_algobase.h:904)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x4586760 is 24 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x405ED24: zmq::pgm_receiver_t::in_event() (wire.hpp:51)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x45867e0 is 152 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x405ED2A: zmq::pgm_receiver_t::in_event() (wire.hpp:51)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x45867e1 is 153 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x4024980: memcpy (mc_replace_strmem.c:402)
==13537==    by 0x405EE30: zmq::pgm_receiver_t::in_event() (decoder.hpp:118)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x4586823 is 219 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x4024987: memcpy (mc_replace_strmem.c:402)
==13537==    by 0x405EE30: zmq::pgm_receiver_t::in_event() (decoder.hpp:118)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x4586822 is 218 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x4024990: memcpy (mc_replace_strmem.c:402)
==13537==    by 0x405EE30: zmq::pgm_receiver_t::in_event() (decoder.hpp:118)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x4586821 is 217 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x4024999: memcpy (mc_replace_strmem.c:402)
==13537==    by 0x405EE30: zmq::pgm_receiver_t::in_event() (decoder.hpp:118)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x4586820 is 216 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x40249D0: memcpy (mc_replace_strmem.c:402)
==13537==    by 0x405EE30: zmq::pgm_receiver_t::in_event() (decoder.hpp:118)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x45867e3 is 155 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Conditional jump or move depends on uninitialised value(s)
==13537==    at 0x4096A80: pgm_compat_csum_partial (checksum.c:82)
==13537==    by 0x408E483: send_nak_list (receiver.c:1409)
==13537==    by 0x408FD83: nak_rb_state (receiver.c:1597)
==13537==    by 0x4090B44: pgm_check_peer_nak_state (receiver.c:1702)
==13537==    by 0x4094460: pgm_timer_dispatch (timer.c:138)
==13537==    by 0x4092FEF: pgm_recvmsgv (recv.c:723)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537== 
==13537== Conditional jump or move depends on uninitialised value(s)
==13537==    at 0x40969CD: pgm_csum_fold (checksum.c:123)
==13537==    by 0x408E48B: send_nak_list (receiver.c:1409)
==13537==    by 0x408FD83: nak_rb_state (receiver.c:1597)
==13537==    by 0x4090B44: pgm_check_peer_nak_state (receiver.c:1702)
==13537==    by 0x4094460: pgm_timer_dispatch (timer.c:138)
==13537==    by 0x4092FEF: pgm_recvmsgv (recv.c:723)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537== 
==13537== Conditional jump or move depends on uninitialised value(s)
==13537==    at 0x40969DD: pgm_csum_fold (checksum.c:123)
==13537==    by 0x408E48B: send_nak_list (receiver.c:1409)
==13537==    by 0x408FD83: nak_rb_state (receiver.c:1597)
==13537==    by 0x4090B44: pgm_check_peer_nak_state (receiver.c:1702)
==13537==    by 0x4094460: pgm_timer_dispatch (timer.c:138)
==13537==    by 0x4092FEF: pgm_recvmsgv (recv.c:723)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537== 
==13537== Syscall param socketcall.sendto(msg) points to uninitialised byte(s)
==13537==    at 0x40007F2: (within /lib/ld-2.7.so)
==13537==    by 0x408E4D1: send_nak_list (receiver.c:1417)
==13537==    by 0x408FD83: nak_rb_state (receiver.c:1597)
==13537==    by 0x4090B44: pgm_check_peer_nak_state (receiver.c:1702)
==13537==    by 0x4094460: pgm_timer_dispatch (timer.c:138)
==13537==    by 0x4092FEF: pgm_recvmsgv (recv.c:723)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==  Address 0x504eb36 is on thread 2's stack
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x405EF78: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:164)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x481da3d is 29 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x405EF7C: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:164)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x481da3b is 27 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x405EF80: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:164)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x481da39 is 25 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x405EF84: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:164)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x481da3a is 26 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x405EF88: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:164)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x481da3c is 28 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 2
==13537==    at 0x405EF92: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:164)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x481da3e is 30 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x405EF9D: zmq::pgm_receiver_t::in_event() (stl_pair.h:106)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x481da38 is 24 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid read of size 1
==13537==    at 0x4024A80: memcpy (mc_replace_strmem.c:402)
==13537==    by 0x405EE30: zmq::pgm_receiver_t::in_event() (decoder.hpp:118)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x481db02 is 226 bytes inside a block of size 1,628 free'd
==13537==    at 0x4022B8A: free (vg_replace_malloc.c:323)
==13537==    by 0x4387425: g_free (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4080D46: _pgm_rxw_remove_trail (skbuff.h:112)
==13537==    by 0x4081AFF: _pgm_rxw_append (rxwi.c:1088)
==13537==    by 0x4083442: pgm_rxw_add (rxwi.c:423)
==13537==    by 0x40914EF: pgm_on_data (receiver.c:2078)
==13537==    by 0x409383E: pgm_recvmsgv (recv.c:476)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537== 
==13537== Invalid write of size 4
==13537==    at 0x4071E37: zmq_msg_init_size (atomic_counter.hpp:61)
==13537==    by 0x40735A6: zmq::zmq_decoder_t::one_byte_size_ready() (zmq_decoder.cpp:62)
==13537==    by 0x405EE51: zmq::pgm_receiver_t::in_event() (decoder.hpp:109)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x5184b18 is 16 bytes inside a block of size 19 alloc'd
==13537==    at 0x4023D6E: malloc (vg_replace_malloc.c:207)
==13537==    by 0x4071E12: zmq_msg_init_size (zmq.cpp:122)
==13537==    by 0x40735A6: zmq::zmq_decoder_t::one_byte_size_ready() (zmq_decoder.cpp:62)
==13537==    by 0x405EE51: zmq::pgm_receiver_t::in_event() (decoder.hpp:109)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537== 
==13537== Invalid write of size 1
==13537==    at 0x4024984: memcpy (mc_replace_strmem.c:402)
==13537==    by 0x405EE30: zmq::pgm_receiver_t::in_event() (decoder.hpp:118)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x51850bf is not stack'd, malloc'd or (recently) free'd
==13537== 
==13537== Invalid write of size 1
==13537==    at 0x402498C: memcpy (mc_replace_strmem.c:402)
==13537==    by 0x405EE30: zmq::pgm_receiver_t::in_event() (decoder.hpp:118)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x51850be is not stack'd, malloc'd or (recently) free'd
==13537== 
==13537== Invalid write of size 1
==13537==    at 0x4024995: memcpy (mc_replace_strmem.c:402)
==13537==    by 0x405EE30: zmq::pgm_receiver_t::in_event() (decoder.hpp:118)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x51850bd is not stack'd, malloc'd or (recently) free'd
==13537== 
==13537== Invalid write of size 1
==13537==    at 0x402499E: memcpy (mc_replace_strmem.c:402)
==13537==    by 0x405EE30: zmq::pgm_receiver_t::in_event() (decoder.hpp:118)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13537==  Address 0x51850bc is not stack'd, malloc'd or (recently) free'd

valgrind: m_mallocfree.c:194 (mk_plain_bszB): Assertion 'bszB != 0' failed.
==13537==    at 0x3801A40D: report_and_quit (m_libcassert.c:140)
==13537==    by 0x3801A6FE: vgPlain_assert_fail (m_libcassert.c:200)
==13537==    by 0x38023C43: vgPlain_arena_malloc (m_mallocfree.c:194)
==13537==    by 0x38002BA0: vgMemCheck_new_block (mc_malloc_wrappers.c:195)
==13537==    by 0x3800304D: vgMemCheck_malloc (mc_malloc_wrappers.c:226)
==13537==    by 0x380390F2: vgPlain_scheduler (scheduler.c:1269)
==13537==    by 0x3804D348: run_a_thread_NORETURN (syswrap-linux.c:89)
==13537==    by 0x3804D612: vgModuleLocal_start_thread_NORETURN (syswrap-linux.c:212)
==13537==    by 0x38074E78: (within /usr/lib/valgrind/x86-linux/memcheck)
==13537==    by 0x3807A422: myvprintf_int64 (m_debuglog.c:596)
==13537==    by 0x62: ???

sched status:
  running_tid=2

Thread 1: status = VgTs_WaitSys
==13537==    at 0x40007F2: (within /lib/ld-2.7.so)
==13537==    by 0x42CB925: pthread_mutex_lock (in /lib/i686/cmov/libc-2.7.so)
==13537==    by 0x407135A: zmq::ypollset_t::poll() (simple_semaphore.hpp:127)
==13537==    by 0x4054E0D: zmq::app_thread_t::process_commands(bool, bool) (app_thread.cpp:99)
==13537==    by 0x406A5F2: zmq::socket_base_t::recv(zmq_msg_t*, int) (socket_base.cpp:438)
==13537==    by 0x407233A: zmq_recv (zmq.cpp:333)
==13537==    by 0x8049276: zmq::socket_t::recv(zmq::message_t*, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13537==    by 0x8048E0C: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)

Thread 2: status = VgTs_Runnable
==13537==    at 0x4023D6E: malloc (vg_replace_malloc.c:207)
==13537==    by 0x4387583: g_malloc (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x439DEC2: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x436EDA2: g_set_error (in /usr/lib/libglib-2.0.so.0.1600.6)
==13537==    by 0x4092965: pgm_recvmsgv (recv.c:908)
==13537==    by 0x406059B: zmq::pgm_socket_t::receive(void**, pgm_tsi_t const**) (pgm_socket.cpp:459)
==13537==    by 0x405EC28: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:137)
==13537==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13537==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13537==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13537==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13537==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)


Note: see also the FAQ.txt in the source distribution.
It contains workarounds to several common problems.

If that doesn't help, please report this bug to: www.valgrind.org

In the bug report, send all the above text, the valgrind
version, and what Linux distro you are using.  Thanks.

-------------- next part --------------
==13665== Memcheck, a memory error detector.
==13665== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al.
==13665== Using LibVEX rev 1854, a library for dynamic binary translation.
==13665== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==13665== Using valgrind-3.3.1-Debian, a dynamic binary instrumentation framework.
==13665== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al.
==13665== For more details, rerun with: -v
==13665== 
==13665== Invalid read of size 4
==13665==    at 0x4015837: (within /lib/ld-2.7.so)
==13665==    by 0x42F80B1: (within /lib/i686/cmov/libc-2.7.so)
==13665==    by 0x400DA15: (within /lib/ld-2.7.so)
==13665==    by 0x42F8274: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.7.so)
==13665==    by 0x42D064F: __nss_lookup_function (in /lib/i686/cmov/libc-2.7.so)
==13665==    by 0x42D073F: (within /lib/i686/cmov/libc-2.7.so)
==13665==    by 0x42D2445: (within /lib/i686/cmov/libc-2.7.so)
==13665==    by 0x42D8960: getprotobyname_r (in /lib/i686/cmov/libc-2.7.so)
==13665==    by 0x409414C: pgm_init (pgm.c:104)
==13665==    by 0x40725C7: zmq_init (zmq.cpp:250)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==  Address 0x44484ec is 44 bytes inside a block of size 46 alloc'd
==13665==    at 0x4023D6E: malloc (vg_replace_malloc.c:207)
==13665==    by 0x400DB23: (within /lib/ld-2.7.so)
==13665==    by 0x4008555: (within /lib/ld-2.7.so)
==13665==    by 0x4011B46: (within /lib/ld-2.7.so)
==13665==    by 0x400DA15: (within /lib/ld-2.7.so)
==13665==    by 0x401154D: (within /lib/ld-2.7.so)
==13665==    by 0x42F80B1: (within /lib/i686/cmov/libc-2.7.so)
==13665==    by 0x400DA15: (within /lib/ld-2.7.so)
==13665==    by 0x42F8274: __libc_dlopen_mode (in /lib/i686/cmov/libc-2.7.so)
==13665==    by 0x42D064F: __nss_lookup_function (in /lib/i686/cmov/libc-2.7.so)
==13665==    by 0x42D073F: (within /lib/i686/cmov/libc-2.7.so)
==13665==    by 0x42D2445: (within /lib/i686/cmov/libc-2.7.so)
==13665== 
==13665== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 36 from 2)
==13665== malloc/free: in use at exit: 43,812 bytes in 236 blocks.
==13665== malloc/free: 332 allocs, 96 frees, 51,672 bytes allocated.
==13665== For counts of detected errors, rerun with: -v
==13665== searching for pointers to 236 not-freed blocks.
==13665== checked 8,581,384 bytes.
==13665== 
==13665== 
==13665== 0 bytes in 1 blocks are still reachable in loss record 1 of 31
==13665==    at 0x4023D6E: malloc (vg_replace_malloc.c:207)
==13665==    by 0x4073745: zmq::zmq_decoder_t::zmq_decoder_t(unsigned) (decoder.hpp:54)
==13665==    by 0x405EDAE: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:192)
==13665==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13665==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13665==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13665==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13665==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13665== 
==13665== 
==13665== 4 bytes in 1 blocks are still reachable in loss record 2 of 31
==13665==    at 0x402377E: operator new(unsigned) (vg_replace_malloc.c:224)
==13665==    by 0x405AD74: std::vector<zmq::reader_t*, std::allocator<zmq::reader_t*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<zmq::reader_t**, std::vector<zmq::reader_t*, std::allocator<zmq::reader_t*> > >, zmq::reader_t* const&) (new_allocator.h:92)
==13665==    by 0x405ACDA: zmq::fq_t::attach(zmq::reader_t*) (stl_vector.h:694)
==13665==    by 0x406DE53: zmq::sub_t::xattach_pipes(zmq::reader_t*, zmq::writer_t*, std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> > const&) (sub.cpp:46)
==13665==    by 0x406A525: zmq::socket_base_t::attach_pipes(zmq::reader_t*, zmq::writer_t*, std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> > const&) (socket_base.cpp:627)
==13665==    by 0x406C0F3: zmq::socket_base_t::connect(char const*) (socket_base.cpp:252)
==13665==    by 0x40723B3: zmq_connect (zmq.cpp:323)
==13665==    by 0x8049167: zmq::socket_t::connect(char const*) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048DE0: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 4 bytes in 1 blocks are still reachable in loss record 3 of 31
==13665==    at 0x402377E: operator new(unsigned) (vg_replace_malloc.c:224)
==13665==    by 0x40557D4: std::vector<zmq::socket_base_t*, std::allocator<zmq::socket_base_t*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<zmq::socket_base_t**, std::vector<zmq::socket_base_t*, std::allocator<zmq::socket_base_t*> > >, zmq::socket_base_t* const&) (new_allocator.h:92)
==13665==    by 0x4055665: zmq::app_thread_t::create_socket(int) (stl_vector.h:694)
==13665==    by 0x40577C6: zmq::dispatcher_t::create_socket(int) (dispatcher.cpp:179)
==13665==    by 0x40724C3: zmq_socket (zmq.cpp:294)
==13665==    by 0x8049049: zmq::socket_t::socket_t(zmq::context_t&, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048DAA: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 4 bytes in 1 blocks are still reachable in loss record 4 of 31
==13665==    at 0x402377E: operator new(unsigned) (vg_replace_malloc.c:224)
==13665==    by 0x4058C94: std::vector<zmq::io_thread_t*, std::allocator<zmq::io_thread_t*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<zmq::io_thread_t**, std::vector<zmq::io_thread_t*, std::allocator<zmq::io_thread_t*> > >, zmq::io_thread_t* const&) (new_allocator.h:92)
==13665==    by 0x40561AD: zmq::dispatcher_t::dispatcher_t(int, int, int) (stl_vector.h:694)
==13665==    by 0x40726CE: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 12 bytes in 1 blocks are still reachable in loss record 5 of 31
==13665==    at 0x402377E: operator new(unsigned) (vg_replace_malloc.c:224)
==13665==    by 0x40589F1: std::vector<zmq::dispatcher_t::app_thread_info_t, std::allocator<zmq::dispatcher_t::app_thread_info_t> >::_M_insert_aux(__gnu_cxx::__normal_iterator<zmq::dispatcher_t::app_thread_info_t*, std::vector<zmq::dispatcher_t::app_thread_info_t, std::allocator<zmq::dispatcher_t::app_thread_info_t> > >, zmq::dispatcher_t::app_thread_info_t const&) (new_allocator.h:92)
==13665==    by 0x405604D: zmq::dispatcher_t::dispatcher_t(int, int, int) (stl_vector.h:694)
==13665==    by 0x40726CE: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 16 bytes in 1 blocks are still reachable in loss record 6 of 31
==13665==    at 0x402377E: operator new(unsigned) (vg_replace_malloc.c:224)
==13665==    by 0x4058B54: std::vector<zmq::i_signaler*, std::allocator<zmq::i_signaler*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<zmq::i_signaler**, std::vector<zmq::i_signaler*, std::allocator<zmq::i_signaler*> > >, zmq::i_signaler* const&) (new_allocator.h:92)
==13665==    by 0x4056311: zmq::dispatcher_t::dispatcher_t(int, int, int) (stl_vector.h:694)
==13665==    by 0x40726CE: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 20 bytes in 1 blocks are still reachable in loss record 7 of 31
==13665==    at 0x402377E: operator new(unsigned) (vg_replace_malloc.c:224)
==13665==    by 0x406D31C: std::_Rb_tree<zmq::owned_t*, zmq::owned_t*, std::_Identity<zmq::owned_t*>, std::less<zmq::owned_t*>, std::allocator<zmq::owned_t*> >::_M_insert_(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, zmq::owned_t* const&) (new_allocator.h:92)
==13665==    by 0x406A3E1: zmq::socket_base_t::process_own(zmq::owned_t*) (stl_tree.h:1153)
==13665==    by 0x405D416: zmq::object_t::process_command(zmq::command_t&) (object.cpp:81)
==13665==    by 0x4054D96: zmq::app_thread_t::process_commands(bool, bool) (app_thread.cpp:143)
==13665==    by 0x406A5F2: zmq::socket_base_t::recv(zmq_msg_t*, int) (socket_base.cpp:438)
==13665==    by 0x407233A: zmq_recv (zmq.cpp:333)
==13665==    by 0x8049276: zmq::socket_t::recv(zmq::message_t*, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048E0C: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 20 bytes in 1 blocks are still reachable in loss record 8 of 31
==13665==    at 0x402377E: operator new(unsigned) (vg_replace_malloc.c:224)
==13665==    by 0x405855C: std::_Rb_tree<zmq::pipe_t*, zmq::pipe_t*, std::_Identity<zmq::pipe_t*>, std::less<zmq::pipe_t*>, std::allocator<zmq::pipe_t*> >::_M_insert_(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, zmq::pipe_t* const&) (new_allocator.h:92)
==13665==    by 0x4057089: zmq::dispatcher_t::register_pipe(zmq::pipe_t*) (stl_tree.h:1153)
==13665==    by 0x405D306: zmq::object_t::register_pipe(zmq::pipe_t*) (object.cpp:134)
==13665==    by 0x4063073: zmq::reader_t::set_pipe(zmq::pipe_t*) (pipe.cpp:50)
==13665==    by 0x406370A: zmq::pipe_t::pipe_t(zmq::object_t*, zmq::object_t*, unsigned long long, unsigned long long) (pipe.cpp:242)
==13665==    by 0x406C519: zmq::socket_base_t::connect(char const*) (socket_base.cpp:238)
==13665==    by 0x40723B3: zmq_connect (zmq.cpp:323)
==13665==    by 0x8049167: zmq::socket_t::connect(char const*) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048DE0: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 28 bytes in 1 blocks are still reachable in loss record 9 of 31
==13665==    at 0x402377E: operator new(unsigned) (vg_replace_malloc.c:224)
==13665==    by 0x406D3CA: std::_Rb_tree<unsigned long long, std::pair<unsigned long long const, zmq::session_t*>, std::_Select1st<std::pair<unsigned long long const, zmq::session_t*> >, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, zmq::session_t*> > >::_M_insert_(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, std::pair<unsigned long long const, zmq::session_t*> const&) (new_allocator.h:92)
==13665==    by 0x406AA4E: zmq::socket_base_t::register_session(zmq::session_t*) (stl_tree.h:1153)
==13665==    by 0x4068FC6: zmq::session_t::session_t(zmq::object_t*, zmq::socket_base_t*, zmq::options_t const&) (session.cpp:40)
==13665==    by 0x406C083: zmq::socket_base_t::connect(char const*) (socket_base.cpp:224)
==13665==    by 0x40723B3: zmq_connect (zmq.cpp:323)
==13665==    by 0x8049167: zmq::socket_t::connect(char const*) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048DE0: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 32 bytes in 1 blocks are still reachable in loss record 10 of 31
==13665==    at 0x402377E: operator new(unsigned) (vg_replace_malloc.c:224)
==13665==    by 0x405F42B: std::_Rb_tree<pgm_tsi_t, std::pair<pgm_tsi_t const, zmq::pgm_receiver_t::peer_info_t>, std::_Select1st<std::pair<pgm_tsi_t const, zmq::pgm_receiver_t::peer_info_t> >, zmq::pgm_receiver_t::tsi_comp, std::allocator<std::pair<pgm_tsi_t const, zmq::pgm_receiver_t::peer_info_t> > >::_M_insert_(std::_Rb_tree_node_base const*, std::_Rb_tree_node_base const*, std::pair<pgm_tsi_t const, zmq::pgm_receiver_t::peer_info_t> const&) (new_allocator.h:92)
==13665==    by 0x405F7FD: std::_Rb_tree<pgm_tsi_t, std::pair<pgm_tsi_t const, zmq::pgm_receiver_t::peer_info_t>, std::_Select1st<std::pair<pgm_tsi_t const, zmq::pgm_receiver_t::peer_info_t> >, zmq::pgm_receiver_t::tsi_comp, std::allocator<std::pair<pgm_tsi_t const, zmq::pgm_receiver_t::peer_info_t> > >::_M_insert_unique(std::pair<pgm_tsi_t const, zmq::pgm_receiver_t::peer_info_t> const&) (stl_tree.h:1148)
==13665==    by 0x405EFDD: zmq::pgm_receiver_t::in_event() (stl_map.h:469)
==13665==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13665==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13665==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13665==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13665==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13665== 
==13665== 
==13665== 32 bytes in 1 blocks are still reachable in loss record 11 of 31
==13665==    at 0x402353E: operator new(unsigned, std::nothrow_t const&) (vg_replace_malloc.c:244)
==13665==    by 0x4054F15: zmq::app_thread_t::app_thread_t(zmq::dispatcher_t*, int, int) (app_thread.cpp:73)
==13665==    by 0x4055E39: zmq::dispatcher_t::dispatcher_t(int, int, int) (dispatcher.cpp:56)
==13665==    by 0x40726CE: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 32 bytes in 1 blocks are still reachable in loss record 12 of 31
==13665==    at 0x4023E8C: realloc (vg_replace_malloc.c:429)
==13665==    by 0x4387469: g_realloc (in /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x43583EF: (within /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x43584D4: g_array_set_size (in /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x43A93A0: g_static_private_set (in /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x43B3378: g_get_language_names (in /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x433A5ED: g_thread_init (in /usr/lib/libgthread-2.0.so.0.1600.6)
==13665==    by 0x40941A3: pgm_init (pgm.c:73)
==13665==    by 0x40725C7: zmq_init (zmq.cpp:250)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 36 bytes in 1 blocks are still reachable in loss record 13 of 31
==13665==    at 0x402353E: operator new(unsigned, std::nothrow_t const&) (vg_replace_malloc.c:244)
==13665==    by 0x4056004: zmq::dispatcher_t::dispatcher_t(int, int, int) (dispatcher.cpp:65)
==13665==    by 0x40726CE: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 40 bytes in 1 blocks are still reachable in loss record 14 of 31
==13665==    at 0x402353E: operator new(unsigned, std::nothrow_t const&) (vg_replace_malloc.c:244)
==13665==    by 0x4055EC1: zmq::dispatcher_t::dispatcher_t(int, int, int) (dispatcher.cpp:56)
==13665==    by 0x40726CE: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 48 bytes in 1 blocks are still reachable in loss record 15 of 31
==13665==    at 0x402353E: operator new(unsigned, std::nothrow_t const&) (vg_replace_malloc.c:244)
==13665==    by 0x405B7C1: zmq::io_thread_t::io_thread_t(zmq::dispatcher_t*, int, int) (io_thread.cpp:36)
==13665==    by 0x4055F8F: zmq::dispatcher_t::dispatcher_t(int, int, int) (dispatcher.cpp:65)
==13665==    by 0x40726CE: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 60 bytes in 3 blocks are still reachable in loss record 16 of 31
==13665==    at 0x402353E: operator new(unsigned, std::nothrow_t const&) (vg_replace_malloc.c:244)
==13665==    by 0x4059572: zmq::epoll_t::add_fd(int, zmq::i_poll_events*) (epoll.cpp:58)
==13665==    by 0x405B7F3: zmq::io_thread_t::io_thread_t(zmq::dispatcher_t*, int, int) (io_thread.cpp:39)
==13665==    by 0x4055F8F: zmq::dispatcher_t::dispatcher_t(int, int, int) (dispatcher.cpp:65)
==13665==    by 0x40726CE: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 72 bytes in 1 blocks are still reachable in loss record 17 of 31
==13665==    at 0x402353E: operator new(unsigned, std::nothrow_t const&) (vg_replace_malloc.c:244)
==13665==    by 0x405ED98: zmq::pgm_receiver_t::in_event() (pgm_receiver.cpp:192)
==13665==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13665==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13665==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13665==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13665==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13665== 
==13665== 
==13665== 136 bytes in 1 blocks are still reachable in loss record 18 of 31
==13665==    at 0x402353E: operator new(unsigned, std::nothrow_t const&) (vg_replace_malloc.c:244)
==13665==    by 0x406C058: zmq::socket_base_t::connect(char const*) (socket_base.cpp:224)
==13665==    by 0x40723B3: zmq_connect (zmq.cpp:323)
==13665==    by 0x8049167: zmq::socket_t::connect(char const*) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048DE0: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 152 bytes in 1 blocks are possibly lost in loss record 19 of 31
==13665==    at 0x4021E22: calloc (vg_replace_malloc.c:397)
==13665==    by 0x4010C7B: _dl_allocate_tls (in /lib/ld-2.7.so)
==13665==    by 0x4405672: pthread_create@@GLIBC_2.1 (in /lib/i686/cmov/libpthread-2.7.so)
==13665==    by 0x406F3FE: zmq::thread_t::start(void (*)(void*), void*) (thread.cpp:66)
==13665==    by 0x40592ED: zmq::epoll_t::start() (epoll.cpp:143)
==13665==    by 0x405B53F: zmq::io_thread_t::start() (io_thread.cpp:51)
==13665==    by 0x40562E8: zmq::dispatcher_t::dispatcher_t(int, int, int) (dispatcher.cpp:84)
==13665==    by 0x40726CE: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 160 bytes in 1 blocks are still reachable in loss record 20 of 31
==13665==    at 0x402353E: operator new(unsigned, std::nothrow_t const&) (vg_replace_malloc.c:244)
==13665==    by 0x406C4DD: zmq::socket_base_t::connect(char const*) (socket_base.cpp:238)
==13665==    by 0x40723B3: zmq_connect (zmq.cpp:323)
==13665==    by 0x8049167: zmq::socket_t::connect(char const*) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048DE0: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 192 bytes in 1 blocks are still reachable in loss record 21 of 31
==13665==    at 0x402353E: operator new(unsigned, std::nothrow_t const&) (vg_replace_malloc.c:244)
==13665==    by 0x40726AD: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 224 bytes in 1 blocks are still reachable in loss record 22 of 31
==13665==    at 0x402353E: operator new(unsigned, std::nothrow_t const&) (vg_replace_malloc.c:244)
==13665==    by 0x406C65E: zmq::socket_base_t::connect(char const*) (socket_base.cpp:327)
==13665==    by 0x40723B3: zmq_connect (zmq.cpp:323)
==13665==    by 0x8049167: zmq::socket_t::connect(char const*) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048DE0: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 304 bytes in 1 blocks are still reachable in loss record 23 of 31
==13665==    at 0x402353E: operator new(unsigned, std::nothrow_t const&) (vg_replace_malloc.c:244)
==13665==    by 0x40554E0: zmq::app_thread_t::create_socket(int) (app_thread.cpp:162)
==13665==    by 0x40577C6: zmq::dispatcher_t::create_socket(int) (dispatcher.cpp:179)
==13665==    by 0x40724C3: zmq_socket (zmq.cpp:294)
==13665==    by 0x8049049: zmq::socket_t::socket_t(zmq::context_t&, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048DAA: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 400 bytes in 1 blocks are possibly lost in loss record 24 of 31
==13665==    at 0x4022E5E: operator new[](unsigned, std::nothrow_t const&) (vg_replace_malloc.c:288)
==13665==    by 0x40560D9: zmq::dispatcher_t::dispatcher_t(int, int, int) (dispatcher.cpp:79)
==13665==    by 0x40726CE: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 408 bytes in 1 blocks are still reachable in loss record 25 of 31
==13665==    at 0x4023D6E: malloc (vg_replace_malloc.c:207)
==13665==    by 0x4060E56: zmq::pgm_socket_t::init(bool, char const*) (pgm_socket.cpp:339)
==13665==    by 0x405E46E: zmq::pgm_receiver_t::init(bool, char const*) (pgm_receiver.cpp:55)
==13665==    by 0x406C692: zmq::socket_base_t::connect(char const*) (socket_base.cpp:330)
==13665==    by 0x40723B3: zmq_connect (zmq.cpp:323)
==13665==    by 0x8049167: zmq::socket_t::connect(char const*) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048DE0: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 720 bytes in 6 blocks are still reachable in loss record 26 of 31
==13665==    at 0x4023D6E: malloc (vg_replace_malloc.c:207)
==13665==    by 0x4071E12: zmq_msg_init_size (zmq.cpp:122)
==13665==    by 0x40735A6: zmq::zmq_decoder_t::one_byte_size_ready() (zmq_decoder.cpp:62)
==13665==    by 0x405EE51: zmq::pgm_receiver_t::in_event() (decoder.hpp:109)
==13665==    by 0x405995D: zmq::epoll_t::loop() (epoll.cpp:197)
==13665==    by 0x4059A4C: zmq::epoll_t::worker_routine(void*) (epoll.cpp:210)
==13665==    by 0x406F2A6: zmq::thread_t::thread_routine(void*) (thread.cpp:99)
==13665==    by 0x44064BF: start_thread (in /lib/i686/cmov/libpthread-2.7.so)
==13665==    by 0x42BD61D: clone (in /lib/i686/cmov/libc-2.7.so)
==13665== 
==13665== 
==13665== 936 bytes in 9 blocks are still reachable in loss record 27 of 31
==13665==    at 0x4023D6E: malloc (vg_replace_malloc.c:207)
==13665==    by 0x4056155: zmq::dispatcher_t::dispatcher_t(int, int, int) (yqueue.hpp:52)
==13665==    by 0x40726CE: zmq_init (zmq.cpp:272)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 2,048 bytes in 1 blocks are still reachable in loss record 28 of 31
==13665==    at 0x4023D6E: malloc (vg_replace_malloc.c:207)
==13665==    by 0x4023EEF: realloc (vg_replace_malloc.c:429)
==13665==    by 0x4387469: g_realloc (in /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x436AE08: g_quark_from_static_string (in /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x4079E8F: pgm_if_error_quark (if.c:1523)
==13665==    by 0x407A691: parse_interface (if.c:303)
==13665==    by 0x407AC4B: parse_interface_entity (if.c:835)
==13665==    by 0x407C01F: network_parse (if.c:1350)
==13665==    by 0x407C6A7: pgm_if_get_transport_info (if.c:1483)
==13665==    by 0x4060B39: zmq::pgm_socket_t::init(bool, char const*) (pgm_socket.cpp:114)
==13665==    by 0x405E46E: zmq::pgm_receiver_t::init(bool, char const*) (pgm_receiver.cpp:55)
==13665==    by 0x406C692: zmq::socket_base_t::connect(char const*) (socket_base.cpp:330)
==13665== 
==13665== 
==13665== 9,224 bytes in 1 blocks are still reachable in loss record 29 of 31
==13665==    at 0x4023D6E: malloc (vg_replace_malloc.c:207)
==13665==    by 0x4063667: zmq::pipe_t::pipe_t(zmq::object_t*, zmq::object_t*, unsigned long long, unsigned long long) (yqueue.hpp:52)
==13665==    by 0x406C519: zmq::socket_base_t::connect(char const*) (socket_base.cpp:238)
==13665==    by 0x40723B3: zmq_connect (zmq.cpp:323)
==13665==    by 0x8049167: zmq::socket_t::connect(char const*) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048DE0: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 14,192 bytes in 15 blocks are still reachable in loss record 30 of 31
==13665==    at 0x4021E22: calloc (vg_replace_malloc.c:397)
==13665==    by 0x438750B: g_malloc0 (in /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x43A84C3: g_thread_self (in /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x43A966E: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x433A5ED: g_thread_init (in /usr/lib/libgthread-2.0.so.0.1600.6)
==13665==    by 0x40941A3: pgm_init (pgm.c:73)
==13665==    by 0x40725C7: zmq_init (zmq.cpp:250)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== 
==13665== 14,256 bytes in 177 blocks are still reachable in loss record 31 of 31
==13665==    at 0x4023D6E: malloc (vg_replace_malloc.c:207)
==13665==    by 0x4387583: g_malloc (in /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x433A2FE: (within /usr/lib/libgthread-2.0.so.0.1600.6)
==13665==    by 0x43A9678: g_thread_init_glib (in /usr/lib/libglib-2.0.so.0.1600.6)
==13665==    by 0x433A5ED: g_thread_init (in /usr/lib/libgthread-2.0.so.0.1600.6)
==13665==    by 0x40941A3: pgm_init (pgm.c:73)
==13665==    by 0x40725C7: zmq_init (zmq.cpp:250)
==13665==    by 0x8048F2A: zmq::context_t::context_t(int, int, int) (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665==    by 0x8048D90: main (in /home/olivier/ZMQ/0mq_prgrm/Debug/segfault/sub)
==13665== 
==13665== LEAK SUMMARY:
==13665==    definitely lost: 0 bytes in 0 blocks.
==13665==      possibly lost: 552 bytes in 2 blocks.
==13665==    still reachable: 43,260 bytes in 234 blocks.
==13665==         suppressed: 0 bytes in 0 blocks.



More information about the zeromq-dev mailing list