Ticket #2037 (closed bug: fixed)
darwin/ppc build failure
Reported by: | jkeenan | Owned by: | jkeenan |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | core | Version: | 3.1.0 |
Severity: | fatal | Keywords: | |
Cc: | cotto, bacek, plobsing | Language: | |
Patch status: | Platform: | darwin |
Description
At some point since Feb 28, Parrot began to fail make on Darwin/PPC. At 0cf3ffa, for example, the build failed here:
Linked: parrot-nqp ./parrot -o runtime/parrot/library/PCT/Grammar.pbc compilers/pct/src/PCT/Grammar.pir ./parrot -o runtime/parrot/library/PCT.pbc compilers/pct/PCT.pir /usr/local/bin/perl -MExtUtils::Command -e mkpath runtime/parrot/languages/JSON ./parrot-nqp --target=pir compilers/data_json/JSON.nqp > runtime/parrot/languages/JSON/JSON.pir ./parrot_nci_thunk_gen --dynext --no-warn-dups \ --output=src/extra_nci_thunks.c <src/nci/extra_thunks.nci /usr/bin/gcc -I./include -I./include/pmc -pipe -fno-common -Wno-long-double -I/sw/include -I/opt/local/include -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NONNULL -DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -DHASATTRIBUTE_WARN_UNUSED_RESULT -DHAS_GETTEXT -g -falign-functions=16 -funit-at-a-time -W -Wall -Waggregate-return -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment -Wdisabled-optimization -Wdiv-by-zero -Wendif-labels -Wextra -Wformat -Wformat-extra-args -Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimplicit -Wimport -Winit-self -Winline -Winvalid-pch -Wmissing-braces -Wmissing-field-initializers -Wno-missing-format-attribute -Wmissing-include-dirs -Wmultichar -Wpacked -Wparentheses -Wpointer-arith -Wpointer-sign -Wreturn-type -Wsequence-point -Wsign-compare -Wstrict-aliasing -Wstrict-aliasing=2 -Wswitch -Wswitch-default -Wtrigraphs -Wundef -Wno-unused -Wunknown-pragmas -Wvariadic-macros -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wnonnull -Wold-style-definition -fvisibility=hidden -Isrc -o src/extra_nci_thunks.o -c src/extra_nci_thunks.c /usr/bin/g++ -undefined dynamic_lookup -bundle -L/usr/local/lib -L/opt/local/lib -L"/Users/jimk/gitwork/parrot/blib/lib" -L/sw/lib \ -o runtime/parrot/dynext/extra_nci_thunks.bundle src/extra_nci_thunks.o \ -L"/Users/jimk/gitwork/parrot/blib/lib" -lparrot -lm -lgmp -lreadline -lintl ./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Compiler.pir compilers/opsc/src/Ops/Compiler.pm ./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Compiler/Actions.pir compilers/opsc/src/Ops/Compiler/Actions.pm ./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Compiler/Grammar.pir compilers/opsc/src/Ops/Compiler/Grammar.pm src/gc/gc_gms.c:1228: 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
Surprisingly, if at this point I simply said make, the build resumed and completed successfully. While I did not have time to do a full make test, I was able to get PASS on important components thereof, such as make op_tests and make pmc_tests.
At cotto's suggestion, I re-ran the failing command several consecutive times:
[parrot] 511 $ export DYLD_LIBRARY_PATH=/Users/jimk/gitwork/parrot/blib/lib [parrot] 512 $ ./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Compiler/Grammar.pir compilers/opsc/src/Ops/Compiler/Grammar.pm src/gc/gc_gms.c:1228: failed assertion '!PObj_on_free_list_TEST(pmc) || !"Resurrecting of dead objects is not supported"' Abort trap [parrot] 513 $ ./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Compiler/Grammar.pir compilers/opsc/src/Ops/Compiler/Grammar.pm src/gc/gc_gms.c:1228: failed assertion '!PObj_on_free_list_TEST(pmc) || !"Resurrecting of dead objects is not supported"' Abort trap [parrot] 513 $ ./parrot-nqp --target=pir --output=compilers/opsc/gen/Ops/Compiler/Grammar.pir compilers/opsc/src/Ops/Compiler/Grammar.pm src/gc/gc_gms.c:1228: failed assertion '!PObj_on_free_list_TEST(pmc) || !"Resurrecting of dead objects is not supported"' Abort trap
But, once again, if I invoked make at this point, the build would continue and complete.
My last previous successful test on this platform was on Feb 28 at commit 9e03d59. On March 02 I did repeated successful testing of the infnan2 branch on this platform, but I did not test master once plobsing merged that branch in. Last night, I tried building master at that merge point and I got the same build failure reported above. I therefore infer that the failure began sometime after 9e03d59 but before the infnan2 merge.
I should note that Parrot had been building successfully on this platform recently, in particular after the gc_ms2 merge.