Ticket #2006 (closed bug: fixed)

Opened 3 years ago

Last modified 3 years ago

Problem compiling Rakudo's Test.pm on Debian x64

Reported by: masak Owned by:
Priority: critical Milestone:
Component: none Version: master
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description

$ gdb --args /usr/local/bin/parrot  perl6.pbc  --target=pir --output=Test.pir Test.pm
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/local/bin/parrot...done.
(gdb) r
Starting program: /usr/local/bin/parrot perl6.pbc --target=pir --output=Test.pir Test.pm
[Thread debugging using libthread_db enabled]
src/gc/gc_gms.c:2174: failed assertion '!PObj_on_free_list_TEST(pmc)'
Backtrace - Obtained 32 stack frames (max trace depth is 32).
/usr/local/lib/libparrot.so.3.0.0(+0x192b8f) [0x7ffff78d6b8f]
/usr/local/lib/libparrot.so.3.0.0(Parrot_confess+0x8b) [0x7ffff78d6b5b]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8cef) [0x7ffff78eccef]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7ffff78e110d]
dynext/perl6_group.so(+0x261e8) [0x7ffff3f961e8]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7ffff78ecd48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7ffff78e110d]
/usr/local/lib/libparrot.so.3.0.0(+0x1ae9fc) [0x7ffff78f29fc]
/usr/local/lib/libparrot.so.3.0.0(Parrot_hash_mark+0xe9) [0x7ffff78f2079]
/usr/local/lib/libparrot.so.3.0.0(+0x2796ca) [0x7ffff79bd6ca]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7ffff78ecd48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7ffff78e110d]
/usr/local/lib/libparrot.so.3.0.0(+0x296e81) [0x7ffff79dae81]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7ffff78ecd48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7ffff78e110d]
/usr/local/lib/libparrot.so.3.0.0(+0x2a65dc) [0x7ffff79ea5dc]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7ffff78ecd48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7ffff78e110d]
/usr/local/lib/libparrot.so.3.0.0(+0x296dd0) [0x7ffff79dadd0]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7ffff78ecd48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7ffff78e110d]
/usr/local/lib/libparrot.so.3.0.0(+0x2bf091) [0x7ffff7a03091]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7ffff78ecd48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7ffff78e110d]
/usr/local/lib/libparrot.so.3.0.0(+0x2874cd) [0x7ffff79cb4cd]
/usr/local/lib/libparrot.so.3.0.0(+0x28764c) [0x7ffff79cb64c]
/usr/local/lib/libparrot.so.3.0.0(+0x28a655) [0x7ffff79ce655]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7ffff78ecd48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7ffff78e110d]
/usr/local/lib/libparrot.so.3.0.0(+0x28a937) [0x7ffff79ce937]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7ffff78ecd48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7ffff78e110d]
Attempting to get PIR backtrace.  No guarantees.  Here goes...
current instr.: 'perl6;Str;str2num-rat' pc 648448 (src/gen/perl6-grammar.pir:110767) (CORE.setting:4865)
called from Sub '_block34402' pc 590860 (src/gen/perl6-grammar.pir:0) (CORE.setting:3252)
called from Sub '!fire_phasers' pc 1154 (src/glue/dispatch.pir:68)
called from Sub 'perl6;Perl6;Compiler;main' pc 327725 (src/gen/perl6-grammar.pir:17249)

Program received signal SIGABRT, Aborted.
0x00007ffff5142165 in raise () from /lib/libc.so.6
(gdb) up
#1  0x00007ffff5144f70 in abort () from /lib/libc.so.6
(gdb) up
#2  0x00007ffff78d6b60 in Parrot_confess (
    cond=0x7ffff7a8b359 "!PObj_on_free_list_TEST(pmc)", 
    file=0x7ffff7a8b010 "src/gc/gc_gms.c", line=2174) at src/exceptions.c:562
562	    abort();
(gdb) up
#3  0x00007ffff78eccef in gc_gms_validate_pmc (interp=0x60d040, pmc=0x1b27330)
    at src/gc/gc_gms.c:2174
2174	    PARROT_ASSERT(!PObj_on_free_list_TEST(pmc));
(gdb) p pmc->vtable->whoami->strstart
$1 = 0x7ffff7a72915 "Continuation"

Change History

Changed 3 years ago by masak

Oh, and this does not appear to be limited to Test.pm, but also applies to one-liners such as

$ ./perl6 -e 'say "OH HAI"'
src/gc/gc_gms.c:2174: failed assertion '!PObj_on_free_list_TEST(pmc)'
Backtrace - Obtained 32 stack frames (max trace depth is 32).
/usr/local/lib/libparrot.so.3.0.0(+0x192b8f) [0x7fd178741b8f]
/usr/local/lib/libparrot.so.3.0.0(Parrot_confess+0x8b) [0x7fd178741b5b]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8cef) [0x7fd178757cef]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7fd17874c10d]
dynext/perl6_group.so(+0x261e8) [0x7fd1752721e8]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7fd178757d48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7fd17874c10d]
/usr/local/lib/libparrot.so.3.0.0(+0x1ae9fc) [0x7fd17875d9fc]
/usr/local/lib/libparrot.so.3.0.0(Parrot_hash_mark+0xe9) [0x7fd17875d079]
/usr/local/lib/libparrot.so.3.0.0(+0x2796ca) [0x7fd1788286ca]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7fd178757d48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7fd17874c10d]
/usr/local/lib/libparrot.so.3.0.0(+0x296e81) [0x7fd178845e81]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7fd178757d48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7fd17874c10d]
/usr/local/lib/libparrot.so.3.0.0(+0x2a65dc) [0x7fd1788555dc]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7fd178757d48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7fd17874c10d]
/usr/local/lib/libparrot.so.3.0.0(+0x296dd0) [0x7fd178845dd0]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7fd178757d48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7fd17874c10d]
/usr/local/lib/libparrot.so.3.0.0(+0x2bf091) [0x7fd17886e091]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7fd178757d48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7fd17874c10d]
/usr/local/lib/libparrot.so.3.0.0(+0x2874cd) [0x7fd1788364cd]
/usr/local/lib/libparrot.so.3.0.0(+0x28764c) [0x7fd17883664c]
/usr/local/lib/libparrot.so.3.0.0(+0x28a655) [0x7fd178839655]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7fd178757d48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7fd17874c10d]
/usr/local/lib/libparrot.so.3.0.0(+0x28a937) [0x7fd178839937]
/usr/local/lib/libparrot.so.3.0.0(+0x1a8d48) [0x7fd178757d48]
/usr/local/lib/libparrot.so.3.0.0(Parrot_gc_mark_PMC_alive_fun+0x5d) [0x7fd17874c10d]
Attempting to get PIR backtrace.  No guarantees.  Here goes...
current instr.: 'perl6;Str;str2num-rat' pc 648462 (src/gen/perl6-grammar.pir:110769) (CORE.setting:4866)
called from Sub '_block34402' pc 590860 (src/gen/perl6-grammar.pir:0) (CORE.setting:3252)
called from Sub '!fire_phasers' pc 1154 (src/glue/dispatch.pir:68)
called from Sub 'perl6;Perl6;Compiler;main' pc 327725 (src/gen/perl6-grammar.pir:17249)
Aborted

Changed 3 years ago by bacek

Hello.

I shaved quite few yaks. Please retest on gen_gc2 branch.

-- Bacek

Changed 3 years ago by bacek

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

Hello.

gen_gc2 branch was merged into master and rakudo builds seamlessly now. Resolving ticket.

-- Bacek

Note: See TracTickets for help on using tickets.