Ticket #2097 (closed bug: worksforme)

Opened 3 years ago

Last modified 3 years ago

darwin/ppc build failure once gms is default GC

Reported by: jkeenan Owned by:
Priority: critical Milestone:
Component: build Version: 3.2.0
Severity: medium Keywords:
Cc: whiteknight Language:
Patch status: Platform: darwin

Description

make now fails to complete on Darwin/PPC -- where now means: now that gms has been made the default GC in master.

This failure appeared last night when gms was not yet default in master but still had to be called with --gc=gms. Since it was just an option failure at that point, we didn't consider it to be a release blocker. But now that it's default, we have to follow it in Trac.

Attachments

make.31ca512.txt.gz Download (9.4 KB) - added by jkeenan 3 years ago.
build failure in master now that gms is default GC

Change History

Changed 3 years ago by jkeenan

build failure in master now that gms is default GC

Changed 3 years ago by jkeenan

Code in the area reported in the failure message:

    647 PARROT_EXPORT
    648 PARROT_WARN_UNUSED_RESULT
    649 PARROT_CANNOT_RETURN_NULL
    650 STRING *
    651 Parrot_str_new_init(PARROT_INTERP, ARGIN_NULLOK(const char *buffer), UINTVAL len,
    652         ARGIN(const STR_VTABLE *encoding), UINTVAL flags)
    653 {
    654     ASSERT_ARGS(Parrot_str_new_init)
    655     DECL_CONST_CAST;
    656     STRING * const s = Parrot_gc_new_string_header(interp, flags);
    657     s->encoding      = encoding;
...

Changed 3 years ago by jkeenan

Just to keep things interesting ... here's a different build failure in 'master' on Darwin/PPC.

In TT #2090, I proposed a patch to src/platform/darwin/sysmem.c Use HW_MEMSIZE instead of HW_PHYSMEM. So the failure report in the description came with a slight deviation from 'master'.

When I revert to the current HEAD for sysmem.c and configure with gms as the default GC, make fails to complete -- but at a different point in the process and with a different error message:

./parrot-nqp --target=pir runtime/parrot/library/ProfTest/PIRProfile.nqp > 
  runtime/parrot/library/ProfTest/PIRProfile.pir
./parrot -o runtime/parrot/library/ProfTest/PIRProfile.pbc 
  runtime/parrot/library/ProfTest/PIRProfile.pir
./parrot-nqp --target=pir runtime/parrot/library/ProfTest/NQPProfile.nqp > 
  runtime/parrot/library/ProfTest/NQPProfile.pir
./parrot -o runtime/parrot/library/ProfTest/NQPProfile.pbc 
  runtime/parrot/library/ProfTest/NQPProfile.pir
./parrot-nqp --target=pir runtime/parrot/library/ProfTest/Matcher.nqp > 
  runtime/parrot/library/ProfTest/Matcher.pir
./parrot -o runtime/parrot/library/ProfTest/Matcher.pbc 
  runtime/parrot/library/ProfTest/Matcher.pir
./parrot-nqp --target=pir runtime/parrot/library/ProfTest/Want.nqp > 
  runtime/parrot/library/ProfTest/Want.pir
src/gc/gc_gms.c:1231: failed assertion 
  '!PObj_on_free_list_TEST(pmc) || !"Resurrecting of dead objects is not supported"'
make: *** [runtime/parrot/library/ProfTest/Want.pir] Error 134

If I have time, I will try with --gc=ms2 in a pure master on this box.

Thank you very much.

kid51

Changed 3 years ago by jkeenan

  • status changed from new to closed
  • resolution set to worksforme

Well, much to my pleasant surprise, Parrot build successfully on Darwin/PPC for me this evening.

$ grep -n gc_type lib/Parrot/Config/Generated.pm 
136:  'gc_type' => 'GMS',
$ git show | head -1
commit 71ed52129ae75c2b69adb89d706e2363192a535a

I get 4 build failures in t/src/extend_vtable.t -- but those are being followed in TT #2098.

Since I've got a build, I'll close this ticket.

But does anyone want to wager on how long it stays closed?

kid51

Note: See TracTickets for help on using tickets.