[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-bugs] #27808 [Core Tor/Tor]: tor 0.3.5.early-alpha: Raw assertion failed at smartlist_core.c::191191 : idx>=0



#27808: tor 0.3.5.early-alpha: Raw assertion failed at smartlist_core.c::191191 :
idx>=0
---------------------------------+------------------------------------
 Reporter:  jchevali             |          Owner:  rl1987
     Type:  defect               |         Status:  accepted
 Priority:  High                 |      Milestone:  Tor: 0.3.5.x-final
Component:  Core Tor/Tor         |        Version:  Tor: 0.3.5.1-alpha
 Severity:  Normal               |     Resolution:
 Keywords:  regression 035-must  |  Actual Points:
Parent ID:                       |         Points:
 Reviewer:                       |        Sponsor:
---------------------------------+------------------------------------

Comment (by rl1987):

 It explodes when `retry_all_listeners` calls `smartlist_del`:
 {{{
 2900     tor_free(r);
 2901     SMARTLIST_DEL_CURRENT(replacements, r);
 2902   } SMARTLIST_FOREACH_END(r);
 }}}

 I suppose we could remove the above two statements from the loop, as
 `replacements` are cleaned up further in the function:
 {{{
 2915   /* Cleanup any remaining listener replacement. */
 2916   SMARTLIST_FOREACH(replacements, listener_replacement_t *, r,
 tor_free(r));
 2917   smartlist_free(replacements);
 }}}

 However, I suspect multithreading issue here - from the stack trace it
 seems that `retry_all_listeners` is called multiple times, before the
 first invocation was able to finish.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/27808#comment:6>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs