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