Announcement

Collapse
No announcement yet.

Illegal instruction crash in 3D test

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Illegal instruction crash in 3D test

    We recently had a crash during the 3D test reported to us that (for once) didn't appear to be related to the video card device driver. Analysing the crash dump showed the crash was occurring during a math function due to an illegal instruction for the CPU;

    Code:
    ERROR_CODE: (NTSTATUS) 0xc000001d - {EXCEPTION}  Illegal Instruction  An attempt was made to execute an illegal instruction.
    FAILED_INSTRUCTION_ADDRESS: 
       bit!cosf+2e0 [f:\dd\vctools\crt\fpw32\tran\amd64\cosf.asm @ 414]
       00000001`4028b610 c5f97ec0        vmovd   eax,xmm0
    Straight away this seemed strange as the CPU was not that old and fully supported the instructions being used (Xeon E3-1225 v3).

    One possible cause is that there is a known issue "in the instruction set availability detection in the math library” in the Microsoft C++ runtime library". So on a system that supports AVX instructions but for some reason the AVX instructions have been disabled then the math library will incorrectly follow the AVX code path and execute illegal intrusions, causing a crash.

    In this case the recommendation was to re-enable AVX instructions on the system (from a command prompt: bcdedit /set xsavedisable 0), however this did not seem to solve the issue for the system that was crashing. If we find any other recommended solutions for this issue we will update this thread.

  • #2
    We have also had a report of this occurring during the sound test when accessing the sin math function;

    Code:
    ERROR_CODE: (NTSTATUS) 0xc000001d - {EXCEPTION}  Illegal Instruction  An attempt was made to execute an illegal instruction.
    FAILED_INSTRUCTION_ADDRESS: 
    bit!sin+330 [f:\dd\vctools\crt\fpw32\tran\amd64\sin.asm @ 422]
    00000001`40297ed0 c4c1f97ec1      vmovd   r9,xmm0

    Comment


    • #3
      Another solution for this issue is if using an unpatched version of Windows 7 then installing Service Pack 1 should enabled the AVX instructions.

      Comment

      Working...
      X