What does NTSTATUS 0xC0000090 (STATUS_FLOAT_INVALID_OPERATION) mean?

 
Previous Next
STATUS_FLOAT_INEXACT_RESULT STATUS_FLOAT_OVERFLOW

STATUS_FLOAT_INVALID_OPERATION

The floating-point operation was invalid for its operands

Invalid-operation conditions include forms such as 0/0, infinity minus infinity, square root of a negative finite value in real arithmetic, or operations involving signaling NaNs. When masked, the processor normally produces a quiet NaN and records the flag; when unmasked, the condition is delivered as this exception.

Inspect operand bit patterns, not only formatted decimal output. NaNs carry payload and signaling state, and earlier corruption can create invalid encodings that print simply as “nan.” Also distinguish this status from divide-by-zero, overflow, and denormal handling because each has separate mask and status bits. The first invalid operation is usually more useful than later NaN propagation.

What to inspect

  • Capture raw operand bits and classify NaN, infinity, zero, and finite values.
  • Record x87 and MXCSR status/mask state before it is cleared by a handler.
  • Find the first operation that created the invalid value or signaling NaN.
  • Do not replace NaNs with zero globally without defining application semantics.

References


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