[perl #57764] docs/art/ppp02-pmc.pod -- example 9 segfault
Will Coleda via RT
parrotbug-followup at parrotcode.org
Thu Feb 12 21:14:42 UTC 2009
On Sat Jan 31 19:16:41 2009, jkeen at verizon.net wrote:
> On Sun Aug 10 02:18:27 2008, pavlo.korzhyk at gmail.com wrote:
> > To reproduce simply copy-paste example 9 from docs/art/ppp02-pmc.pod
> > and run it:
> >
>
> For the record, this file has moved to: docs/user/pir/pp002-pmc.pod
Here's a shorter example that still generates a bus error for me on
darwin/x86
# ---
.include 'timer.pasm'
.sub expired
noop
.end
.sub _ :main
$P0 = new 'Timer'
$P1 = get_global 'expired'
$P0[.PARROT_TIMER_HANDLER] = $P1
$P0[.PARROT_TIMER_REPEAT] = -1
$P0[.PARROT_TIMER_RUNNING] = 1
set_global 'timer', $P0
loop:
sleep 1
goto loop
.end
#---
And here's a partial bt from the bus error:
#0 0x00000001 in ?? ()
#1 0x0107f318 in Parrot_exit (interp=0x600cb0, status=1) at
src/exit.c:91
#2 0x0107e462 in die_from_exception (interp=0x600cb0,
exception=0x2fa9f0) at src/exceptions.c:159
#3 0x0107e521 in Parrot_ex_throw_from_c (interp=0x600cb0,
exception=0x2fa9f0) at src/exceptions.c:308
#4 0x0107ec7f in Parrot_ex_throw_from_c_args (interp=0x600cb0,
ret_addr_unused=0x0, exitcode=62, format=0x1314724 "maximum recursion
depth exceeded") at src/exceptions.c:409
#5 0x0119f660 in Parrot_Sub_invoke (interp=0x600cb0, pmc=0x2c19c0,
next=0x0) at ./src/pmc/sub.pmc:268
#6 0x0109d4c6 in runops_args (interp=0x600cb0, sub=0x2c19c0,
obj=0x2836cb0, meth_unused=0x0, sig=0x12edf60 "v", ap=0xbff75d1c
"(\017R") at src/call/ops.c:204
#7 0x0109e339 in Parrot_runops_fromc_args_event (interp=0x600cb0,
sub=0x2c19c0, sig=0x12edf60 "v") at src/call/ops.c:354
#8 0x010e1066 in Parrot_cx_timer_invoke (interp=0x600cb0,
timer=0x2c19d8) at src/scheduler.c:945
#9 0x010e3124 in Parrot_cx_handle_tasks (interp=0x600cb0,
scheduler=0x277c00) at src/scheduler.c:137
#10 0x010e32bd in Parrot_cx_runloop_end (interp=0x600cb0) at
src/scheduler.c:224
#11 0x0109a292 in Parrot_really_destroy (interp=0x600cb0,
exit_code_unused=1, arg_unused=0x0) at src/inter_create.c:324
#12 0x0107f318 in Parrot_exit (interp=0x600cb0, status=1) at
src/exit.c:91
#13 0x0107e462 in die_from_exception (interp=0x600cb0,
exception=0x2c1960) at src/exceptions.c:159
#14 0x0107e521 in Parrot_ex_throw_from_c (interp=0x600cb0,
exception=0x2c1960) at src/exceptions.c:308
#15 0x0107ec7f in Parrot_ex_throw_from_c_args (interp=0x600cb0,
ret_addr_unused=0x0, exitcode=62, format=0x1314724 "maximum recursion
depth exceeded") at src/exceptions.c:409
#16 0x0119f660 in Parrot_Sub_invoke (interp=0x600cb0, pmc=0x2c1a50,
next=0x0) at ./src/pmc/sub.pmc:268
#17 0x0109d4c6 in runops_args (interp=0x600cb0, sub=0x2c1a50,
obj=0x2836cb0, meth_unused=0x0, sig=0x12edf60 "v", ap=0xbff7601c "\f?3")
at src/call/ops.c:204
#18 0x0109e339 in Parrot_runops_fromc_args_event (interp=0x600cb0,
sub=0x2c1a50, sig=0x12edf60 "v") at src/call/ops.c:354
#19 0x010e1066 in Parrot_cx_timer_invoke (interp=0x600cb0,
timer=0x2c1a68) at src/scheduler.c:945
#20 0x010e3124 in Parrot_cx_handle_tasks (interp=0x600cb0,
scheduler=0x277c00) at src/scheduler.c:137
#21 0x0100f42f in Parrot_check_events__ (cur_opcode=0x625320,
interp=0x600cb0) at src/ops/core.ops:137
#22 0x010e09f3 in runops_slow_core (interp=0x600cb0, pc=0x625320) at
src/runops_cores.c:451
#23 0x0109c925 in runops_int (interp=0x600cb0, offset=0) at
src/interpreter.c:978
#24 0x0109d3b1 in runops (interp=0x600cb0, offs=0) at src/call/ops.c:106
#25 0x0109d645 in runops_args (interp=0x600cb0, sub=0x2c1ae0,
obj=0x2836cb0, meth_unused=0x0, sig=0x12edf60 "v", ap=0xbff7624c "ä?3")
at src/call/ops.c:246
#26 0x0109e339 in Parrot_runops_fromc_args_event (interp=0x600cb0,
sub=0x2c1ae0, sig=0x12edf60 "v") at src/call/ops.c:354
#27 0x010e1066 in Parrot_cx_timer_invoke (interp=0x600cb0,
timer=0x2c1af8) at src/scheduler.c:945
#28 0x010e3124 in Parrot_cx_handle_tasks (interp=0x600cb0,
scheduler=0x277c00) at src/scheduler.c:137
#29 0x0100f42f in Parrot_check_events__ (cur_opcode=0x625320,
interp=0x600cb0) at src/ops/core.ops:137
#30 0x010e09f3 in runops_slow_core (interp=0x600cb0, pc=0x625320) at
src/runops_cores.c:451
#31 0x0109c925 in runops_int (interp=0x600cb0, offset=0) at
src/interpreter.c:978
--
Will "Coke" Coleda
More information about the parrot-dev
mailing list