What does errno 131 (EOTHER) mean?

 
Could be also:
ConstantTypeOS
ERROR_NEGATIVE_SEEKWin32 errorWindows
ECONNRESETerrnoSolaris
OFS_FILE_SYSTEMBugCheck CodeWindows
Previous Next
ECONNRESET ENOBUFS

EOTHER

This page examines UCRT compatibility catch-all error. The runtime used EOTHER when the failure does not map to a more specific exposed POSIX-supplement errno.

Historical and API context

Microsoft C runtime compatibility: Ucrt compatibility catch-all error is exposed by the Microsoft CRT compatibility layer. For UCRT compatibility catch-all error, _doserrno and the immediately preceding CRT call can preserve the Win32 or runtime condition summarized by errno. Within Microsoft C runtime compatibility, the wording attached to EOTHER is a clue to the original interface, not proof that a similarly named modern subsystem returned it.

Microsoft documents that some errno constants exist for UNIX compatibility and that errno is not necessarily the operating-system error code for the UCRT compatibility catch-all error case. Preserve both layers during diagnosis while evaluating UCRT compatibility catch-all error.

Reconstruct the returning call

EvidenceQuestion it answers
Failing CRT function, arguments, errno, _doserrno, last error, and runtime version.Ties UCRT compatibility catch-all error to one live API object instead of a translated message.
Thread-local errno captured before another CRT call changes it in an investigation of UCRT compatibility catch-all error.Shows whether UCRT compatibility catch-all error arose in the caller ABI, wrapper, or provider.
Paired Win32 handle/socket state and the actual CRT descriptor conversion for the UCRT compatibility catch-all error case.Preserves the first boundary before errno can be overwritten for UCRT compatibility catch-all error.
Known-good call using the same UCRT build and calling convention while evaluating UCRT compatibility catch-all error.Provides a same-platform known-good comparison for UCRT compatibility catch-all error.

Capture errno immediately after the failing call that produced UCRT compatibility catch-all error, before formatting, tracing, allocation, or cleanup code runs. For UCRT compatibility catch-all error, retain the function return value as well because many C interfaces signal failure there and use errno only as secondary detail.

A small reproduction

  1. Repeat with a minimal supported input and capture the underlying OS code immediately. Keep the binary, header ABI, and provider fixed while testing UCRT compatibility catch-all error.
  2. Log errno with _get_errno and _doserrno at the immediate failure site in an investigation of UCRT compatibility catch-all error. Record whether the control reaches the same syscall or runtime boundary as UCRT compatibility catch-all error.
  3. Verify the numeric value against the target UCRT header rather than a Unix table for the UCRT compatibility catch-all error case. A changed errno after this test is a new boundary, not another spelling of UCRT compatibility catch-all error.

Two observations are especially discriminating here: Failing CRT function, arguments, errno, _doserrno, last error, and runtime version. Use this control for comparison: repeat with a minimal supported input and capture the underlying OS code immediately. For UCRT compatibility catch-all error, those two observations separate a stale identifier or unsupported request from a provider-wide failure without broad changes to the host.

Portability traps

Tempting assumptionSafer interpretation
The English phrase is assumed to be portableUCRT compatibility catch-all error belongs to Microsoft C runtime compatibility; verify the target headers and returning API before applying another platform's errno table
A retry succeeded and erased the original evidenceThe retry can replace UCRT compatibility catch-all error with a different state; preserve the first call, numeric value, and object generation beforehand

If a wrapper converts UCRT compatibility catch-all error to an exception or Boolean, instrument below that wrapper. For UCRT compatibility catch-all error, the decisive record is the syscall, ioctl, CRT function, or compatibility entry point that first exposed the value.

Correction and acceptance

Targeted correction. Diagnose the paired Win32/runtime evidence; do not build retry logic around EOTHER alone.

Regression proof. The root condition maps to a specific reproducible layer and generic fallback is no longer the only evidence. Verify one supported boundary case and one deliberate negative case so handling of UCRT compatibility catch-all error remains explicit.

Technical references

These owner-maintained or standards-based sources define the namespace and subsystem contract needed to verify Microsoft C runtime compatibility EOTHER on the deployed platform version.


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