Ticket #10464 (closed: fixed)
Fix Column::isType on OS X with intel compiler
Reported by: | Martyn Gigg | Owned by: | Martyn Gigg |
---|---|---|---|
Priority: | critical | Milestone: | Release 3.3 |
Component: | Framework | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | #10282 | Tester: | Michael Wedel |
Description (last modified by Martyn Gigg) (diff)
The EnginX calibrate system test is currently failing on OS X, it seems to be related to the API::Column::isType check
FrameworkManager-[Notice] Welcome to Mantid version 3.2.20141030.1713 - Manipulation and Analysis Toolkit for Instrument Data FrameworkManager-[Notice] Please cite Mantid in your publications using: http://dx.doi.org/10.5286/Software/Mantid EnginXCalibrateFull-[Notice] EnginXCalibrateFull started LoadISISNexus-[Warning] non-consequent spectra ID-s in the detectors block. Unexpected situation for the loader LoadDetectorsGroupingFile-[Notice] LoadDetectorsGroupingFile started LoadDetectorsGroupingFile-[Notice] LoadDetectorsGroupingFile successful, Duration 0.01 seconds DeleteWorkspace-[Notice] DeleteWorkspace started (child) DeleteWorkspace-[Notice] DeleteWorkspace successful, Duration 0.00 seconds EnginXCalibrateFull-[Notice] EnginXCalibrateFull successful, Duration 37.98 seconds EnginXCalibrate-[Notice] EnginXCalibrate started LoadISISNexus-[Warning] non-consequent spectra ID-s in the detectors block. Unexpected situation for the loader LoadDetectorsGroupingFile-[Notice] LoadDetectorsGroupingFile started LoadDetectorsGroupingFile-[Notice] LoadDetectorsGroupingFile successful, Duration 0.01 seconds DeleteWorkspace-[Notice] DeleteWorkspace started (child) DeleteWorkspace-[Notice] DeleteWorkspace successful, Duration 0.00 seconds ApplyCalibration-[Error] Error in execution of algorithm ApplyCalibration: ApplyCalibration-[Error] Type mismatch when creating a ColumnVector. EnginXFocus-[Error] Error in execution of algorithm EnginXFocus: EnginXFocus-[Error] Type mismatch when creating a ColumnVector. EnginXFocus-[Error] at line 36 in '/Applications/MantidPlot.app/plugins/python/algorithms/EnginXFocus.py' EnginXFocus-[Error] caused by line 70 in '/Applications/MantidPlot.app/plugins/python/algorithms/EnginXFocus.py' EnginXCalibrate-[Error] Error in execution of algorithm EnginXCalibrate: EnginXCalibrate-[Error] Type mismatch when creating a ColumnVector. EnginXCalibrate-[Error] at line 36 in '/Applications/MantidPlot.app/plugins/python/algorithms/EnginXFocus.py' EnginXCalibrate-[Error] caused by line 70 in '/Applications/MantidPlot.app/plugins/python/algorithms/EnginXFocus.py' EnginXCalibrate-[Error] at line 38 in '/Applications/MantidPlot.app/plugins/python/algorithms/EnginXCalibrate.py' EnginXCalibrate-[Error] caused by line 58 in '/Applications/MantidPlot.app/plugins/python/algorithms/EnginXCalibrate.py' Traceback (most recent call last): File "<string>", line 1, in <module> File "/Users/builder/jenkins-linode/workspace/develop_systemtests_all/label/osx-10.8/StressTestFramework/stresstesting.py", line 194, in execute self.runTest() File "/Users/builder/jenkins-linode/workspace/develop_systemtests_all/label/osx-10.8/SystemTests/AnalysisTests/EnginXCalibrateTest.py", line 14, in runTest DetectorPositions = positions) File "/Applications/MantidPlot.app/Contents/MacOS/mantid/simpleapi.py", line 569, in algorithm_wrapper algm.execute() RuntimeError: Type mismatch when creating a ColumnVector. at line 36 in '/Applications/MantidPlot.app/plugins/python/algorithms/EnginXFocus.py' caused by line 70 in '/Applications/MantidPlot.app/plugins/python/algorithms/EnginXFocus.py' at line 38 in '/Applications/MantidPlot.app/plugins/python/algorithms/EnginXCalibrate.py' caused by line 58 in '/Applications/MantidPlot.app/plugins/python/algorithms/EnginXCalibrate.py'}}}
Change History
comment:3 Changed 6 years ago by Martyn Gigg
Further investigation has revealed that this commit caused the problem. It is, however, not related to changes in API at all.
I believe it in fact simply reveals the well known fact that std::type_info objects comparisons cannot be trusted across shared library boundaries: http://www.boost.org/doc/libs/1_56_0/doc/html/boost_typeindex.html
comment:4 Changed 6 years ago by Martyn Gigg
- Status changed from assigned to inprogress
Use platform agnostic test for type equality.
std::type_info objects are not guaranteed to compare correctly across shared library boundaries. Refs #10464
Changeset: ae22efd1ab056b9b3b3cb2bbd0fe8efb98aa771a
comment:5 Changed 6 years ago by Martyn Gigg
- Status changed from inprogress to verify
- Resolution set to fixed
This is being verified as pull request #58.
comment:6 Changed 6 years ago by Michael Wedel
- Status changed from verify to verifying
- Tester set to Michael Wedel
comment:7 Changed 6 years ago by Michael Wedel
- Status changed from verifying to closed
Merge pull request #58 from mantidproject/bugfix/10464_fix_column_istype_osx
Use platform agnostic test for type equality in Column::isType
The previously failing system test is passing with these changes.
Full changeset: edbeafcfbbe935f8e72cef955537b6f149d70e5d