[zeromq-dev] [PATCH] [Issue 97] Fix assertion in PGM transports on cancel_timer

Martin Sustrik sustrik at 250bpm.com
Mon Oct 11 17:20:28 CEST 2010


Hi Steven,

Just to double check: There's a 0001 patch in this thread and 0003 
patch. Should I apply these two? No 0002 patch?

Thanks.
Martin

On 10/10/2010 09:51 AM, Steven McCoy wrote:
> I just noticed the mistake in the code, brain fart, I'm falling through
> on timer events.
>
> --
> Steve-o
>
> On 10 October 2010 01:39, Martin Sustrik <sustrik at moloch.sk
> <mailto:sustrik at moloch.sk>> wrote:
>
>     Steven,
>
>     Any idea what's the problem there? Should I delay applying the patch?
>
>     Thanks.
>     Martin
>
>     On 10/08/2010 04:34 PM, ntupel at googlemail.com
>     <mailto:ntupel at googlemail.com> wrote:
>      > On Fri, Oct 8, 2010 at 4:02 PM, Steven McCoy<steven.mccoy at miru.hk
>     <mailto:steven.mccoy at miru.hk>>  wrote:
>      >
>      >> Still not overly ideal for performance, a fired timer will
>     re-add itself in
>      >> the callback and then destroy itself in poller_base.
>      >> Fixes early firing timers not re-firing.
>      >>
>      > This seems to trigger an assertion failure in sender on higher rate
>      > values (e.g. 2048)
>      >
>      > ...
>      > Trace: Failed to push retransmit request for #518
>      > Trace: Failed to push retransmit request for #519
>      > Trace: Failed to push retransmit request for #520
>      > Trace: Failed to push retransmit request for #521
>      > Trace: Failed to push retransmit request for #522
>      > Trace: Failed to push retransmit request for #523
>      > Trace: Recv again on not-full
>      > Trace: Failed to push retransmit request for #483
>      > Trace: Recv again on not-full
>      > Assertion failed: token == tx_timer_id (pgm_sender.cpp:197)
>      > Aborted
>      >
>      > Stack trace:
>      >
>      > #0  0x00007ffff6a61565 in raise () from /lib/libc.so.6
>      > #1  0x00007ffff6a629e6 in abort () from /lib/libc.so.6
>      > #2  0x00007ffff7b80ed3 in zmq::pgm_sender_t::timer_event (this=<value
>      > optimized out>, token=<value optimized out>) at pgm_sender.cpp:197
>      > #3  0x00007ffff7b852b1 in zmq::poller_base_t::execute_timers
>      > (this=0x602180) at poller_base.cpp:88
>      > #4  0x00007ffff7b7b588 in zmq::epoll_t::loop (this=0x602180) at
>     epoll.cpp:137
>      > #5  0x00007ffff7b8cc57 in zmq::thread_t::thread_routine
>      > (arg_=0x6021e8) at thread.cpp:79
>      > #6  0x00007ffff7533cb0 in start_thread () from /lib/libpthread.so.0
>      > #7  0x00007ffff6afd7ad in clone () from /lib/libc.so.6
>      > #8  0x0000000000000000 in ?? ()
>      >
>      > NB: The receiver gave me once on exiting:
>      >
>      > pure virtual method called
>      > terminate called without an active exception
>      > Aborted
>      >
>      > However I could not reproduce this so far.
>      >
>      > Thanks,
>      > nt
>      > _______________________________________________
>      > zeromq-dev mailing list
>      > zeromq-dev at lists.zeromq.org <mailto:zeromq-dev at lists.zeromq.org>
>      > http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>      >
>
>     _______________________________________________
>     zeromq-dev mailing list
>     zeromq-dev at lists.zeromq.org <mailto:zeromq-dev at lists.zeromq.org>
>     http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev




More information about the zeromq-dev mailing list