tiger% ./parrot -t t/dynoplibs/myops_3.pir
     0 print "neither here\n"
neither here
     2 hcf
Segmentation fault

When run under a debugger, it looks like this:

(dbx) run -t t/dynoplibs/myops_3.pir
Running: parrot -t t/dynoplibs/myops_3.pir
(process id 15185)
Reading myops_ops.so
     0 print "neither here\n"
neither here
     2 hcf
[EMAIL PROTECTED] ([EMAIL PROTECTED]) signal SEGV (no mapping at the fault address) in Parrot_hcf at line 52 in file "myops.ops"
   52       i = *a;
(dbx) print a
a = (nil)
(dbx) where
current thread: [EMAIL PROTECTED]
=>[1] Parrot_hcf(cur_opcode = 0x83f09d8, interp = 0x840d868), line 52 in "myops.ops" [2] runops_trace_core(interp = 0x840d868, pc = 0x83f09d8), line 171 in "runops_cores.c" [3] runops_slow_core(interp = 0x840d868, pc = 0x83f09d0), line 209 in "runops_cores.c" [4] runops_int(interp = 0x840d868, offset = 0), line 918 in "interpreter.c"
  [5] runops(interp = 0x840d868, offs = 0), line 106 in "inter_run.c"
[6] runops_args(interp = 0x840d868, sub = 0x8607a60, obj = 0x84742b0, meth_unused = (nil), sig = 0x832d004 "vP", ap = 0x8047288), line 232 in "inter_run.c" [7] Parrot_runops_fromc_args(interp = 0x840d868, sub = 0x8607a60, sig = 0x832d004 "vP", ... = 0x8607a44, ...), line 301 in "inter_run.c" [8] Parrot_runcode(interp = 0x840d868, argc = 1, argv = 0x8047374), line 943 in "embed.c"
  [9] imcc_run_pbc(0x840d868, 0x0, 0x0, 0x1, 0x8047374, 0x0), at 0x8149e76
[10] imcc_run(interp = 0x840d868, sourcefile = 0x8047503 "t/dynoplibs/myops_3.pir", argc = 1, argv = 0x8047374), line 1071 in "main.c"
  [11] main(argc = 1, argv = 0x8047374), line 61 in "main.c"
(dbx)

- Andrew
--
Talk is cheap. Show me the code. -- Linus Torvalds

Reply via email to