Ticket #48 (closed bug: fixed)
segfault exposed by partcl's t/cmd_break.t
| Reported by: | coke | Owned by: | |
|---|---|---|---|
| Priority: | blocker | Milestone: | 0.9.0 |
| Component: | none | Version: | |
| Severity: | high | Keywords: | |
| Cc: | Language: | ||
| Patch status: | Platform: |
Description
First, build a copy of partcl to use against parrot's svn HEAD:
http://code.google.com/p/partcl/wiki/PartclSource
Now run:
../../parrot tcl.pbc t/cmd_break.t
Get a segfault; the backtrace shown by gdb is slightly large (over 20K frames before I gave up.), but here's the first 2 pages or so:
#0 0xb6c6d65c in _int_malloc () from /lib/i686/nosegneg/libc.so.6
#1 0xb6c6efcf in calloc () from /lib/i686/nosegneg/libc.so.6
#2 0xb7b66155 in mem_sys_allocate_zeroed (size=16) at src/gc/memory.c:102
#3 0xb7b6694a in Parrot_alloc_context (interp=0x804f040,
number_regs_used=0xbf7d423c, old=0x84766b0) at src/gc/register.c:428
#4 0xb7b66af7 in Parrot_set_new_context (interp=0x804f040,
number_regs_used=0xbf7d423c) at src/gc/register.c:511
#5 0xb7b667ec in Parrot_push_context (interp=0x804f040,
n_regs_used=0xbf7d423c) at src/gc/register.c:348
#6 0xb7b6f0da in count_signature_elements (interp=0x804f040,
signature=0xb7ec2e44 "P->", args_sig=0xb5c152e0, results_sig=0xb5c152c4,
flag=1) at src/inter_call.c:2028
#7 0xb7b6fcc7 in Parrot_PCCINVOKE (interp=0x804f040, pmc=0xb5c153a4,
method_name=0x807c108, signature=0xb7ec2e44 "P->") at src/inter_call.c:2465
#8 0xb7dad0b2 in Parrot_FixedPMCArray_get_iter (interp=0x804f040,
pmc=0xb62bed18) at ./src/pmc/fixedpmcarray.pmc:664
#9 0xb7ba42b3 in Parrot_cx_find_handler_local (interp=0x804f040,
task=0xb5c153c0) at src/scheduler.c:754
#10 0xb7b5be34 in Parrot_ex_throw_from_c (interp=0x804f040,
exception=0xb5c153c0) at src/exceptions.c:291
#11 0xb7b5c0ad in Parrot_ex_throw_from_c_args (interp=0x804f040, ret_addr=0x0,
exitcode=34,
format=0xb7ee78f4 "ResizablePMCArray: Can't pop from an empty array!")
at src/exceptions.c:394
#12 0xb7e00a55 in Parrot_ResizablePMCArray_pop_pmc (interp=0x804f040,
pmc=0x81ee578) at ./src/pmc/resizablepmcarray.pmc:432
#13 0xb7b0d252 in Parrot_pop_p_p (cur_opcode=0x83cf484, interp=0x804f040)
at src/ops/pmc.ops:333
#14 0xb7ba2bfc in runops_slow_core (interp=0x804f040, pc=0x83cf484)
at src/runops_cores.c:222
#15 0xb7b73159 in runops_int (interp=0x804f040, offset=91)
at src/interpreter.c:938
#16 0xb7b73a33 in runops (interp=0x804f040, offs=91) at src/inter_run.c:103
#17 0xb7b73cf1 in runops_args (interp=0x804f040, sub=0xb62bed34,
obj=0x80b66b8, meth_unused=0x0, sig=0xb7e66530 "vP",
ap=0xbf7d65cc "|VÁµ|VÁµ$âó·\030f}¿\002¾µ·@ð\004\b\002")
at src/inter_run.c:240
#18 0xb7b73e2c in Parrot_runops_fromc_args (interp=0x804f040, sub=0xb62bed34,
sig=0xb7e66530 "vP") at src/inter_run.c:305
#19 0xb7b5bfdf in Parrot_ex_throw_from_c (interp=0x804f040,
exception=0xb5c1567c) at src/exceptions.c:327
#20 0xb7b5c0ad in Parrot_ex_throw_from_c_args (interp=0x804f040, ret_addr=0x0,
exitcode=34,
format=0xb7ee78f4 "ResizablePMCArray: Can't pop from an empty array!")
at src/exceptions.c:394
#21 0xb7e00a55 in Parrot_ResizablePMCArray_pop_pmc (interp=0x804f040,
pmc=0x81ee578) at ./src/pmc/resizablepmcarray.pmc:432
#22 0xb7b0d252 in Parrot_pop_p_p (cur_opcode=0x83cf484, interp=0x804f040)
at src/ops/pmc.ops:333
#23 0xb7ba2bfc in runops_slow_core (interp=0x804f040, pc=0x83cf484)
at src/runops_cores.c:222
#24 0xb7b73159 in runops_int (interp=0x804f040, offset=91)
at src/interpreter.c:938
#25 0xb7b73a33 in runops (interp=0x804f040, offs=91) at src/inter_run.c:103
#26 0xb7b73cf1 in runops_args (interp=0x804f040, sub=0xb62bed34,
obj=0x80b66b8, meth_unused=0x0, sig=0xb7e66530 "vP",
ap=0xbf7d67cc "\030ZÁµ\030ZÁµ$âó·\030h}¿\002¾µ·@ð\004\b\002")
at src/inter_run.c:240
#27 0xb7b73e2c in Parrot_runops_fromc_args (interp=0x804f040, sub=0xb62bed34,
sig=0xb7e66530 "vP") at src/inter_run.c:305
#28 0xb7b5bfdf in Parrot_ex_throw_from_c (interp=0x804f040,
exception=0xb5c15a18) at src/exceptions.c:327
#29 0xb7b5c0ad in Parrot_ex_throw_from_c_args (interp=0x804f040, ret_addr=0x0,
exitcode=34,
format=0xb7ee78f4 "ResizablePMCArray: Can't pop from an empty array!")
at src/exceptions.c:394
#30 0xb7e00a55 in Parrot_ResizablePMCArray_pop_pmc (interp=0x804f040,
pmc=0x81ee578) at ./src/pmc/resizablepmcarray.pmc:432
#31 0xb7b0d252 in Parrot_pop_p_p (cur_opcode=0x83cf484, interp=0x804f040)
at src/ops/pmc.ops:333
#32 0xb7ba2bfc in runops_slow_core (interp=0x804f040, pc=0x83cf484)
at src/runops_cores.c:222
#33 0xb7b73159 in runops_int (interp=0x804f040, offset=91)
at src/interpreter.c:938
#34 0xb7b73a33 in runops (interp=0x804f040, offs=91) at src/inter_run.c:103
#35 0xb7b73cf1 in runops_args (interp=0x804f040, sub=0xb62bed34,
obj=0x80b66b8, meth_unused=0x0, sig=0xb7e66530 "vP",
ap=0xbf7d69cc "D]ÁµD]Áµ$âó·\030j}¿\002¾µ·@ð\004\b\002")
at src/inter_run.c:240
#36 0xb7b73e2c in Parrot_runops_fromc_args (interp=0x804f040, sub=0xb62bed34,
sig=0xb7e66530 "vP") at src/inter_run.c:305
#37 0xb7b5bfdf in Parrot_ex_throw_from_c (interp=0x804f040,
exception=0xb5c15d44) at src/exceptions.c:327
#38 0xb7b5c0ad in Parrot_ex_throw_from_c_args (interp=0x804f040, ret_addr=0x0,
exitcode=34,
format=0xb7ee78f4 "ResizablePMCArray: Can't pop from an empty array!")
at src/exceptions.c:394
#39 0xb7e00a55 in Parrot_ResizablePMCArray_pop_pmc (interp=0x804f040,
pmc=0x81ee578) at ./src/pmc/resizablepmcarray.pmc:432
#40 0xb7b0d252 in Parrot_pop_p_p (cur_opcode=0x83cf484, interp=0x804f040)
at src/ops/pmc.ops:333
#41 0xb7ba2bfc in runops_slow_core (interp=0x804f040, pc=0x83cf484)
at src/runops_cores.c:222
#42 0xb7b73159 in runops_int (interp=0x804f040, offset=91)
at src/interpreter.c:938
#43 0xb7b73a33 in runops (interp=0x804f040, offs=91) at src/inter_run.c:103
#44 0xb7b73cf1 in runops_args (interp=0x804f040, sub=0xb62bed34,
obj=0x80b66b8, meth_unused=0x0, sig=0xb7e66530 "vP",
ap=0xbf7d6bcc "\034`Áµ\034`Áµ$âó·\030l}¿\002¾µ·@ð\004\b\002")
at src/inter_run.c:240
#45 0xb7b73e2c in Parrot_runops_fromc_args (interp=0x804f040, sub=0xb62bed34,
sig=0xb7e66530 "vP") at src/inter_run.c:305
#46 0xb7b5bfdf in Parrot_ex_throw_from_c (interp=0x804f040,
exception=0xb5c1601c) at src/exceptions.c:327
#47 0xb7b5c0ad in Parrot_ex_throw_from_c_args (interp=0x804f040, ret_addr=0x0,
exitcode=34,
format=0xb7ee78f4 "ResizablePMCArray: Can't pop from an empty array!")
at src/exceptions.c:394
#48 0xb7e00a55 in Parrot_ResizablePMCArray_pop_pmc (interp=0x804f040,
pmc=0x81ee578) at ./src/pmc/resizablepmcarray.pmc:432
Change History
Note: See
TracTickets for help on using
tickets.
