----- 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


Reply via email to