[tor-bugs] #30578 [Core Tor/Tor]: The circuitpadding_circuitsetup_machine test: Re-enable, remove, re-document, or ___?

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Jun 26 07:00:56 UTC 2019


#30578: The circuitpadding_circuitsetup_machine test: Re-enable, remove, re-
document, or ___?
-------------------------------------------------+-------------------------
 Reporter:  nickm                                |          Owner:  asn
     Type:  defect                               |         Status:
                                                 |  needs_revision
 Priority:  Medium                               |      Milestone:  Tor:
                                                 |  0.4.1.x-final
Component:  Core Tor/Tor                         |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  circuitpadding, 041-should,          |  Actual Points:
  hopefully-easy, wtf-pad                        |
Parent ID:                                       |         Points:
 Reviewer:  asn                                  |        Sponsor:
                                                 |  Sponsor2
-------------------------------------------------+-------------------------
Changes (by asn):

 * status:  needs_review => needs_revision


Comment:

 Much better but still not perfect :(

 Running it like this:

 `$ while ./src/test/test --debug
 circuitpadding/circuitpadding_circuitsetup_machine ; do :; done`

 still fails after a few seconds with:

 {{{
 Jun 26 09:57:44.066 [info] circpad_send_padding_cell_for_callback():
 Callback: Sending padding to circuit (1) [length: 18446744073709551615]
 Jun 26 09:57:44.066 [debug] relay_send_command_from_edge___real():
 delivering 10 cell backward.
 Jun 26 09:57:44.066 [info] circpad_machine_spec_transition__real():
 Circpad machine 0 transitioning from 1 to 1
 Jun 26 09:57:44.066 [info] circpad_machine_schedule_padding__real():
 Padding in 540 usec
 Jun 26 09:57:44.066 [info] circpad_machine_schedule_padding__real():
 Padding in 0 sec, 540 usec
 Jun 26 09:57:44.066 [info] circpad_deliver_recognized_relay_cell_events():
 Got padding cell on origin circuit 1.
 Jun 26 09:57:44.066 [debug] relay_send_command_from_edge___real():
 delivering 10 cell forward.
 Jun 26 09:57:44.066 [debug] relay_send_command_from_edge___real(): Sending
 a RELAY_EARLY cell; 4 remaining.
 Jun 26 09:57:44.066 [info] circpad_machine_spec_transition__real():
 Circpad machine 0 transitioning from 2 to 2
 Jun 26 09:57:44.066 [info] circpad_machine_schedule_padding__real():
 Padding in 4154 usec
 Jun 26 09:57:44.066 [info] circpad_machine_schedule_padding__real():
 Padding in 0 sec, 4154 usec
 Jun 26 09:57:44.066 [info] circpad_deliver_recognized_relay_cell_events():
 Got padding cell on non-origin circuit 0.
 Jun 26 09:57:44.066 [info] circpad_send_padding_cell_for_callback():
 Callback: Sending padding to origin circuit 1 (5) [length:
 18446744073709551615]
 FAIL src/test/test_circuitpadding.c:2322: assert(n_client_cells OP_EQ 2):
 3 vs 2`
 }}}

 I'd be more comfortable if we don't rely on machine timing for this test
 given that this can vary wildly and is unpredictable in CI, etc.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/30578#comment:10>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list