On Wed, Sep 14, 2016 at 04:33:41PM +0530, sahil aggarwal wrote: > Hi, > > Getting stuck in infinite loop after retry on evhttp_connection. After > attaching GDB this is what i found: > > ---------- > > #0 0x00007f9a8f5efdb9 in event_queue_remove (base=base@entry=0x24bf830, > ev=ev@entry=0x7f9a84006da0, queue=queue@entry=8) > at event.c:2495 > #1 0x00007f9a8f5f4040 in event_del_internal (ev=0x7f9a84006da0) at > event.c:2234 > #2 timeout_process (base=0x24bf830) at event.c:2481 > #3 event_base_loop (base=base@entry=0x24bf830, flags=flags@entry=0) at > event.c:1614 > > > --------- > > #0 event_active_nolock (ev=<optimized out>, res=<optimized out>, > ncalls=<optimized out>) at event.c:2315 > #1 0x00007f9a8f5f3f76 in timeout_process (base=0x24bf830) at event.c:2485 > #2 event_base_loop (base=base@entry=0x24bf830, flags=flags@entry=0) at > event.c:1614 > > > So the event is getting removed and queued in active queue. And event given > by > > ev = min_heap_top(&base->timeheap) > > doesn't have EV_TIMEOUT flag set due which it won't remove from the > min_heap and it always get the same event on the top hence the infinite > loop. > > * event_base not being shared across multiple threads. > > * How 1 have event in min_heap without EV_TIMEOUT flag set and > e->ev_timeout_pos.min_heap_idx = -1 as on adding we always set the flag ?
Hi, Does it triggers every time? If so can you please try libevent from sources (https://github.com/libevent/libevent)? And does you program single-threaded or multi? Also if you have a reproducer (~100 lines) it will be useful to see it. Thanks, Azat. *********************************************************************** To unsubscribe, send an e-mail to majord...@freehaven.net with unsubscribe libevent-users in the body.