Details
-
Type:
Bug
-
Status: Done
-
Resolution: Done
-
Fix Version/s: None
-
Component/s: obs_base
-
Labels:None
-
Story Points:1
-
Epic Link:
-
Sprint:AP S21-1 (December)
-
Team:Alert Production
-
Urgent?:No
Description
This seems like it has to be caused by DM-27178. But I see Jenkins passed on that branch at 2020-12-16T04:11Z (a force-push thereafter did not significantly change the code), and the nightly lsst_distrib Jenkins build also passed.
The weird thing is that (on lsst-devl02) pytest seems to succeed, as does scons -j 1, but scons -j 8 fails. 20 runs of pytest -n 8 tests/test_cameraMapper.py separated by rm -rf .pytest_cache gives 2 passes and 18 failures. 20 similar runs with -n 4 gives 14 passes and only 6 failures. Interestingly, -n 5 gave 20 failures, and -n 3 gave 19.
Is this a race condition having to do with the Filter singleton?
But the pytest workers run in separate processes, so I don't see how that happens.
It does seem plausible that this could be a conflict between MinCam and some real instrument. Constructing any Instrument resets the filters, and I hadn't realized at the time that I wrote it that testStandardizeFiltersFilterNoDefs really does need the filters to be registered (testStandardizeFiltersFilterDefs should still be safe, as it should not exercise any code paths that use Filter).
Given that we presumably need to merge this today, should I disable MinCam (and both tests that depend on it) entirely, or just testStandardizeFiltersFilterNoDefs? Creating a test Instrument was a bit of a risk in the first place, I just thought (based on scons -j 6) that it had worked out.