[tor-bugs] #19551 [Core Tor/Tor]: Edge case test fail in shared random code

Tor Bug Tracker & Wiki blackhole at torproject.org
Sat Jul 2 09:28:25 UTC 2016


#19551: Edge case test fail in shared random code
------------------------------+--------------------------------
     Reporter:  asn           |      Owner:
         Type:  defect        |     Status:  new
     Priority:  Medium        |  Milestone:  Tor: 0.2.9.x-final
    Component:  Core Tor/Tor  |    Version:
     Severity:  Normal        |   Keywords:
Actual Points:                |  Parent ID:
       Points:  0.2           |   Reviewer:
      Sponsor:                |
------------------------------+--------------------------------
 The test_state_update() test would fail if you run it between 23:30 and
 00:00UTC in the following way:

 {{{
   FAIL src/test/test_shared_random.c:1230: assert(state->n_protocol_runs
 == 1): 2 vs 1
   [state_update FAILED]
 1/1 TESTS FAILED. (0 skipped)
 }}}

 The problem is that when you launch the test at 23:30UTC (reveal phase),
 sr_state_update() gets called from sr_state_init() and it will prepare
 the state for the voting round at 00:00UTC (commit phase). Since we
 transition from reveal to commit phase, this would trigger an unwanted
 phase
 transition and increment the n_protocol_runs counter even before the
 actual test starts.

 The solution is to initialize the n_protocol_runs to 0 explicitly in the
 beginning of the test, as we do for n_reveal_rounds, n_commit_rounds etc.

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


More information about the tor-bugs mailing list