Ticket #8028 (closed: fixed)
Fix Windows 7 (Debug) Build on Jenkins
Reported by: | Peter Parker | Owned by: | Peter Parker |
---|---|---|---|
Priority: | major | Milestone: | Release 3.0 |
Component: | Framework | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Russell Taylor |
Description
This build was introduced recently and has been failing ever since.
There are three problematic tests:
- AlgorithmsTest.FindPeaksTest
- AlgorithmsTest.StripVanadiumPeaks2Test
- CrystalTest.MaskPeaksWorkspaceTest
Jenkins is low on details but a run of the VS debugger seems to suggest that these are just related to iterators / indexes being out of bounds. Hopefully, relatively easy to fix.
Change History
comment:2 Changed 7 years ago by Peter Parker
Refs #8028 - Ensure map is being accessed at an existing key.
These changes pass the unit tests, but it would be good if someone who knows more about this code could take a look to double check it works as intended.
Changeset: 0ed1dec9c6fb9341e5d7933a8b4db3a8c5f4f415
comment:3 Changed 7 years ago by Peter Parker
Refs #8028 - Pin down debug error with unit test.
Changeset: 928873f16b7b506fd904c61ee6881ea42d658a39
comment:4 Changed 7 years ago by Peter Parker
- Status changed from inprogress to verify
- Resolution set to fixed
Resolving as fixed.
Vickie confirmed that changeset 0ed1dec9c6fb9341e5d7933a8b4db3a8c5f4f415 was reasonable.
The three unit tests pass on my machine, hopefully that will fix the build on Jenkins.
Tester: make sure the Windows Debug build is passing.
comment:5 Changed 7 years ago by Vickie Lynch
Refs #8028 fix system test broken by this ticket
Changeset: b6f3c2b61a95856955b6aed7efe247ce9b970e06
comment:6 Changed 7 years ago by Peter Parker
- Status changed from verify to reopened
- Resolution fixed deleted
I'm reopening this ticket, since PointByPointVCorrectionTest failed this morning.
It appears to be a multi threading issue. Sometimes the test fails and sometimes it passes.
@Vickie, I can't seem to see the changeset in comment 5. Was that part of this ticket, or added by mistake?
comment:7 Changed 7 years ago by Peter Parker
- Status changed from reopened to inprogress
Refs #8028 - Fix sporadically-failing unit test.
- Replaced buggy use of std::bind2nd within PARRELLEL macros.
- Removed unnecessary call to a workspace's dataX() method.
Changeset: 8880bcc23fac78bc1768eb5ac5c763be5d071b1a
comment:8 Changed 7 years ago by Peter Parker
Refs #8028 - Skip python unit test on Windows Debug only.
Since we cannot easily support sqlite3 on Windows in Debug, just skip this single test if we can't import sqlite3.
Also removed redundant import check at start of file, since it gets checked in the "test_imports" method later.
Changeset: dc00612ef1b82401ca24ce65adc0cc187ff791ec
comment:9 Changed 7 years ago by Peter Parker
Refs #8028 - Manually skip test rather than use skipIf decorator.
"skipIf" was only introduced in Python version 2.7, so we have to skip the test manually since we have an older version of Python on our RHEL 6 build.
Changeset: d091b6f48189145f458e00c2cfc39bdec59ad4c5
comment:10 Changed 7 years ago by Peter Parker
Refs #8028 - Remove files I added accidentally.
A "git add ." caught some files I had in my working directory.
Changeset: 745e87f2223a5fc284ade3976913f1863a37b32e
comment:11 Changed 7 years ago by Peter Parker
- Status changed from inprogress to verify
- Resolution set to fixed
The build appears to be fully fixed now and the system tests were fixed by Vickie. Closing.
Tester:
- Look through my changes and make sure they look appropriate.
- Make sure to merge Vickie's system test changes if you end up passing the ticket.
comment:12 Changed 7 years ago by Russell Taylor
- Status changed from verify to verifying
- Tester set to Russell Taylor
comment:13 Changed 7 years ago by Russell Taylor
- Status changed from verifying to reopened
- Resolution fixed deleted
The change to PointByPointVCorrection.cpp at lines 88-89 means that the X values are no longer being copied into the output workspace. You need to put in something like outputWS->setX( i, inputWS->refX(i) );
It doesn't say much for the testing of this algorithm that this went unnoticed - be sure to put something in the unit test to ensure this can't happen again.
comment:14 Changed 7 years ago by Peter Parker
- Status changed from reopened to inprogress
Refs #8028 - Ensure that X values are carried over to alg result.
- Add setX() line as per Russell's suggestion.
- Cover the X data with a unit test.
Changeset: 9ae2141c878b75f2ec3a313504bc5ecaf4dc40a3
comment:15 Changed 7 years ago by Peter Parker
- Status changed from inprogress to verify
- Resolution set to fixed
Marking as fixed again.
comment:17 Changed 7 years ago by Russell Taylor
- PointByPointVCorrection fix checks out
- The Jenkins build is passing
- I ran these tests through valgrind, which reported plenty of errors before the changes and none afterwards (not sure about MaskPeaksWorkspaceTest - that seemed OK anyway and hasn't been touched in this ticket).
- I'm hoping this will solve the occasional failure of the CalibrateRectangularDetector_Test.PG3Calibration system test, which sometimes crashes in GetDetOffsetsMultiPeaks (which calls FindPeaks)
comment:18 Changed 7 years ago by Russell Taylor
- Status changed from verifying to closed
Merge remote branch 'origin/feature/8028_fix_windows_7_db_build'
Full changeset: cfd8495d2578ce28fcd3b3bb48546c1b31a8b987
comment:19 Changed 7 years ago by Russell Taylor
Merge remote branch 'origin/feature/8028_fix_windows_7_db_build'
Full changeset: 59679062bff320645dc462065845ffbc5c2f34b3
comment:20 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 8873
Refs #8028 - Avoid dereferencing an end iterator.
Changeset: 0a83fb72eb69b5cfd8f5680f81f03178a2b381fb