On Thursday 21 June 2007 22:19:42 Andy Lester wrote:

> pmichaud and I figured today that the segfaulting in 06-grammar.t is
> caused by optimization, with the --optimize flag.
>
> However, it's not all the fault of --optimize.  I've been working on
> valgrind, and there's some invalid memory accessing going on.
> There's a dump following. The key is in the call to test.'plan'(1).
> If that line is removed, valgrind runs clean.  If it's in there, then
> you get the dump as shown.  Note that this parrot is built WITHOUT --
> optimize, and we still get the valgrind failures.
>
> I hope this provides some clues.
I'm not sure that it does, but then again I'm not exactly sure what this 
valgrind run implies.

I use the shell alias:

valgrind --suppressions=~/dev/parrot/tools/dev/parrot.supp --num-callers=500 \
    --leak-check=full --leak-resolution=high --show-reachable=yes \
    parrot --leak-test

I find the diagnosis somewhat suspicious, as the call to plan() works like 
most of the rest of Test::More and Test::Builder, but for kicks what happens 
if you trigger GC runs with and without that line?

        .local pmc interp
        interp = getinterp
        interp.'run_gc'()

-- c

Reply via email to