Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #9880

Closed (moved)
(moved)
Open
Created Oct 03, 2013 by Nick Mathewson@nickm🍬

Possible race closing bad_for_new_circs channels, others

Skruffy on IRC reports this bug.

Suppose that we have a channel to a router that we don't want to use for new circuits, and we're opening a new channel, and we have some pending circuits.

When we call channel_closed() on the first channel (which should have bad_for_new_circs set on it), it will call circuit_n_chan_done(chan, 0), which will kill all the circuits pending on the second channel.

One option here is to call circuit_n_chan_done(chan, 0) only if the channel was not open.

Another (possibly) is to change circuit_get_all_pending_on_channel so that no circuit can be pending on a bad_for_new_circs channel.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking