[tor-bugs] #8065 [Tor]: Bug: src/or/connection_edge.c:649: connection_ap_expire_beginning: Assertion circ->purpose == CIRCUIT_PURPOSE_C_GENERAL failed

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Feb 14 00:46:31 UTC 2013


#8065: Bug: src/or/connection_edge.c:649: connection_ap_expire_beginning:
Assertion circ->purpose == CIRCUIT_PURPOSE_C_GENERAL failed
-------------------------+--------------------------------------------------
 Reporter:  cypherpunks  |          Owner:                    
     Type:  defect       |         Status:  new               
 Priority:  major        |      Milestone:  Tor: 0.2.4.x-final
Component:  Tor          |        Version:  Tor: 0.2.4.9-alpha
 Keywords:  tor-client   |         Parent:                    
   Points:               |   Actualpoints:                    
-------------------------+--------------------------------------------------

Comment(by mikeperry):

 Ok. In your case, the assert no longer happens because in 0.2.4.10-alpha
 we fixed the preceeding NULL by not sending path bias probes on
 NULL/closed channels, which is what you're inducing by changing gateways.

 I am wondering if there are other cases where we could hit this assert,
 though. Basically any time a stream attempt is made to a slow/unresponsive
 host where we then give up on the circuit and try to close it (or time it
 out) before detaching the stream, we could hit this.

 To be safe, we might want to expand this assert to allow
 CIRCUIT_PURPOSE_PATH_BIAS_TESTING as well as
 CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT? I could imagine cases where circuits in
 both purposes might end up down this codepath. I'm surprised we haven't
 seen it before for CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT circs, actually.

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


More information about the tor-bugs mailing list