[tor-bugs] #23603 [Core Tor/Tor]: hs: Cleanup race between circuit close and free with the HS circuitmap

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Dec 4 14:30:29 UTC 2017


#23603: hs: Cleanup race between circuit close and free with the HS circuitmap
--------------------------+------------------------------------
 Reporter:  dgoulet       |          Owner:  dgoulet
     Type:  defect        |         Status:  accepted
 Priority:  High          |      Milestone:  Tor: 0.3.2.x-final
Component:  Core Tor/Tor  |        Version:
 Severity:  Normal        |     Resolution:
 Keywords:  tor-hs        |  Actual Points:
Parent ID:                |         Points:
 Reviewer:                |        Sponsor:
--------------------------+------------------------------------
Changes (by dgoulet):

 * status:  assigned => accepted
 * owner:  asn => dgoulet
 * milestone:  Tor: 0.3.3.x-final => Tor: 0.3.2.x-final


Comment:

 I hit last week #24346 and turns out *this* ticket is the cause.

 In a nutshell:

 1. close(intro_circ)
 2. Launch again to intro (retry)
 3. Register intro circuit that just opened (FAIL because intro_circ is
 still in circuitmap)
 4. free(intro_circ) leading to a removal from the circuitmap.

 And there you have it, this new intro fully established circuit can't be
 found by the service so the #24346 is stuck with:

 {{{
 Dec 02 15:58:47.000 [info] should_service_upload_descriptor(): Service
 ONION can't upload its next descriptor. Intro circuits aren't yet all
 established (2/3). [59 similar message(s) suppressed in last 60 seconds]
 }}}

 Only 2 of them are registered in the circuitmap and the third one is no
 where to be found.

 Turning this one high prio and back in 032 because it can basically
 disable a service until the next SRV value which can be up to 24h.

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


More information about the tor-bugs mailing list