[tor-bugs] #23693 [Core Tor/Tor]: 0.3.1.7: Assertion threadpool failed in cpuworker_queue_work

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Oct 2 15:06:53 UTC 2017


#23693: 0.3.1.7: Assertion threadpool failed in cpuworker_queue_work
--------------------------+------------------------------------
 Reporter:  alif          |          Owner:  (none)
     Type:  defect        |         Status:  new
 Priority:  Medium        |      Milestone:  Tor: 0.3.2.x-final
Component:  Core Tor/Tor  |        Version:  Tor: 0.3.1.7
 Severity:  Normal        |     Resolution:
 Keywords:                |  Actual Points:
Parent ID:                |         Points:
 Reviewer:                |        Sponsor:
--------------------------+------------------------------------

Comment (by nickm):

 alif, if you could answer any of the questions above, that would help us
 diagnose and fix this bug.  I have some guesses below, but they're just
 guesses.

 Some ideas, based on looking at the code:  There are two ways I think this
 could happen: if we reach cpuworker_queue_work() without having called
 cpu_init(), or if we somehow fail to create a threadpool in cpu_init()
 when we do call it. But I don't think it can be the second case, since
 that would have created a nonfatal assertion from threadpool_new().

 We call cpu_init() in two cases: when our settings change, the transition
 affects workers, and we have become a server; or when we start as a server
 in main.c.

 I think that the check in the first cpu_init() case might be wrong: if we
 start as a client, and then transition to a bridge (not a public server),
 I don't think we will trigger options_transition_affects_workers().

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/23693#comment:6>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list