Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[perl #40410] Segfault in packfile code

3 views
Skip to first unread message

Jonathan Worthington

unread,
Sep 24, 2006, 7:31:45 PM9/24/06
to bugs-bi...@rt.perl.org
# New Ticket Created by Jonathan Worthington
# Please include the string: [perl #40410]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=40410 >


Hi,

Parrot segfaults while generating a packfile for a (large) chunk of
compiled PIR generated by the .Net translator. You'll need a copy of
Mono installed to replicate it, I'm too tired to track this down any
further tonight.

(gdb) r net2pbc.pbc -f -o mscorlib.pbc /usr/lib/mono/1.0/mscorlib.dll
Starting program: /home/default/jnthn.net/dev/parrot/parrot net2pbc.pbc
-f -o mscorlib.pbc /usr/lib/mono/1.0/mscorlib.dll
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0x55e000
[Thread debugging using libthread_db enabled]
[New Thread -1208564032 (LWP 9073)]
[New Thread -1208702048 (LWP 9076)]
[New Thread -1219191904 (LWP 9077)]
Translated 744 types out of 1365 from /usr/lib/mono/1.0/mscorlib.dll

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208564032 (LWP 9073)]
0x00cea077 in PF_store_string (cursor=0xb2a18bd0, s=0xb69d0788)
at src/packfile/pf_items.c:565
565 *cursor++ = PObj_get_FLAGS(s); /* only constant_FLAG and
private7 */
(gdb) bt
#0 0x00cea077 in PF_store_string (cursor=0xb2a18bd0, s=0xb69d0788)
at src/packfile/pf_items.c:565
#1 0x00cb7819 in PackFile_Constant_pack (interpreter=0x83da008,
self=0xa2a8458, cursor=0xb2a18bd0) at src/packout.c:249
#2 0x00cb7669 in PackFile_ConstTable_pack (interpreter=0x83da008,
seg=0x88b7c98, cursor=0xb2a18bcc) at src/packout.c:169
#3 0x00c5f328 in PackFile_Segment_pack (interpreter=0x83da008,
self=0x88b7c98, cursor=0xb28ab450) at src/packfile.c:1302
#4 0x00c5fe62 in directory_pack (interpreter=0x83da008, self=0xa84b8d0,
cursor=0xb28ab440) at src/packfile.c:1697
#5 0x00c5f328 in PackFile_Segment_pack (interpreter=0x83da008,
self=0xa84b8d0, cursor=0xb2793ba0) at src/packfile.c:1302
#6 0x00cb753a in PackFile_pack (interpreter=0x83da008, self=0xa84b8d0,
cursor=0xb2793b90) at src/packout.c:105
#7 0x00d1969c in Parrot_Eval_get_string (interpreter=0x83da008,
pmc=0xb65fac14) at src/pmc/eval.pmc:250
#8 0x00b778f0 in Parrot_print_p_p (cur_opcode=0xb6ae7348,
interpreter=0x83da008) at src/ops/io.ops:339
#9 0x00c687eb in runops_slow_core (interpreter=0x83da008, pc=0xb6ae7348)
at src/runops_cores.c:184
#10 0x00c546d8 in runops_int (interpreter=0x83da008, offset=317)
at src/interpreter.c:775
#11 0x00c5932e in runops (interpreter=0x83da008, offs=3) at
src/inter_run.c:87
---Type <return> to continue, or q <return> to quit---
#12 0x00c59584 in runops_args (interpreter=0x83da008, sub=0x855ffd0,
obj=0x841bab0, meth=0x0, sig=0xdad996 "vP",
ap=0xbfc771fc "¨çZ\bØrÇ¿Ðj\032") at src/inter_run.c:193
#13 0x00c59698 in Parrot_runops_fromc_args (interpreter=0x83da008,
sub=0x855ffd0, sig=0xdad996 "vP") at src/inter_run.c:287
#14 0x00cb6f5e in Parrot_runcode (interpreter=0x83da008, argc=5,
argv=0xbfc77378) at src/embed.c:806
#15 0x0804afaf in main (argc=5, argv=0xbfc77378) at
compilers/imcc/main.c:731

Jonathan

jnthn@jnthn.net via RT

unread,
Sep 27, 2006, 7:40:31 PM9/27/06
to perl6-i...@perl.org
Hi,

I've tracked the bug down some and ci'd a workaround for this tonight,
with a comment that some more digging maybe is wanted in the future. But
it solves the problem just fine at the moment.

Jonathan

0 new messages