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

[perl #40087] [BUG] Segfault in key.pmc

7 views
Skip to first unread message

Will Coleda

unread,
Aug 5, 2006, 11:10:44 PM8/5/06
to bugs-bi...@rt.perl.org
# New Ticket Created by Will Coleda
# Please include the string: [perl #40087]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=40087 >


… But you're not going to like the steps to reproduce:

build tcl # this should set off warning bells already!

% ../../parrot tcl.pbc --pir t/cmd_expr.t > out.pir # generates a
9000 line sub.
% ../../parrot -o out.pbc out.pir # takes forever
% ../../parrot out.pbc # segfaults.

Running through gdb, I see we're recursing pretty deep:

0x0025586c in Parrot_Key_get_integer (interpreter=0x255888, pmc=0x0)
at src/pmc/key.pmc:120
120 INTVAL get_integer () {
(gdb) bt
#0 0x0025586c in Parrot_Key_get_integer (interpreter=0x255888,
pmc=0x0) at src/pmc/key.pmc:120
#1 0x00059260 in key_integer (interpreter=0xe003c0, key=0xfc3450) at
src/key.c:303
#2 0x00255888 in Parrot_Key_get_integer (interpreter=0xe003c0,
pmc=0xfc3450) at src/pmc/key.pmc:121
#3 0x00059260 in key_integer (interpreter=0xe003c0, key=0xfc3450) at
src/key.c:303
#4 0x00255888 in Parrot_Key_get_integer (interpreter=0xe003c0,
pmc=0xfc3450) at src/pmc/key.pmc:121
#5 0x00059260 in key_integer (interpreter=0xe003c0, key=0xfc3450) at
src/key.c:303
#6 0x00255888 in Parrot_Key_get_integer (interpreter=0xe003c0,
pmc=0xfc3450) at src/pmc/key.pmc:121

It got to #1635 before I hit ^C.d

No change running the last parrot invocation with -G

Regards.

--
Will "Coke" Coleda
wi...@coleda.com


jnthn@jnthn.net via RT

unread,
Mar 15, 2007, 7:55:04 PM3/15/07
to perl6-i...@perl.org
Hi,

Just tried to reproduce this (on Win32)...

% ../../parrot -o out.pbc out.pir # takes forever

This gives the following error:

error:imcc:syntax error, unexpected LOCAL
in file 'out.pir' line 1

If I stick a .sub main at the start and a .end at the end, I still get
errors...

error:imcc:syntax error, unexpected SREG, expecting '('
in file 'out.pir' line 16
error:imcc:syntax error, unexpected SREG, expecting '('
in file 'out.pir' line 28

Updated instructions on how to reproduce would be cool, anyway.

Thanks,

Jonathan

0 new messages