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
