Make bridges wait until they have bootstrapped, before publishing their descriptor
Instead of this fix, we can make chutney check tor's logs for reachability self-test successes (#34037 (moved)), or implement strict self-tests (#33222 (moved)).
On bridges, there's a race condition when bridges try to publish their descriptor to the bridge authority:
- bridges try to publish their descriptors before bootstrapping
- but bridges can't publish their descriptors, because they don't have enough directory info to build a circuit to the bridge authority
Bridges will eventually try to publish their descriptors again, when they become dirty.
We should make bridges wait until they have bootstrapped, before they try to publish their descriptors. (This might be a good change for relays as well: there isn't much point in publishing a relay that can't bootstrap.)
This issue happens regardless of AssumeReachable
. It is most obvious in chutney networks.
This ticket isn't essential. But the workarounds seem to cause weird race conditions, which are time-consuming to diagnose and fix.