2009/3/22 Will Coleda via RT <parrotbug-follo...@parrotcode.org>:
> On Sat Jan 31 17:51:51 2009, jk...@verizon.net wrote:
>> Thanks.  Making that correction, I confirm that the OP's seg fault still
>> occurs:
>>
>> $ cat seg.pir
>> .sub main :main
>> .include 'include/test_more.pir'
>>
>> new $P0, 'Integer'
>> new $P2, 'Integer'
>> new $P1, 'Integer'
>>
>> set $P0, 1
>> set $P2, 0
>>
>> ok( 1, 'ready...' )
>>
>> push_eh handler
>> $P1 = $P0 / $P2
>> ok( 0, "not caught" )
>> end
>> pop_eh
>> handler:
>> ok( 1, 'caught' ) # segfaults
>> # say "ok" # no problem with this
>> .end
>>
>> # Local Variables:
>> #   mode: pir
>> #   fill-column: 100
>> # End:
>> # vim: expandtab shiftwidth=4 ft=pir:
>>
>> $ ./parrot seg.pir
>> ok 1 - ready...
>> Segmentation fault
>
> Still segfaulting in r37615.
>
> Here's the backtrace.
>
> #0  0x010925ef in clone_key_arg (interp=0x2300da0, st=0xbfffc618) at 
> src/call/pcc.c:1191
> #1  0x01092729 in Parrot_convert_arg (interp=0x2300da0, st=0xbfffc618) at
> src/call/pcc.c:1817
> #2  0x01093792 in Parrot_process_args (interp=0x2300da0, st=0xbfffc618,
> param_or_result=PARROT_PASS_PARAMS) at src/call/pcc.c:1694
> #3  0x01093cc2 in parrot_pass_args (interp=0x2300da0, src_ctx=0x2324a70,
> dest_ctx=0x233bce0, src_indexes=0x2327488, dest_indexes=0x3591fc,
> param_or_result=PARROT_PASS_PARAMS) at src/call/pcc.c:1884
> #4  0x0100fd10 in Parrot_get_params_pc (cur_opcode=0x3591fc, 
> interp=0x2300da0) at
> src/ops/core.ops:615
> #5  0x010e68f3 in runops_slow_core (interp=0x2300da0, pc=0x3591fc) at
> src/runops_cores.c:461
> #6  0x01099bc5 in runops_int (interp=0x2300da0, offset=66) at 
> src/interpreter.c:980
> #7  0x0109a651 in runops (interp=0x2300da0, offs=66) at src/call/ops.c:107
> #8  0x0109a917 in runops_args (interp=0x2300da0, sub=0x370750, obj=0x28354b0,
> meth_unused=0x0, sig=0x12eddc8 "vP", ap=0xbfffc87c "x\0067") at 
> src/call/ops.c:254
> #9  0x0109b759 in Parrot_runops_fromc_args (interp=0x2300da0, sub=0x370750,
> sig=0x12eddc8 "vP") at src/call/ops.c:321
> #10 0x0107b775 in Parrot_ex_throw_from_c (interp=0x2300da0, 
> exception=0x370678) at
> src/exceptions.c:341
> #11 0x0107bd4f in Parrot_ex_throw_from_c_args (interp=0x2300da0,
> ret_addr_unused=0x0, exitcode=30, format=0x131cddc "float division by zero") 
> at
> src/exceptions.c:410
> #12 0x011beec5 in Parrot_Integer_multi_divide_DEFAULT_PMC (interp=0x2300da0,
> pmc=0x32b8e8, value=0x32b858, dest=0x32b828) at ./src/pmc/integer.pmc:805
> #13 0x010a8bae in pcf_P_JPPP (interp=0x2300da0, self=0x283dc90) at 
> src/nci.c:609
> #14 0x011b18a9 in Parrot_NCI_invoke (interp=0x2300da0, pmc=0x283dc90, 
> next=0x0) at
> ./src/pmc/nci.pmc:330
> #15 0x0109635f in Parrot_pcc_invoke_from_sig_object (interp=0x2300da0,
> sub_obj=0x283dc90, sig_obj=0x370720) at src/call/pcc.c:2980
> #16 0x010a6dfc in Parrot_mmd_multi_dispatch_from_c_args (interp=0x2300da0,
> name=0x12ec650 "divide", sig=0x1301048 "PPP->P") at src/multidispatch.c:340
> #17 0x0117d1f4 in Parrot_default_divide (interp=0x2300da0, pmc=0x32b8e8,
> value=0x32b858, dest=0x32b828) at ./src/pmc/default.pmc:1473
> #18 0x01023aa0 in Parrot_div_p_p_p (cur_opcode=0x2327444, interp=0x2300da0) at
> src/ops/math.ops:402
> #19 0x010e68f3 in runops_slow_core (interp=0x2300da0, pc=0x2327444) at
> src/runops_cores.c:461
> #20 0x01099bc5 in runops_int (interp=0x2300da0, offset=0) at 
> src/interpreter.c:980
> #21 0x0109a651 in runops (interp=0x2300da0, offs=0) at src/call/ops.c:107
> #22 0x0109a917 in runops_args (interp=0x2300da0, sub=0x32ef78, obj=0x28354b0,
> meth_unused=0x0, sig=0x12eddc8 "vP", ap=0xbfffed2c "`?2") at 
> src/call/ops.c:254
> #23 0x0109b759 in Parrot_runops_fromc_args (interp=0x2300da0, sub=0x32ef78,
> sig=0x12eddc8 "vP") at src/call/ops.c:321
> #24 0x01077d8e in Parrot_runcode (interp=0x2300da0, argc=1, argv=0xbfffee80) 
> at
> src/embed.c:1011
> #25 0x012d2caf in imcc_run_pbc (interp=0x2300da0, obj_file=0, 
> output_file=0x0, argc=1,
> argv=0xbfffee80) at compilers/imcc/main.c:798
> #26 0x012d3936 in imcc_run (interp=0x2300da0, sourcefile=0xbfffef5f 
> "foo.pir", argc=1,
> argv=0xbfffee80) at compilers/imcc/main.c:1085
> #27 0x000029b8 in main (argc=1, argv=0xbfffee80) at src/main.c:61
> The program is running.  Exit anyway? (y or n)
>
>

Look like https://trac.parrot.org/parrot/ticket/472

François.

>
> --
> Will "Coke" Coleda
> _______________________________________________
> http://lists.parrot.org/mailman/listinfo/parrot-dev
>
>

Reply via email to