What does macOS kernel return 0x10004011 (MACH_RCV_IN_PROGRESS_TIMED) mean?

 
Previous Next
MACH_RCV_INVALID_TRAILER MACH_RCV_INVALID_REPLY

MACH_RCV_IN_PROGRESS_TIMED

A timed wait state, not a timeout result

MACH_RCV_IN_PROGRESS_TIMED is marked internal-use only in current XNU headers. It records that a receive thread is waiting with timeout behavior active. The public result after the interval expires is MACH_RCV_TIMED_OUT; if a message arrives first, the operation can complete successfully instead.

Confusing the two values creates premature retries and duplicate receive workers. The internal state may appear in kernel debugging, wait-state telemetry, or private code, but it is not a durable API result for applications to serialize or compare across OS versions.

What to inspect

  • Capture the requested timeout, receive options, start time, and final return value.
  • Account for documented interruption and automatic-retry behavior when measuring elapsed time.
  • Check whether the port or port set has producers and whether membership changed while the thread waited.
  • Use MACH_RCV_TIMED_OUT for ordinary timeout handling; reserve this symbol for interpreting internal diagnostics.

References


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