On Sunday 10 June 2007 14:44:29 Matt Diephouse wrote: > On 6/7/07, chromatic <[EMAIL PROTECTED]> wrote:
> > When I run the t/01-sanity/06-use.t test in languages/perl6, I get an > > assertion failure: > > > > parrot: src/string.c:2028: string_hash: Assertion `s->encoding && > > s->charset && !(((s)->obj.flags) & b_PObj_on_free_list_FLAG)' failed. > Assertions like this really ought to be broken up in the source. By > using multiple assertions, it's immediately obvious which assertion as > actually failing. I've been meaning to split this up for quite some > time but never got around to it. Fixed in r18911. > Good work! This has been the cause of a number of Perl 6 GC errors. I > spent some time trying to track it down before but never made it as > far as you did. > Here's hoping that this is the last GC bug. ;-) I'm not sure it is a GC bug. At least, if it's a GC bug, it's in assuming that GC flags have any meaning outside of a GC run. I have a very strong inclination to revert the "Mark all STRINGs as live" change and fix all code that looks at GC flags outside of src/gc/*.c. I do hope that Perl 6 runs better on Win32 with the temporary fix though. -- c