# New Ticket Created by  Bob Rogers 
# Please include the string:  [perl #58050]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58050 >


   It looks like "subclass" is allocating an integer for the new PMC
class, but failing to initialize interp->vtables properly (or
something).  It does not help to mark the ":setup" sub as ":load" in
addition to ":immediate" (but logically that ought to be necessary?).

                                        -- Bob Rogers
                                           http://rgrjr.dyndns.org/

P.S.  "testr" just compiles to PBC and runs in an separate parrot image.
(I had forgotten.)

------------------------------------------------------------------------
(gdb) r t/compilers/imcc/syn/hll_2.pbc
Starting program: /usr/src/parrot/parrot t/compilers/imcc/syn/hll_2.pbc
Failed to read a valid object file image from memory.
[Thread debugging using libthread_db enabled]
[New Thread -1227610416 (LWP 19242)]
warning: Lowest section in /usr/lib/libicudata.so.34 is .hash at 000000b4

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1227610416 (LWP 19242)]
0xb7d016c3 in pmc_new (interp=0x8050040, base_type=79) at src/pmc.c:87
(gdb) bt
#0  0xb7d016c3 in pmc_new (interp=0x8050040, base_type=79) at src/pmc.c:87
#1  0xb7cd15b3 in Parrot_process_args (interp=0x8050040, st=0xbfb03880, 
param_or_result=PARROT_PASS_PARAMS) at src/inter_call.c:1370
#2  0xb7cd1a7e in parrot_pass_args (interp=0x8050040, src_ctx=0x8223360, 
dest_ctx=0x8224888, src_indexes=0xb7b851cc, dest_indexes=0xb7b85208, 
param_or_result=PARROT_PASS_PARAMS) at src/inter_call.c:1536
#3  0xb7c5fdac in Parrot_get_params_pc (cur_opcode=0xb7b85208, 
interp=0x8050040) at src/ops/core.ops:581
#4  0xb7d026cc in runops_slow_core (interp=0x8050040, pc=0xb7b85208) at 
src/runops_cores.c:222
#5  0xb7cd5749 in runops_int (interp=0x8050040, offset=7) at 
src/interpreter.c:933
#6  0xb7cd6023 in runops (interp=0x8050040, offs=7) at src/inter_run.c:101
#7  0xb7cd62d6 in runops_args (interp=0x8050040, sub=0x82154cc, obj=0x809ea18, 
meth_unused=0x0, sig=0xb7f35fc7 "vP", ap=0xbfb03a9c 
"\230S!\bØ:°¿`cþ·\b4\"\b\230S!\bÌT!\bô¯û·Ø:°¿Ò\020ñ·@") at src/inter_run.c:223
#8  0xb7cd640c in Parrot_runops_fromc_args (interp=0x8050040, sub=0x82154cc, 
sig=0xb7f35fc7 "vP") at src/inter_run.c:295
#9  0xb7cbf4c7 in Parrot_runcode (interp=0x8050040, argc=1, argv=0xbfb03c08) at 
src/embed.c:951
#10 0xb7f110d2 in imcc_run_pbc (interp=0x8050040, obj_file=0, output_file=0x0, 
argc=1, argv=0xbfb03c08) at compilers/imcc/main.c:783
#11 0xb7f11b82 in imcc_run (interp=0x8050040, sourcefile=0xbfb04350 
"t/compilers/imcc/syn/hll_2.pbc", argc=1, argv=0xbfb03c08) at 
compilers/imcc/main.c:1071
#12 0x08048998 in main (argc=1, argv=0xbfb03c08) at src/main.c:61
(gdb) p interp
$1 = (Parrot_Interp) 0x8050040
(gdb) p interp->vtables
$2 = (VTABLE **) 0x80731d8
(gdb) p interp->vtables->[base_type]
A syntax error in expression, near `[base_type]'.
(gdb) p interp->vtables[base_type]
$3 = (VTABLE *) 0x0
(gdb) 

Reply via email to