| Previous | Next |
| EADDRINUSE | EPROTOTYPE |
ENOSR
ENOSR: a STREAMS-style resource could not be allocated
On Darwin, ENOSR denotes exhaustion in a legacy STREAMS resource pool or an interface preserving that errno contract. The critical question is which stream/message allocation failed, not whether a policy identifier exists.
Measure the resource pressure
Capture the syscall or ioctl, stream/module identity, number of active stream objects, message or queue pressure if exposed, process lifetime, and relevant kernel/provider logs. Preserve errno immediately after the failing call so later diagnostics do not overwrite it.
Verification
Release a controlled set of stream resources or correct a leak, then repeat the same operation at comparable load. A valid fix returns resource use toward baseline and allows the allocation to complete without requiring a reboot to erase the evidence.
Technical references
Looking for a different code? Search another status or error code.