View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004712 | Slicer4 | Core: Base Code | public | 2019-09-19 14:36 | 2019-09-23 23:14 |
Reporter | lassoan | Assigned To | lassoan | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | Slicer 4.11.0 | ||||
Target Version | Slicer 4.11.0 | Fixed in Version | Slicer 4.11.0 | ||
Summary | 0004712: Slicer fails to start in Intel Ivy Bridge or older CPUs | ||||
Description | Recent Slicer Preview releases (that use ITK5) fail to start on computers with Intel Core i7-3770 CPU. Slicer does not start but instead this error is shown in a popup:
Windows application log tells that it is an exception 0xc000001d (Illegal instruction) in ITKIOGDCM-5.1.dll. Attaching a debugger and looking at the disassembly I found that indeed there was an shlx instruction where the exception was thrown, which is a BMI2 instruction that is not supported in 3rd-generation (3xxx, Ivy Bridge) CPUs but only in 4th generation (4xxx, Haswell) and later. We should either change build options to disable using BMI2 instruction set or check CPU type in the launcher and show a warning if non-compatible CPU is found. See some more information/discussion here: | ||||
Tags | No tags attached. | ||||
Issue was that ITK silently changed required CPU instruction set based on what was available on the build computer. We use powerful CPUs in factory computers but we want to make Slicer compatible with older CPUs. Solution is to set optimization settings in ITK explicitly to use compiler-default instruction set. See details in this discussion: https://discourse.itk.org/t/itk5-crashes-on-older-cpus/2250/17 Fixed in rev28520. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2019-09-19 14:36 | lassoan | New Issue | |
2019-09-19 14:36 | lassoan | Status | new => assigned |
2019-09-19 14:36 | lassoan | Assigned To | => jcfr |
2019-09-19 14:36 | lassoan | Description Updated | View Revisions |
2019-09-19 15:27 | lassoan | Description Updated | View Revisions |
2019-09-20 10:00 | lassoan | Description Updated | View Revisions |
2019-09-23 23:14 | lassoan | Assigned To | jcfr => lassoan |
2019-09-23 23:14 | lassoan | Status | assigned => resolved |
2019-09-23 23:14 | lassoan | Resolution | open => fixed |
2019-09-23 23:14 | lassoan | Fixed in Version | => Slicer 4.11.0 |
2019-09-23 23:14 | lassoan | Note Added: 0016286 |