D:\Perl\5.6.1\bin\MSWin32-x86-multi-thread\perl.exe t/harness --gc-debug --running-make-test t/op/gc....NOK 2# Failed test (t/op/gc.t at line 14) # got: '1' # expected: '0' t/op/gc....ok 8/8# Looks like you failed 1 tests of 8. t/op/gc....dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 2 Failed 1/8 tests, 87.50% okay
I surmise that there is something which set up interpreter->has_early_DOD_PMCs = 1 before the test runs. So sweep 0 always triggers a DOD run. It needs sweep 1 or even sweep 0 to be placed before sweep 0 in order to get interpreter->has_early_DOD_PMCs == 0. I've attached a fixed version of the test in case of my guess is correct.
gc.t.diff
Description: Binary data