Details
-
Type:
Story
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: base
-
Labels:None
-
Team:Architecture
Description
The attached bug report is from a unit test failure that occurred in base when trying to build the sims packages. The failure did not happen to me. It happened once to Seth Digel, and once to Michael Reuter. In both cases, simply restarting the build "resolved" the issue (i.e. the build completed on the second attempt with no changes made to the code).
Minor comments on the PR.
I'm a bit confused as to whether you've actually solved the race or not though. From reading the code, it looks as though generating lsst64defs.py is part of the python target, and that the tests target won't be run until python is complete. But that's not quite what you write, either here or in the code – you say you've "deferred the tests to the last minute", which rather implies you're just giving the C code more time to run but not guaranteeing that it will always have enough time. My scons-fu isn't strong enough to say for sure which is true without digging in further – can you clarify?
If we are not able to definitively avoid the race in this situation, I'm actually a bit tempted by the simple solution I suggested above of just hard-coding the value. It would make the code a lot simpler and avoid possible races, it only need to be hard-coded for Python 2/Mac, and it does appear to be hard-coded (in multiple places) in the Python source.