#1131: segfault in Parrot_assign_p_p after merge of pcc branch.
--------------------+-------------------------------------------------------
 Reporter:  coke    |       Owner:       
     Type:  bug     |      Status:  new  
 Priority:  normal  |   Milestone:       
Component:  none    |     Version:  trunk
 Severity:  fatal   |    Keywords:       
     Lang:          |       Patch:       
 Platform:          |  
--------------------+-------------------------------------------------------
 with latest parrot and partcl, the tcl code

 {{{
 proc sort {a b} { return 0 }
 puts [lsort -command sort [list 1 2]]
 }}}

 Generates a segfault. This code uses the sort method on RPA, using a sub
 compiled with the dynamic PIR compiler. Here's the snippet around the
 segfault in PIR - note that the segfault is actually in the assign.

 {{{
   # the assigns are necessary to avoid TT# 218
   $P0 = $P0.'getListValue'()
   $P1 = new 'ResizablePMCArray'
   assign $P1, $P0
   $P1.'sort'(compare)
   assign $P0, $P1
 }}}


 {{{
 Program received signal SIGSEGV, Segmentation fault.
 [Switching to Thread 0x7ff95aeb16f0 (LWP 25793)]
 0x00007ff95a8b9271 in Parrot_assign_p_p (cur_opcode=0x7ff95ad850d8,
     interp=0xcaa010) at src/ops/set.ops:234
 234       VTABLE_assign_pmc(interp, $1, $2);
 (gdb) bt
 #0  0x00007ff95a8b9271 in Parrot_assign_p_p (cur_opcode=0x7ff95ad850d8,
     interp=0xcaa010) at src/ops/set.ops:234
 #1  0x00007ff95a92954d in runops_fast_core (interp=0xcaa010,
     runcore=<value optimized out>, pc=0xcaa010) at src/runcore/cores.c:665
 #2  0x00007ff95a928de1 in runops_int (interp=0xcaa010, offset=0)
     at src/runcore/main.c:545
 #3  0x00007ff95a9021f1 in runops (interp=0xcaa010, offs=<value optimized
 out>)
     at src/call/ops.c:97
 #4  0x00007ff95a8fc7fb in Parrot_pcc_invoke_from_sig_object
 (interp=0xcaa010,
     sub_obj=<value optimized out>, call_object=<value optimized out>)
     at src/call/pcc.c:243
 #5  0x00007ff95a8fc8d4 in Parrot_pcc_invoke_sub_from_c_args
 (interp=0xcaa010,
     sub_obj=0xdc6158, sig=<value optimized out>) at src/call/pcc.c:66
 #6  0x0000000000400d2b in main (argc=2, argv=0x7fff62ebe6a8) at tcl.c:444
 }}}

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1131>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to