What does NTSTATUS 0xC000008E (STATUS_FLOAT_DIVIDE_BY_ZERO) mean?

 
Previous Next
STATUS_FLOAT_DENORMAL_OPERAND STATUS_FLOAT_INEXACT_RESULT

STATUS_FLOAT_DIVIDE_BY_ZERO

Floating-point division by zero trapped instead of producing an infinity

IEEE floating-point arithmetic distinguishes division of a finite nonzero value by zero from invalid operations such as 0/0. With the divide-by-zero exception masked, hardware commonly produces a signed infinity and sets a status flag. When the exception is unmasked, Windows delivers this status through SEH.

The diagnostic must include the active floating-point environment because the same source expression may trap in one thread and continue in another. Inspect the exact numerator, denominator, precision, and instruction set. A denominator can become zero through underflow, flush-to-zero mode, data conversion, or missing input validation even when the original higher-precision value was nonzero.

What to inspect

  • Capture operands and determine whether the operation used x87 or SSE/AVX state.
  • Record exception masks, rounding mode, DAZ, and FTZ settings.
  • Trace how the denominator became zero at the operation’s actual precision.
  • Do not confuse finite/zero with 0/0, which is an invalid-operation exception.

References


Looking for a different code? Search another status or error code.