Site icon EfmSoft

What does macOS kernel return 0xE00002E7 (kIOReturnUnderrun) mean?

 
Previous Next
kIOReturnUnsupportedMode kIOReturnOverrun

kIOReturnUnderrun

The consumer reached an empty part of the stream

kIOReturnUnderrun reports that data was not available when the relevant I/O path needed it. It is a stream-rate problem, not a generic device-disconnection result. Depending on the driver and direction, the empty point can be a device FIFO, a DMA ring, or a software queue. The same symbol therefore needs the transfer direction and family-specific logs before assigning blame to the application or hardware.

For real-time or isochronous work, data that misses its delivery window is usually not recoverable by retransmission. A large one-off buffer may hide the symptom temporarily but can increase latency and still leave the producer unable to sustain the required rate.

What to measure

  • Record buffer fill level, queued transfer count, production rate, completion cadence, and the exact direction of the stream.
  • Find the first queue that becomes empty: application producer, user-client boundary, driver queue, or device-side buffer.
  • Keep callbacks and completion handlers short so they do not delay resubmission of the next transfer.
  • When the protocol permits, use a documented queue depth and pacing model rather than relying on arbitrary retry loops.

References


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

Exit mobile version