View Issue Details

IDProjectCategoryView StatusLast Update
0004712Slicer4Core: Base Codepublic2019-09-23 23:14
ReporterlassoanAssigned Tolassoan 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product VersionSlicer 4.11.0 
Target VersionSlicer 4.11.0Fixed in VersionSlicer 4.11.0 
Summary0004712: 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:

The application was unable to start correctly (0xc0000142). Click OK to close the application.

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:

TagsNo tags attached.

Activities

lassoan

lassoan

2019-09-23 23:14

developer   ~0016286

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.

Issue History

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