[perl #40608] key_append segfault

2006-10-28 Thread via RT
# New Ticket Created by  Jonathan Worthington 
# Please include the string:  [perl #40608]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=40608 


The following program segfaults Parrot:

  .sub main
  $P0 = new .Key
  push $P0, test
  push $P0, test
  print not reached
  .end

Which sucks. :-(



[perl #40608] key_append segfault

2006-10-28 Thread Bob Rogers
   From: Jonathan Worthington (via RT) [EMAIL PROTECTED]
   Date: Sat, 28 Oct 2006 13:32:25 -0700

   The following program segfaults Parrot:

 .sub main
 $P0 = new .Key
 push $P0, test
 push $P0, test
 print not reached
 .end

   Which sucks. :-(

I don't see a segfault in r15040 on x86 GNU/Linux, but it seems to be
using push_string().  Same error on r15009.  What are you running?

-- Bob


[EMAIL PROTECTED] cat jw.pir 

.sub main :main
  $P0 = new .Key
  push $P0, test
  push $P0, test
  print not reached
.end
[EMAIL PROTECTED] ./parrot jw.pir
push_string() not implemented in class 'Key'
current instr.: 'main' pc 3 (jw.pir:4)
[EMAIL PROTECTED] 


[perl #40608] key_append segfault

2006-10-28 Thread [EMAIL PROTECTED] via RT
On Sat Oct 28 15:30:49 2006, rgrjr wrote:
 I don't see a segfault in r15040 on x86 GNU/Linux, but it seems to be
 using push_string().  Same error on r15009.  What are you running?
 
Windows. And sorry, I stuffed up the example. It shoulda been:

.sub main
$P0 = new .Key
$P1 = new .String
$P1 = test
push $P0, $P1
$P2 = new .String
$P2 = test
push $P0, $P2
print not reached
.end

That is, you can only push another key onto a key. I discovered this by
accident when implementing :vtable, and filed a ticket to make sure it
wasn't forgotten. Turns out it was easy to deal with, so as of r15043
the issue is resolved. Sorry for the noise on-list.

Jonathan