[zeromq-dev] OpenPGM & segfault - assertion failed
Olivier
olivier.chamoux at fr.thalesgroup.com
Tue May 11 10:19:32 CEST 2010
Le lundi 10 mai 2010 à 17:28 +0200, Martin Lucina a écrit :
> If you want to be adventurous and try the latest Git version, this has now
> been updated to OpenPGM 2.1.26 which should solve the problems you are
> seeing.
>
> Let us know how you get on.
>
> Cheers,
>
> -mato
Hi everybody,
with this new version i still have segfaults :(
(with the same code).
I get them more or less like that :
1 => start subscriber on master.
2 => start a sender on node.
3 => subscriber block few moment after, and doesn't receive messages
anymore (whereas the network interface is still receiving) .
4 => start a second sender on the same node => subscriber unblock for a
little moment and then re-block.
5 => (re)start a sender.
6 => subscriber crash.
Perhaps this blocking state in subscriber's side is the root of the
problem ?
Whatever the number of messages i send (1000 / 5000 / 10 000), the
subscriber will block in any case, and this relatively quickly (less
than one minute).
Below a list of frequent crash that i've obtained, and in attachment a
valgrind report with :
sudo G_DEBUG=gc-friendly G_SLICE=always-malloc valgrind
--leak-check=full --show-reachable=yes ./sub
Olivier.
########################################################################
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7b69b90 (LWP 13218)]
0xb7f2035e in zmq::pgm_receiver_t::in_event (this=0x8a925c0) at
pgm_receiver.cpp:213
213 inout->flush ();
Current language: auto; currently c++
(gdb) bt
#0 0xb7f2035e in zmq::pgm_receiver_t::in_event (this=0x8a925c0) at
pgm_receiver.cpp:213
#1 0xb7f1b55e in zmq::epoll_t::loop (this=0x8a8eeb8) at epoll.cpp:197
#2 0xb7f1b64d in zmq::epoll_t::worker_routine (arg_=0x8a8eeb8) at
epoll.cpp:210
#3 0xb7f30cd7 in zmq::thread_t::thread_routine (arg_=0x8a8eed8) at
thread.cpp:99
#4 0xb7ba74c0 in start_thread () from /lib/i686/cmov/libpthread.so.0
#5 0xb7d6261e in clone () from /lib/i686/cmov/libc.so.6
########################################################################
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7b78b90 (LWP 13220)]
0xb7d08caa in memcpy () from /lib/i686/cmov/libc.so.6
(gdb) bt
#0 0xb7d08caa in memcpy () from /lib/i686/cmov/libc.so.6
#1 0xb7f2f2e1 in zmq::pgm_receiver_t::in_event (this=0x81b25c0) at
decoder.hpp:118
#2 0xb7f2a55e in zmq::epoll_t::loop (this=0x81aeeb8) at epoll.cpp:197
#3 0xb7f2a64d in zmq::epoll_t::worker_routine (arg_=0x81aeeb8) at
epoll.cpp:210
#4 0xb7f3fcd7 in zmq::thread_t::thread_routine (arg_=0x81aeed8) at
thread.cpp:99
#5 0xb7bb64c0 in start_thread () from /lib/i686/cmov/libpthread.so.0
#6 0xb7d7161e in clone () from /lib/i686/cmov/libc.so.6
########################################################################
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7ac6b90 (LWP 13224)]
pgm_flush_peers_pending (transport=0x853e558, pmsg=0xb7ac5588,
msg_end=0x853e124,
bytes_read=0xb7ac5590, data_read=0xb7ac558c)
at ../foreign/openpgm/libpgm-2.1.26/openpgm/pgm/receiver.c:646
646 if (peer->last_commit && peer->last_commit <
transport->last_commit)
Current language: auto; currently c
(gdb) bt
#0 pgm_flush_peers_pending (transport=0x853e558, pmsg=0xb7ac5588,
msg_end=0x853e124,
bytes_read=0xb7ac5590, data_read=0xb7ac558c)
at ../foreign/openpgm/libpgm-2.1.26/openpgm/pgm/receiver.c:646
#1 0xb7eb2413 in pgm_recvmsgv (transport=0x853e558,
msg_start=0x853dfd0, msg_len=6, flags=64,
_bytes_read=0x853d638, error=0xb7ac55d8)
at ../foreign/openpgm/libpgm-2.1.26/openpgm/pgm/recv.c:751
#2 0xb7e7ea4c in zmq::pgm_socket_t::receive (this=0x853d5e4,
raw_data_=0xb7ac5674,
tsi_=0xb7ac5670) at pgm_socket.cpp:459
#3 0xb7e7d0d9 in zmq::pgm_receiver_t::in_event (this=0x853d5c0) at
pgm_receiver.cpp:137
#4 0xb7e7855e in zmq::epoll_t::loop (this=0x8539eb8) at epoll.cpp:197
#5 0xb7e7864d in zmq::epoll_t::worker_routine (arg_=0x8539eb8) at
epoll.cpp:210
#6 0xb7e8dcd7 in zmq::thread_t::thread_routine (arg_=0x8539ed8) at
thread.cpp:99
#7 0xb7b044c0 in start_thread () from /lib/i686/cmov/libpthread.so.0
#8 0xb7cbf61e in clone () from /lib/i686/cmov/libc.so.6
########################################################################
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7b3a6f0 (LWP 13227)]
zmq_msg_size (msg_=0xbfb71b7c) at zmq.cpp:226
226 return ((zmq::msg_content_t*) msg_->content)->size;
(gdb) bt
#0 zmq_msg_size (msg_=0xbfb71b7c) at zmq.cpp:226
#1 0xb7ef3345 in zmq::sub_t::match (this=0x9fb0e90, msg_=0xbfb71b7c) at
sub.cpp:190
#2 0xb7ef3634 in zmq::sub_t::xrecv (this=0x9fb0e90, msg_=0xbfb71b7c,
flags_=0) at sub.cpp:128
#3 0xb7ef003d in zmq::socket_base_t::recv (this=0x9fb0e90,
msg_=0xbfb71b7c,
flags_=<value optimized out>) at socket_base.cpp:443
#4 0xb7ef88cb in zmq_recv (s_=0x9fb0e90, msg_=0xbfb71b7c, flags_=0) at
zmq.cpp:330
#5 0x08049277 in zmq::socket_t::recv ()
#6 0x08048e0d in main ()
########################################################################
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LogFail_PGM_2.1.26.txt.tar.gz
Type: application/x-compressed-tar
Size: 2481 bytes
Desc: not available
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20100511/5b0eb1ae/attachment.bin>
More information about the zeromq-dev
mailing list