Opened 7 years ago

Closed 3 years ago

#7261 closed defect (not a bug)

Tor fails to create new controller circuits

Reported by: neena Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-client
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Tor fails to create new controller circuits when the path isn't specified.

extendcircuit 0 purpose=general
250 EXTENDED 8
extendcircuit 0 purpose=controller
551 Couldn't start circuit

and logs...

Oct 30 14:43:25.000 [warn] circuit_launch_by_extend_info(): Bug: unexpected purpose 19 when cannibalizing a circ.

Child Tickets

Change History (6)

comment:1 Changed 7 years ago by arma

Milestone: Tor: 0.2.4.x-final

The "Bug: " part of this is indeed a bug -- circuit_launch_by_extend_info() gets asked for a CIRCUIT_PURPOSE_CONTROLLER circuit, asks circuit_find_to_cannibalize() if there's a general-purpose circuit it can use, the answer is yes, but then the switch() in circuit_launch_by_extend_info() is surprised to hear that we're wanting CIRCUIT_PURPOSE_CONTROLLER.

Option one is to fix the switch() to add another case at the top for controller circs, and just return them as-is. Fine with me I guess. I'm not really sure what the poster here *expected* to have happen.

Option two is to not call circuit_find_to_cannibalize() for purpose CIRCUIT_PURPOSE_CONTROLLER -- like how we don't call it for CIRCUIT_PURPOSE_TESTING currently. That way we're forced to build a new one when asked. Maybe that's more like what the poster here expected.

What's the use case?

comment:2 Changed 7 years ago by nickm

Keywords: tor-client added

comment:3 in reply to:  1 Changed 7 years ago by nickm

Replying to arma:

What's the use case?

I second this question. Without a good answer here, I think the right fix for this ticket is "Don't allow extendcircuit 0 with no path."

comment:4 in reply to:  1 Changed 7 years ago by neena

Replying to arma:

What's the use case?

I don't know.

I'm still not fully sure how controller circuits differ from regular ones. I came across this while attempting to build one when I was writing tests for the Stem circuit creation methods.

comment:5 Changed 7 years ago by nickm

Milestone: Tor: 0.2.4.x-finalTor: unspecified

comment:6 Changed 3 years ago by nickm

Resolution: not a bug
Severity: Normal
Status: newclosed
Note: See TracTickets for help on using tickets.