On May 4, 2011, at 12:21 AM, Peter Lobsinger wrote:
For a week, kid51 and myself have been debugging the
tt1931-nci-parameters-deprecation branch. After having discovered and
fixed a number of issues, one problem remains. Some build stages and
tests (generally NQP or PCT programs), when run automatically under
make, consistently trigger an assertion violation in the GC system;
yet when run from the command line, they consistently run to
completion correctly. The text of the assertion violation is:
src/gc/gc_gms.c:1231: failed assertion '!PObj_on_free_list_TEST(pmc)
|| !"Resurrecting of dead objects is not supported"'
To add a bit more detail to plobsing's report, the following was
observed at commit 56d903b31ad.
When I configure with g++ for each of cc, link and ld, my build stops
here:
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Compiler/
Grammar.pir compilers/opsc/src/Ops/Compiler/Grammar.pm
src/gc/gc_gms.c:1231: failed assertion '!PObj_on_free_list_TEST(pmc)
|| !"Resurrecting of dead objects is not supported"'
make: *** [compilers/opsc/gen/Ops/Compiler/Grammar.pir] Abort trap
I then re-run the last command manually. It completes successfully.
I then call 'make' to resume building. I get a couple more steps
before failing again.
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Emitter.pir
compilers/opsc/src/Ops/Emitter.pm
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Trans.pir
compilers/opsc/src/Ops/Trans.pm
./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Trans/C.pir
compilers/opsc/src/Ops/Trans/C.pm
src/gc/gc_gms.c:1231: failed assertion '!PObj_on_free_list_TEST(pmc)
|| !"Resurrecting of dead objects is not supported"'
make: *** [compilers/opsc/gen/Ops/Trans/C.pir] Abort trap
Again, I re-run the last command manually. It completes successfully
and I call 'make' yet again. It fails a third time here:
./ops2c --dynamic src/dynoplibs/obscure.ops --quiet
src/gc/gc_gms.c:1231: failed assertion '!PObj_on_free_list_TEST(pmc)
|| !"Resurrecting of dead objects is not supported"'
make: *** [src/dynoplibs/obscure_ops.c] Abort trap
This time 'make' completes successfully. Now, based on a run of
'make test' last night at an earlier commit, I expect to get at least
one test failure where the error message is the same as above.
IIRC, I encountered problems like this (same error message; fail, run
manual, restart make) in the past year when testing various of
bacek's GC-related branches. We eventually got builds to complete in
one pass and all tests to pass.
I can build and test master successfully on this machine. If I
configure with --cc=gcc --link=g++ --ld=g++ -- my customary procedure
for years on this machine -- I can build successfully but get one
test failure where the error message is the same as above.
Thank you very much.
kid51
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev