title: Crash on customer's computer
body: <p>Our software (32 bit code) crashes on one of our customer's computer upon an illegal instruction (Exception: code c000001d). The crash happens very early upon program start, most likely in some c++ startup code.</p>
  
  <p>The CPU reported by Windows on that machine is "Intel(R) Xeon(R) Gold 5115 @ 2.40Ghz (4 processors)" and the OS is "Windows Sever 2012 R2 Standard"."</p>
  
  <p>Apparently it is an AVX512 instruction (starting with 0x62, 0xf1) which causes the trouble.</p>
  
  <p>Our software is compiled with Visual Studio 2019 and these (probably relevant) settings:</p>
  
  <ul>
  <li>no external binary libraries are used (except standard Windows import libraries and statically linked MFC), the whole code is compiled with the settings below</li>
  <li>no external dlls are used</li>
  <li>Platform toolset: Visual Studio 2019 (v142)</li>
  <li>Windows SDK version: 8.1</li>
  <li>C++ language standard : ISO C++17</li>
  <li>Enable Enhanced Instruction Set: Not Set (meaning that SSE2 intructions are used, but no AVX instructions, as per MS documentation).</li>
  </ul>
  
  <p>What appeals to me here is the fact that the previous version of the software works seemlessly on the very same computer, but that version was generated with Visual Studio 2017, platform toolset <em>Visual Studio 2015 (v140)</em> instead of <em>v142</em> and with the C++ language standard : <em>ISO C++14</em> instead of <em>ISO C++17</em>. </p>
  
  <p>All other settings were the same. These are the main differences between those two versions, the rest is only minor corrections in the code.</p>
  
  <p>That's all the information I have right now.</p>
  
  <p>Has anybody ever come upon a similar problem? Or at least some clues?</p>