Dne St 01.čec.2020 07:09:03, ppisar napsal(a):
Show quoted text> t/closure.t randomly fails for me like this:
>
> # Failed test 1 in t/closure.t at line 44
> # Failed test 2 in t/closure.t at line 56
> t/closure.t ....................
> 1..6
> # Running under perl version 5.032000 for linux
> # Current time local: Wed Jul 1 10:22:41 2020
> # Current time GMT: Wed Jul 1 10:22:41 2020
> # Using Test.pm version 1.31
> # Using Apache/Test.pm version 1.42
> # testing : never the closure problem
> # expected: 0
> # received: ''
> not ok 1
> # testing : never the closure problem
> # expected: 1
> # received: ''
> not ok 2
> # testing : the closure problem should exist
> # expected: 1
> # received: 1
> ok 3
> # testing : no closure on the first request
> # expected: 1
> # received: '1'
> ok 4
> # testing : the closure problem should exist
> # expected: 1
> # received: 1
> ok 5
> # testing : no reload on modification, the closure problem persists
> # expected: 1
> # received: 1
> ok 6
> Failed 2/6 subtests
>
> I'm unable to determine when the failure started to manifest. I
> observe it with Perl 5.32.0, 5.30.0, and httpd 2.4. I believe it
> started when Fedora distribution rebuilt all packages with GCC 10.
> Probably a new compiler version triggered a bug in mod_perl or httpd
> or glibc. I'm not sure if it is relevant as the tests execute it's own
> httpd, but Fedora delivers httpd preconfigured with mpm_event_module.
>
> It looks like same_interp_req_body() sometimes returns an empty
> string.
There is another test, t/special_blocks.t, that suffers from the same issue:
# Failed test 2 in t/special_blocks.t at line 48
# Failed test 3 in t/special_blocks.t at line 58
# Failed test 4 in t/special_blocks.t at line 68
t/special_blocks.t .............
1..12
# Running under perl version 5.032000 for linux
# Current time local: Wed Jul 1 10:22:48 2020
# Current time GMT: Wed Jul 1 10:22:48 2020
# Using Test.pm version 1.31
# Using Apache/Test.pm version 1.42
# testing : ModPerl::PerlRun is running BEGIN blocks on the first request
# expected: 'begin ok'
# received: 'begin ok'
ok 1
# testing : ModPerl::PerlRun is running BEGIN blocks on the second request
# expected: 'begin ok'
# received: ''
not ok 2
# testing : ModPerl::PerlRun is running END blocks on the third request
# expected: 'end ok'
# received: ''
not ok 3
# testing : ModPerl::PerlRun is running END blocks on the fourth request
# expected: 'end ok'
# received: ''
not ok 4
# testing : ModPerl::Registry is running BEGIN blocks on the first request
# expected: 'begin ok'
# received: 'begin ok'
ok 5
# testing : ModPerl::Registry is not running BEGIN blocks on the second request
# expected: ''
# received: ''
ok 6
# testing : ModPerl::Registry is running END blocks on the first request
# expected: 'end ok'
# received: 'end ok'
ok 7
# testing : ModPerl::Registry is running END blocks on the second request
# expected: 'end ok'
# received: 'end ok'
ok 8
# testing : ModPerl::RegistryBB is running BEGIN blocks on the first request
# expected: 'begin ok'
# received: 'begin ok'
ok 9
# testing : ModPerl::RegistryBB is not running BEGIN blocks on the second request
# expected: ''
# received: ''
ok 10
# testing : ModPerl::RegistryBB is running END blocks on the first request
# expected: 'end ok'
# received: 'end ok'
ok 11
# testing : ModPerl::RegistryBB is running END blocks on the second request
# expected: 'end ok'
# received: 'end ok'
ok 12
Failed 3/12 subtests