What does errno 55 (ENOBUFS) mean?

 
Could be also:
ConstantTypeOS
ERROR_DEV_NOT_EXISTWin32 errorWindows
ENOANOerrnoLinux
EBADSLTerrnoSolaris
FLOPPY_INTERNAL_ERRORBugCheck CodeWindows
Previous Next
ECONNRESET EISCONN

ENOBUFS

Kernel network resources, not necessarily process heap memory

ENOBUFS reports insufficient buffering resources for the socket operation. It is distinct from a process allocation failure: the pressure can be in socket queues, protocol control blocks, interface queues, or other network-stack resources even when the application can still allocate memory normally.

The error is also different from EMSGSIZE. A valid-sized message can fail with ENOBUFS because the stack cannot queue it now; an oversized atomic message can fail with EMSGSIZE even when buffers are plentiful.

What to measure before tuning

  • Record socket buffer settings, queue occupancy or kernel network counters when available, transfer rate, message sizes, and the application's backpressure state.
  • Determine whether the failure clusters by interface, destination, socket type, or burst workload instead of increasing buffer sizes globally.
  • Verify that producers stop or shed load when writes cannot progress; an unbounded user-space queue only moves the resource failure to another layer.

Why a blind retry is incomplete

A retry may succeed after pressure subsides, but it does not explain whether data was queued or dropped before the error. Protocol-aware code must keep message ownership and retry safety explicit.

References


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