Bug#930441: perl: dist/threads-shared/t/waithires.t fails with faketime

Niko Tyni ntyni at debian.org
Wed Jun 12 20:17:26 BST 2019


Package: perl
Version: 5.28.1-6

Since enabling the reprotest pipeline on salsa.d.o, we're seeing
persistent test failures on that:

dist/threads-shared/t/waithires ................................ FAILED at test 7

This seems to be due to faketime(1). On current sid / amd64 (perl 5.28.1-6):

   % PERL_CORE=1 faketime yesterday perl t/waithires.t
   1..63
   ok 1 - Loaded
   ok 2 - Shared synchronization tests preparation
   ok 3 - cond_timedwait [simple]: obtained initial lock
   ok 4 - cond_timedwait [simple]: child before lock
   ok 5 - cond_timedwait [simple]: child obtained lock
   ok 6 - cond_timedwait [simple]: child signalled condition
   not ok 7 - test_type: child exceeded time
   # Failed test at line 181
   # child time = 6.81877136230469e-05
   not ok 8 - test_type: parent exceeded time
   # Failed test at line 183
   # parent time = 1.50203704833984e-05

[...]

The faketime '-m' (multi-threading) option makes test 7 just
time out for me.

This is not particularly surprising; faketime is known to
cause such issues. See for instance

 https://alioth-lists.debian.net/pipermail/reproducible-builds/Week-of-Mon-20140922/000464.html

I expect the best "fix" for this is to disable faketime usage in the
reprotest pipeline, if possible.
-- 
Niko Tyni   ntyni at debian.org




More information about the Perl-maintainers mailing list