From: Bob Rogers <[EMAIL PROTECTED]> Date: Mon, 12 Nov 2007 21:32:15 -0500
From: chromatic <[EMAIL PROTECTED]> Date: Mon, 12 Nov 2007 13:58:51 -0800 . . . If someone reading this (not just Bob or me) cares to write up some basic tests and can make a failure case, I'm very happy to debug and fix the problem. I'm out of town for a couple of days and may not get to the tests for a while, but I will fix the problem unless someone beats me to it. Does this fit the bill? This fails reliably on my laptop (SUSE 10.1, gcc 4.1.0) using Parrot r22785 or r22817, but works on my desktop (SUSE 9.0, gcc 3.3.1, also r22817), so who knows what kind of mileage you'll get? For the record, hll-dumper-main.pir now works if it loads hll-dumper-test.pir, but if I compile the latter and load hll-dumper-test.pbc instead, I see the following problem: src/pmc_freeze.c:1202: failed assertion 'must_have_seen' But only on my laptop; it all works normally on my desktop system. And disassemble doesn't have any problem with the PBC file. But (on my laptop) if I compile *the same source file* to some other PBC file name, e.g. using parrot -o wogga-wogga.pbc hll-dumper-test.pir and change hll-dumper-main.pir to load wogga-wogga.pbc instead of hll-dumper-test.pbc, it works again! So something, possibly freeze/thaw, appears to be infested with Heisenbugs. And lest anyone think this just affects my laptop, I am seeing three t/tools/pbc_merge.t failures on my desktop system that are due to the 'must_have_seen' assertion. The complete list of desktop system test failures is appended. (There are only three failing tests on the laptop.) I will keep my eyes open, but I'm hunting for a needle in an unfamiliar part of the Parrot haystack. -- Bob ------------------------------------------------------------------------ Failed 14/495 test scripts, 97.17% okay. 116/9249 subtests failed, 98.75% okay. Failed Test Stat Wstat Total Fail Failed List of Failed -------------------------------------------------------------------------------- t/compilers/json/to_parrot.t 59 15104 60 59 98.33% 1-58 60 t/compilers/tge/basic.t 2 512 3 2 66.67% 1 3 t/compilers/tge/grammar.t 2 512 3 2 66.67% 1-2 t/compilers/tge/parser.t 2 512 2 2 100.00% 1-2 t/dynpmc/dynlexpad.t 6 1536 6 6 100.00% 1-6 t/dynpmc/foo.t 9 2304 9 9 100.00% 1-9 t/dynpmc/gdbmhash.t 13 3328 13 13 100.00% 1-13 t/dynpmc/rational.t 8 2048 8 8 100.00% 1-8 t/dynpmc/sub.t 2 512 2 2 100.00% 1-2 t/examples/past.t 2 512 2 2 100.00% 1-2 t/library/mime_base64.t 0 6 ?? ?? % ?? t/perl/Parrot_IO.t 1 256 57 1 1.75% 47 t/pmc/ro.t 6 1536 17 6 35.29% 7-11 13 t/tools/pbc_merge.t 4 1024 4 4 100.00% 1-4 (10 subtests UNEXPECTEDLY SUCCEEDED), 13 tests and 605 subtests skipped. make: *** [test] Error 255