What does Windows error code 152 (ERROR_TOO_MANY_MUXWAITERS) mean?

 
Could be also:
ConstantTypeOS
END_OF_NT_EVALUATION_PERIODBugCheck CodeWindows
Previous Next
ERROR_INVALID_EVENT_COUNT ERROR_INVALID_LIST_FORMAT

ERROR_TOO_MANY_MUXWAITERS

What ERROR_TOO_MANY_MUXWAITERS means

A multiplexed semaphore wait could not proceed because too many waiters or set semaphores were already registered. The status reflects a capacity limit in an older multiple-wait implementation. It can arise when many threads wait on the same multiplex object or when the design continuously adds waiters without removing them.

Common causes

  • A worker leak leaves stale wait registrations
  • Concurrency exceeds the fixed waiter capacity of a compatibility layer
  • Cancellation does not unregister the pending wait
  • A thundering-herd design makes every worker wait on the same object

How to investigate

  1. Count active waiters over time and correlate them with completed tasks
  2. Verify that cancellation removes the waiter from every internal list
  3. Inspect whether one event wakes all workers unnecessarily
  4. Test with a bounded worker count to find the capacity boundary

Developer guidance

Use a queue and a bounded worker pool rather than registering an unbounded number of multiplexed waits. Make unregister operations reliable and idempotent.

Administrator and support guidance

Reducing configured concurrency may mitigate the incident, but retain diagnostics proving whether wait registrations are leaking.

How this code differs from related results

This differs from ERROR_INVALID_EVENT_COUNT: the supplied request can be structurally valid yet exceed runtime waiter capacity.

References


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