[zeromq-dev] pure virtual method called

ntupel at googlemail.com ntupel at googlemail.com
Thu Oct 14 12:16:07 CEST 2010


Hi all,

In my multicast tests using the included local_thr and remote_thr
programs from HEAD version I get the following error in local_thr
running on CentOS release 5.5 compiled with gcc (GCC) 4.1.2 20080704
(Red Hat 4.1.2-48):

pure virtual method called
terminate called without an active exception


Here is some more information from GDB:


(gdb) run epgm://eth0\;231.192.0.1:9999 255 10000
Starting program: /tmp/zeromq2/perf/.libs/lt-local_thr
epgm://eth0\;231.192.0.1:9999 255 10000
[Thread debugging using libthread_db enabled]
[New Thread 0x40a00940 (LWP 31619)]
message size: 255 [B]
message count: 10000
mean throughput: 3197 [msg/s]
mean throughput: 6.522 [Mb/s]
pure virtual method called
terminate called without an active exception

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x40a00940 (LWP 31619)]
0x00002aaaabd46265 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00002aaaabd46265 in raise () from /lib64/libc.so.6
#1  0x00002aaaabd47d10 in abort () from /lib64/libc.so.6
#2  0x00002aaaab642cb4 in __gnu_cxx::__verbose_terminate_handler() ()
from /usr/lib64/libstdc++.so.6
#3  0x00002aaaab640db6 in ?? () from /usr/lib64/libstdc++.so.6
#4  0x00002aaaab640de3 in std::terminate() () from /usr/lib64/libstdc++.so.6
#5  0x00002aaaab6412ef in __cxa_pure_virtual () from /usr/lib64/libstdc++.so.6
#6  0x00002aaaaacf6cb3 in zmq::poller_base_t::execute_timers
(this=0x602190) at poller_base.cpp:88
#7  0x00002aaaaaceaedb in zmq::epoll_t::loop (this=0x602190) at epoll.cpp:137
#8  0x00002aaaaad003d7 in zmq::thread_t::thread_routine
(arg_=0x6021f8) at thread.cpp:79
#9  0x00002aaaab36f73d in start_thread () from /lib64/libpthread.so.0
#10 0x00002aaaabde9d1d in clone () from /lib64/libc.so.6
(gdb) f 6
#6  0x00002aaaaacf6cb3 in zmq::poller_base_t::execute_timers
(this=0x602190) at poller_base.cpp:88
88	        it->second.sink->timer_event (it->second.id);


I changed local_thr to use a higher rate (8000) and set MCAST_LOOP to
0. With gcc (GCC) 4.5.1 on Arch Linux running local_thr and remote_thr
on the same machine the error does not occur.

Thanks,
nt



More information about the zeromq-dev mailing list