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

Reply via email to