What does errno 105 (ENOBUFS) mean?

 
Could be also:
ConstantTypeOS
ERROR_SEM_OWNER_DIEDWin32 errorWindows
EOWNERDEADerrnoMac
ECANCELEDerrnoWindows
IO1_INITIALIZATION_FAILEDBugCheck CodeWindows
Previous Next
ECONNRESET EISCONN

ENOBUFS

ENOBUFS reports a resource shortage in the socket or network path. It can mean that the system could not allocate memory for socket structures, that a queue was full, or that an interface could not accept more output. The exact interpretation depends on the failing call and operating system.

Linux documentation for send() associates it with a full network-interface output queue, while also noting that Linux often drops packets silently when a device queue overflows instead of returning this errno. accept() can report ENOBUFS when free memory or socket-buffer limits prevent creation of the new connection state. Therefore an isolated error may be transient, but repeated errors indicate a capacity or backpressure problem worth measuring.

What to inspect

  • Socket buffer limits, receive and send queue growth, interface drop counters, and memory pressure.
  • Connection rate, listener backlog, and the application’s ability to drain accepted sockets.
  • Whether a retry would duplicate a datagram or request; apply backoff and queue limits instead of unbounded resends.

Do not assume that increasing buffers alone fixes the cause: it can only postpone overload if producers continue outpacing consumers.

Linux send(2) · Linux accept(2) · BSD errno descriptions


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