# New Ticket Created by Moritz Lenz # Please include the string: [perl #54116] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=54116 >
Parrot + rakudo as of revision 27472 segfaults on t/00-parrot/05-var.t (in the languages/perl6 dir) on Debian GNU/Linux 4.0 "Etch" (SMP, 32 bit). (and after a 'make realclean', I might add) This segfault is reproducible for me, but disappears as soon as I remove a single line from the test file. The -G option also makes the segfault disappear. gdb ./parrot GNU gdb 6.4.90-debian Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so .1". (gdb) run languages/perl6/perl6.pbc languages/perl6/t/00-parrot/05-var.t Starting program: /home/moritz/src/parrot/parrot languages/perl6/perl6.pbc languages/perl6/t/00-parrot/05-var.t [Thread debugging using libthread_db enabled] [New Thread -1232046400 (LWP 2149)] warning: Lowest section in /usr/lib/libicudata.so.36 is .hash at 000000b4 1..12 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1232046400 (LWP 2149)] 0xb7bed8bb in pobject_lives (interp=0x8367048, obj=0x51) at src/gc/dod.c:192 192 if (PObj_is_live_or_free_TESTALL(obj)) (gdb) bt #0 0xb7bed8bb in pobject_lives (interp=0x8367048, obj=0x51) at src/gc/dod.c:192 #1 0xb7de43b2 in Parrot_Object_mark (interp=0x8367048, pmc=0xb6661c70) at ./src/pmc/object.pmc:172 #2 0xb7bed872 in mark_special (interp=0x8367048, obj=0xb6661c70) at src/gc/dod.c:162 #3 0xb7bed939 in pobject_lives (interp=0x8367048, obj=0xb6661c70) at src/gc/dod.c:217 #4 0xb7c31072 in mark_context (interp=0x8367048, ctx=0x8792c60) at src/sub.c:81 #5 0xb7c30feb in mark_context (interp=0x8367048, ctx=0x86aece8) at src/sub.c:65 #6 0xb7c30feb in mark_context (interp=0x8367048, ctx=0x86b9300) at src/sub.c:65 #7 0xb7beda6b in Parrot_dod_trace_root (interp=0x8367048, trace_stack=1) at src/gc/dod.c:280 #8 0xb7bedc14 in trace_active_PMCs (interp=0x8367048, trace_stack=1) at src/gc/dod.c:358 #9 0xb7bee947 in Parrot_dod_ms_run (interp=0x8367048, flags=1) at src/gc/dod.c:1122 #10 0xb7beea4a in Parrot_do_dod_run (interp=0x8367048, flags=1) at src/gc/dod.c:1171 #11 0xb7bf04a8 in more_traceable_objects (interp=0x8367048, pool=0x8387b60) at src/gc/smallobject.c:161 #12 0xb7bf058a in gc_ms_get_free_object (interp=0x8367048, pool=0x8387b60) at src/gc/smallobject.c:237 #13 0xb7bf30dc in get_free_buffer (interp=0x8367048, pool=0x8387b60) at src/headers.c:99 #14 0xb7bf371e in new_string_header (interp=0x8367048, flags=196864) at src/headers.c:413 #15 0xb7b81d00 in Parrot_make_COW_reference (interp=0x8367048, s=0xb6595cc4) at src/string.c:153 #16 0xb7b82fe4 in string_copy (interp=0x8367048, s=0xb6595cc4) at src/string.c:961 #17 0xb7db97ee in Parrot_Class_get_string (interp=0x8367048, pmc=0xb64614b0) at ./src/pmc/class.pmc:543 #18 0xb7dba87c in Parrot_Class_isa (interp=0x8367048, pmc=0xb64614b0, classname=0x8388318) at ./src/pmc/class.pmc:1193 #19 0xb7dba91c in Parrot_Class_isa (interp=0x8367048, pmc=0xb64472a8, classname=0x8388318) at ./src/pmc/class.pmc:1204 #20 0xb7de40d8 in Parrot_Object_isa (interp=0x8367048, pmc=0xb665e828, classname=0x8388318) at ./src/pmc/object.pmc:447 #21 0xb7d3b9e9 in Parrot_Key_nextkey_keyed (interp=0x8367048, pmc=0xb665e7b8, agg=0xb665e828, what=0) at ./src/pmc/key.pmc:315 #22 0xb7d9f107 in Parrot_Iterator_set_integer_native (interp=0x8367048, pmc=0xb665e7d4, value=0) at ./src/pmc/iterator.pmc:359 #23 0xb7d9ebe3 in Parrot_Iterator_init_pmc (interp=0x8367048, pmc=0xb665e7d4, aggregate=0xb665e828) at ./src/pmc/iterator.pmc:109 #24 0xb7c28d11 in pmc_new_init (interp=0x8367048, base_type=37, init=0xb665e828) at src/pmc.c:347 #25 0xb7df3ec9 in Parrot_PMCProxy_instantiate (interp=0x8367048, pmc=0xb645b87c, init=0xb665e828) at ./src/pmc/pmcproxy.pmc:162 #26 0xb7b9f4e6 in Parrot_new_p_sc_p (cur_opcode=0xb67a074c, interp=0x8367048) at src/ops/pmc.ops:105 #27 0xb7c29754 in runops_slow_core (interp=0x8367048, pc=0xb67a074c) at src/runops_cores.c:221 #28 0xb7bfb196 in runops_int (interp=0x8367048, offset=3186) at src/interpreter.c:918 #29 0xb7bfba95 in runops (interp=0x8367048, offs=9565) at src/inter_run.c:106 #30 0xb7bfbd1a in runops_args (interp=0x8367048, sub=0x8618274, obj=0x83ae098, meth_unused=0x0, sig=0xb7e53f67 "vP", ap=0xbfd085cc "�Le\b\b\206п\220��P\214j\b�Le\bt\202a\b���b\206п��p6\b\002") ---Type <return> to continue, or q <return> to quit--- at src/inter_run.c:232 #31 0xb7bfbe5c in Parrot_runops_fromc_args (interp=0x8367048, sub=0x8618274, sig=0xb7e53f67 "vP") at src/inter_run.c:301 #32 0xb7be4b37 in Parrot_runcode (interp=0x8367048, argc=2, argv=0xbfd08728) at src/embed.c:943 #33 0xb7e2f7d4 in imcc_run_pbc (interp=0x8367048, obj_file=0, output_file=0x0, argc=2, argv=0xbfd08728) at compilers/imcc/main.c:783 #34 0xb7e30282 in imcc_run (interp=0x8367048, sourcefile=0xbfd09b82 "languages/perl6/perl6.pbc", argc=2, argv=0xbfd08728) at compilers/imcc/main.c:1071 #35 0x08048928 in main (argc=2, argv=0xbfd08728) at src/main.c:61 (gdb) (Note that some of the characters might be garbled in #30, at least they are on my screen as well). -- Moritz Lenz http://moritz.faui2k3.org/ | http://perl-6.de/