On Sunday 29 June 2008 16:16:13 Moritz Lenz wrote:

> > They almost definitely won't get fixed unless they're reported, and they
> > probably won't get fixed without simpler PIR examples.
>
> So how do we get simpler PIR examples?

Sometimes running:

        $ parrot perl6.pbc --output=buggy.pir --trace=PIR buggy.p6

... and adding "load_bytecode 'perl6.pbc'" is enough.

Sometimes that gets you enough code to debug, and sometimes you can strip it 
down.  Experience helps.  Maybe looking at the tests I added for the two 
crashers Patrick reported in the previous week will help.

> And should I just report all GC issues even if they can't be reproduced
> in PIR?
> Do we even know if they *can* be reproduced in PIR at all?

They should all be reproducable in PIR, unless you're embedding libparrot and 
doing something wrong there, or using NCI very badly.  (I've done both.)

> I'm not too familiar with parrot's internals, but I could well imagine
> that a small memory corruption or GC oddity appears in some of the code
> that loads pbc files, or during any other operation that isn't executed
> (or executed differently) when loading and compiling PIR files.
>
> If we are truly out of luck, it might be some arithmetic bug which only
> manifests itself for larger bytecode files.

It's possible, but pretty unlikely; if bytecode is that badly damaged, we'd 
see other crashes first.

-- c

Reply via email to