What does NTSTATUS 0xC00002B5 (STATUS_FLOAT_MULTIPLE_TRAPS) mean?

 
Previous Next
STATUS_FLOAT_MULTIPLE_FAULTS STATUS_DEVICE_REMOVED

STATUS_FLOAT_MULTIPLE_TRAPS

More than one floating-point exception condition requires handling

Floating-point status registers can record several conditions for one operation or for a sequence whose exceptions were deferred. This status reports multiple trap conditions rather than choosing one of the individual NTSTATUS values. x87 in particular can defer delivery until a waiting instruction, so the instruction where the exception is observed may follow the operation that set the flags.

Capture the x87 status word and MXCSR before a handler clears them. The combination of invalid, denormal, divide-by-zero, overflow, underflow, precision, and stack flags identifies the real conditions. Also record which exceptions were unmasked. Handling only the first textual interpretation can leave another pending flag active and immediately retrigger the exception.

What to inspect

  • Decode every set floating-point status flag and its corresponding mask.
  • Inspect earlier x87 operations if delivery occurred at FWAIT or another waiting instruction.
  • Capture operands and instruction-set state before clearing exceptions.
  • Restore a deliberate control environment after handling or terminating the operation.

References


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