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