Single onion got and accepted INTRODUCE2 with CC enabled while CC disabled
After running CI three times, we finally managed to tickle it. Right on the MR branch that previously passed. Twice.
Job #101376 failed for 01bda6c2:
From that traceback, it looks like the service got an introduce2 cell in hs_circ_handle_introduce2()
, and tried to launch a congestion control rend circuit. But since congestion control is disabled, we hit the assert in congestion_control_init_params()
(where cc->alg == CC_ALG_SENDME).
So like four things went wrong here:
- The service should not have listed support for CC in its descriptor, because CC is disabled in consensus.
- The client should never have sent this field, because CC is disabled in CI consensus.
- The service should not have accepted this cell, because CC is disabled in CI consensus.
- None of this should have happened randomly with small probability. It should be deterministic behavior. But it is not.
Yet here we are.
Cc: @dgoulet
Edited by Mike Perry