[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