[Scons-dev] The magic disappearing error messages

Tom Tanner (BLOOMBERG/ LONDON) ttanner2 at bloomberg.net
Tue Oct 16 12:38:11 EDT 2012


There's a couple of different bugs that says under certain circumstances, scons can just stop dead with no errors.

I have managed to replicate this by calling subst with some inappropriate string when not actually building. As far as I can see one or both of the following lines are responsible, both in Subst.py

At around line 440-450, in StringSubber.expand: it calls raise_except when it receives an exception that isn't in allowable exceptions. I think it should just raise the original exception.

Similarly at around line 660, in ListSubber.expand: it calls raise_except rather than rethrowing.

This ends up translating the excpetion into a BuildError which then confuses the code in Main.py all to pieces.

So, my conceptual fix would just be, as indicated, to re-raise the exception rather than translating it to a BuildError, but I'm not sure what this would affect. I'd have thought a python exception should just be treated as a python exception. Also, I'm not entirely sue whether, in that caise, the raise_exception about 5 lines later in both cases shouldn't actually be raising a NameError.

Any thoughts or wisdom?

Thanks



More information about the Scons-dev mailing list