gc_massacre branch is ready for testing.

James E Keenan jkeen at verizon.net
Wed Sep 22 00:06:49 UTC 2010


Vasily Chekalkin wrote:
 > Hello.
 >
 > I would like to declare gc_massacre branch ready to merge back to
 > trunk. It's not perfect, but I like it more than current GC.

bacek,

Thanks for all your hard work on this branch.

Unfortunately, I have to report a rather tricky bug.  I have tested the 
gc_massacre branch so far on two different Linux/i386 machines.  On one 
of them, t/pmc/filehandle.t runs without incident.  However, on the 
other -- my main box for testing Parrot -- I get this error:

$ prove -v t/pmc/filehandle.t
t/pmc/filehandle.t ..
1..23
ok 1 - new
...
ok 21 - exit status
not ok 22 - timely destruction

#   Failed test 'timely destruction'
#   at t/pmc/filehandle.t line 739.
#          got: ''
#     expected: 'a line
# '
ok 23 - get_bool
# Looks like you failed 1 test of 23.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/23 subtests
         (less 1 skipped subtest: 21 okay)

Test Summary Report
-------------------
t/pmc/filehandle.t (Wstat: 256 Tests: 23 Failed: 1)
   Failed test:  22
   Non-zero exit status: 1
Files=1, Tests=23,  0 wallclock secs ( 0.02 usr  0.01 sys +  0.34 cusr 
0.16 csys =  0.53 CPU)
Result: FAIL

I get the same result during 'make test' and 'perl t/harness --gc-debug 
t/pmc/filehandle.t'.

When I ran this code through 'gdb', this was the result:

$ gdb ./parrot
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run ./parrot t/pmc/filehandle_22.pir
Starting program: /home/jimk/work/gc_massacre/parrot ./parrot 
t/pmc/filehandle_22.pir
[Thread debugging using libthread_db enabled]
warning: Lowest section in /usr/lib/libicudata.so.36 is .hash at 000000b4
error:imcc:syntax error, unexpected $undefined ('')
         in file './parrot' line 1
error:imcc:syntax error ... somewhere
         in file './parrot' line 1

Program exited with code 01.
(gdb) bt
No stack.
(gdb)

I got this result even after deleting my gc_massacre sandbox and 
starting with a fresh checkout from Subversion.

Now -- and here comes the part that will be frustrating -- on the 
Linux/i386 box where t/pmc/filehandle.t *did* PASS, I ran the above 
debugger program -- and got *exactly the same output*!  In other words, 
there is a failure that is being detected on one box but not on the other!

I also got the same t/pmc/filehandle.t Test 22 error on Darwin/PPC.

Thank you very much.
kid51



More information about the parrot-dev mailing list