pcc_reapply branch: segfault in t/op/gc.t from r41680

James E Keenan jkeen at verizon.net
Thu Oct 8 00:37:14 UTC 2009


Allison Randal wrote:
> James E Keenan wrote:
>>
>> Everything was smoldering fine up through r41777, where I broke for 
>> the night.  But when I came back the next day and 'svn up', I found 
>> that 'make smolder_coretest' would no longer complete.
> 
> This was caused by a partial patch for return handling that I applied so 
> Tene and I could collaborate on it. I've set it up now (r41754) so a 
> default checkout gets the old code (which is working but missing some 
> features), while Tene and I (and others) can keep working together on 
> the final features.

I'm a bit confused by that, because so far I'm getting exactly the same 
results as before.

After 'make realclean;svn up' in the pcc_reapply branch, I'm at r41757 
(Linux/i386).  With just 'perl Configure.pl', I can configure and 'make 
corevm', but 'make coretest' (really, 'make smolder_coretest') continues 
to hang in t/op/gc.t:

t/op/exit.t .......................... ok
Unable to complete 'make corevm' and/or 'make smolder_coretest' in 
pcc_reapply sandbox

As before, running just the single test file via 'prove -v' or 'perl 
t/harness' shows a fault, but at least the program completes:

ok 114 - leaving do_inc
ok 115 - end vanishing_return_continuation
ok 116
ok 117
Failed 23/140 subtests

Test Summary Report
-------------------
t/op/gc.t (Wstat: 11 Tests: 117 Failed: 0)
   Non-zero wait status: 11
   Parse errors: Bad plan.  You planned 140 tests but ran 117.
Files=1, Tests=117,  2 wallclock secs ( 0.03 usr  0.00 sys +  0.96 cusr 
  0.07 csys =  1.06 CPU)
Result: FAIL

erl t/harness t/op/gc.t
t/op/gc.t .. Failed 23/140 subtests

Test Summary Report
-------------------
t/op/gc.t (Wstat: 11 Tests: 117 Failed: 0)
   Non-zero wait status: 11
   Parse errors: Bad plan.  You planned 140 tests but ran 117.
Files=1, Tests=117,  2 wallclock secs ( 0.02 usr  0.00 sys +  0.99 cusr 
  0.07 csys =  1.08 CPU)
Result: FAIL

Running it through gdb, I get results as before:

ok 115 - end vanishing_return_continuation
ok 116
ok 117
[New Thread 0x41141a40 (LWP 604)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x41141a40 (LWP 604)]
0x400e3557 in Parrot_gc_mark_PMC_alive_fun (interp=0x804f040, obj=0x0)
     at src/gc/api.c:245
245     {
(gdb) bt
#0  0x400e3557 in Parrot_gc_mark_PMC_alive_fun (interp=0x804f040, obj=0x0)
     at src/gc/api.c:245
#1  0x400e5989 in mark_special (interp=0x804f040, obj=0x418dd2cc)
     at src/gc/mark_sweep.c:420
#2  0x400e3619 in Parrot_gc_mark_PMC_alive_fun (interp=0x804f040,
     obj=0x418dd2cc) at src/gc/api.c:259
#3  0x402345b9 in Parrot_Context_mark (interp=0x804f040, pmc=0x418dd394)
     at ./src/pmc/context.pmc:63
#4  0x400e59e0 in mark_special (interp=0x804f040, obj=0x418dd394)
     at src/gc/mark_sweep.c:424
#5  0x400e3619 in Parrot_gc_mark_PMC_alive_fun (interp=0x804f040,
     obj=0x418dd394) at src/gc/api.c:259
#6  0x402345b9 in Parrot_Context_mark (interp=0x804f040, pmc=0x418dd45c)
     at ./src/pmc/context.pmc:63
#7  0x400e59e0 in mark_special (interp=0x804f040, obj=0x418dd45c)
     at src/gc/mark_sweep.c:424
#8  0x400e3619 in Parrot_gc_mark_PMC_alive_fun (interp=0x804f040,
     obj=0x418dd45c) at src/gc/api.c:259
#9  0x402345b9 in Parrot_Context_mark (interp=0x804f040, pmc=0x418dd524)
     at ./src/pmc/context.pmc:63
#10 0x400e59e0 in mark_special (interp=0x804f040, obj=0x418dd524)
     at src/gc/mark_sweep.c:424
#11 0x400e3619 in Parrot_gc_mark_PMC_alive_fun (interp=0x804f040,


As before, if I configure with 'perl Configure.pl --buildframes=0', I 
can configure, make corevm and make coretest successfully.  See test 
results:

http://smolder.plusthree.com/app/public_projects/report_details/28690

Thank you very much.
kid51


More information about the parrot-dev mailing list