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. > > Examining the code in src/ops/set.ops we see that VTABLE_destroy(interp, $1) > is called, which in turn calls mem_sys_free(PMC_data(pmc)). > Thus, the PMC_data, which is the actual "object guts" has been freed before > the call to VTABLE_morph(interp, $1, type). > This calls the generic object morph function, which uses the aforementioned > guts to dispatch to the appropriate class function - oops! > > 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