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