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

Reply via email to