Rakudo coredumps on a spectest on 64bit linux

Bruce Gray bruce.gray at acm.org
Sat Sep 11 02:01:53 UTC 2010


On Sep 10, 2010, at 4:11 PM, chromatic wrote:

> On Friday 10 September 2010 at 12:17, Jonathan Leto wrote:
>
>> Howdy,
>>
>> If anybody has any tuits about this:
>>
>> http://rt.perl.org/rt3/Ticket/Display.html?id=77778
>>
>> it would be greatly appreciated.
>
> A backtrace from a build with debugging symbols enabled would help.   
> I use
> these flags to configure Parrot:
>
> 	 perl Configure.pl --maintainer --optimize="-O3 -g"
>
> ... and my binaries include debugging symbols.
>
> -- c


This is from a Parrot configured with --maintainer --optimize=-g.
d1.t contained one line:
	my $c = "\c[LATIN SMALL LETTER A WITH DOT ABOVE]";
I do not know what would be helpful to show besides bt/up/l


ubuntu at domU-12-31-39-14-F0-B4:~/Rakudo4/rakudo$ gdb --quiet ./perl6
Reading symbols from /home/ubuntu/Rakudo4/rakudo/perl6...done.
(gdb) run d1.t
Starting program: /home/ubuntu/Rakudo4/rakudo/perl6 d1.t
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x00000000023d84b0 in ?? ()
(gdb) bt
#0  0x00000000023d84b0 in ?? ()
#1  0x00007ffff7a2befd in runops_fast_core (interp=0x22f3010,  
runcore_unused=0x23e6700, pc=0x7ffff46a2fc0)
     at src/runcore/cores.c:514
#2  0x00007ffff7a2b326 in runops_int (interp=0x22f3010, offset=324311)  
at src/runcore/main.c:224
#3  0x00007ffff79ef429 in runops (interp=0x22f3010, offs=324311) at  
src/call/ops.c:127
#4  0x00007ffff79ea136 in Parrot_pcc_invoke_from_sig_object  
(interp=0x22f3010, sub_obj=0x2823670, call_object=0x5bdd1e0)
     at src/call/pcc.c:325
#5  0x00007ffff79da85a in Parrot_ext_call (interp=0x22f3010,  
sub_pmc=0x2823670, signature=0x7ffff7b4348a "P->")
     at src/extend.c:322
#6  0x00007ffff79d7ab5 in Parrot_runcode (interp=0x22f3010, argc=2,  
argv=0x7fffffffe6f8) at src/embed.c:811
#7  0x0000000000400ee5 in main (argc=2, argv=0x7fffffffe6f8) at  
perl6.c:947484
(gdb) l
947446	            return program_code;
947447	        }
947448	#define RUNCORE 1
947449	        int main(int argc, const char *argv[])
947450	        {
947451	            PackFile     *pf;
947452	            Parrot_Interp interp;
947453	            const unsigned char *program_code_addr;
947454	
947455	            program_code_addr = (const unsigned char  
*)get_program_code();
(gdb) up
#1  0x00007ffff7a2befd in runops_fast_core (interp=0x22f3010,  
runcore_unused=0x23e6700, pc=0x7ffff46a2fc0)
     at src/runcore/cores.c:514
514	        DO_OP(pc, interp);
(gdb) l
509	         * Fast-core cause segfaults even on test suite
510	        if (pc < code_start || pc >= code_end)
511	            Parrot_ex_throw_from_c_args(interp, NULL, 1,
512	                "attempt to access code outside of current code  
segment");
513	        */
514	        DO_OP(pc, interp);
515	    }
516	
517	    return pc;
518	}
(gdb) up
#2  0x00007ffff7a2b326 in runops_int (interp=0x22f3010, offset=324311)  
at src/runcore/main.c:224
224	        (*core)(interp, interp->run_core, pc);
(gdb) l
219	        const runcore_runops_fn_type core = interp->run_core- 
 >runops;
220	
221	        interp->resume_offset = 0;
222	        interp->resume_flag  &= ~(RESUME_RESTART | RESUME_INITIAL);
223	
224	        (*core)(interp, interp->run_core, pc);
225	
226	        /* if we have fallen out with resume and we were running  
CGOTO, set
227	         * the stacktop again to a sane value, so that restarting  
the runloop
228	         * is ok. */
(gdb) q


-- 
Hope this helps,
Bruce Gray



More information about the parrot-dev mailing list