[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