On Sun, Jul 31, 2011 at 10:04:59AM +0200, David Kastrup wrote: > But this bug has been reported as occuring non-deterministically even in > successive runs on the same machine, and there are rather few things > that can introduce such stochastic behavior (another possibility would > be timer-triggered garbage collection).
In C++ code, I'd suspect some uninitalized variables (especially since it always seems to work on the second run on a machine that failed in the first run). But since that throw() message seems to come from guile, and AFAIK you can't have an unitalized variable in guile, I guess that's not an issue? Or could we be setting a guile variable from some (uninitalized) C++ variable? It's a shame that we can't (usefully) run valgrind on lilypond, or that nobody's experiented with llvm or even AFAIK the more sophisticated gcc options. Finding uninitalized variables is a task that can be done by the computer; humans should never need to theorize about whether that's a cause or not. Just run the program with a trusted tool, and then you'll either find the variables, or else you can cross that off from the list of possibilities. Cheers, - Graham _______________________________________________ lilypond-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-devel
