[tor-bugs] #25450 [Core Tor/Tor]: Intermittent test failures for hs_service/service_intro_point

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Mar 8 00:40:16 UTC 2018


#25450: Intermittent test failures for hs_service/service_intro_point
-------------------------------------------------+-------------------------
 Reporter:  isis                                 |          Owner:  isis
     Type:  defect                               |         Status:
                                                 |  merge_ready
 Priority:  Very High                            |      Milestone:  Tor:
                                                 |  0.3.3.x-final
Component:  Core Tor/Tor                         |        Version:  Tor:
                                                 |  0.3.1.3-alpha
 Severity:  Minor                                |     Resolution:
 Keywords:  tor-unittests review-group-35        |  Actual Points:
  031-backport 032-backport                      |
Parent ID:                                       |         Points:  .5
 Reviewer:                                       |        Sponsor:
                                                 |  Sponsor8-can
-------------------------------------------------+-------------------------

Comment (by isis):

 Replying to [comment:2 teor]:
 > Looks trivial, and correct.
 >
 > If we still want the 0.3.1 and 0.3.2 unit tests to work reliably, we
 should backport this fix.

 Actually wait, it's incorrect. The test fails more now. (See the TravisCI
 results [https://travis-ci.org/isislovecruft/tor/jobs/350596375#L3083
 here].)

 This was because this test was testing that the IP was created, and its
 expiration time was set to a time greater than or equal to `now +
 INTRO_POINT_LIFETIME_MIN_SECONDS + 5` (original code):

 {{{
     /* Time to expire MUST also be in that range. We add 5 seconds because
      * there could be a gap between setting now and the time taken in
      * service_intro_point_new. On ARM, it can be surprisingly slow... */
     tt_u64_op(ip->time_to_expire, OP_GE,
               now + INTRO_POINT_LIFETIME_MIN_SECONDS + 5);
 }}}

 However, this appears to be a typo, since, according to the comment above
 it, adding five seconds was done because the IP creation can be slow on
 some systems.  But the five seconds is added to the ''minimum'' time we're
 comparing against, and so it actually functions to make this test ''more''
 likely to fail on slower systems.  (It should either subtract five
 seconds, or instead add it to `ip->time_to_expire`.)

 I've fixed up my commit so that it now ''subtracts'' 500 seconds instead
 of adding, and now [https://travis-
 ci.org/isislovecruft/tor/builds/350608392 it passes].

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


More information about the tor-bugs mailing list