"No circuits are opened" on controllers that DisablePredictedCircuits and build 2-hop circuits
DisablePredictedCircuits 0 after bootstrap, then builds 2-hop circuits using a controller. After a few days, once all the 3-hop circuits time out, sbws stalls (#28639 (moved)).
We can fix this issue by considering all controller circuits to be opened circuits, regardless of length. The relevant code is in circuit_any_opened_circuits().
On most clients, Tor's predicted circuits code keeps opening enough circuits to avoid a stall.