----- Original Message -----
From: "Will Coleda" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; "Perl6 Internals"
<[EMAIL PROTECTED]>
Sent: Monday, February 25, 2008 4:00 AM
Subject: Re: [perl #51136] [BUG] Segfault in Parrot_Ref_morph
On Sun, Feb 24, 2008 at 8:54 AM, Peter Gibbs via RT
<[EMAIL PROTECTED]> wrote:
"Will Coleda" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
>
> As of r26037, tcl is once again generating a segfault (even on
> feather!). The change in 26037 was to replace a morph + assign
with
> the 'copy' opcode.
This is indeed a problem caused by the copy op.
As a workaround for now, I suggest commenting out the call to
VTABLE_destroy, which will cause memory leaks but not segfaults. I
will work
on a proper solution later tonight if nobody beats me to it.
This does let that tcl test pass again. Thanks for the tip. I may go
ahead and remove that with a comment pointing to this ticket in the
next day or so if you don't commit a fix.
Thanks.
Regards
Peter Gibbs
--
Will "Coke" Coleda
I have done some work on resolving the consequences of the destroy, by
guarding the object method dispatch code against a missing object, but
have not yet committed it as it still does not resolve all the problems.
The current implementation of the copy op, by doing a clone followed by
a memmove, causes some sort of GC corruption, with some classes. For
example, String and TclString seem to be okay, but TclList (which
extends ResizablePMCArray) causes problems. I have to do some work for
paying clients today and tomorrow, but I will try to find some time to
continue tracking this issue.
Regards
Peter Gibbs