| Previous | Next |
| ERROR_LABEL_TOO_LONG | ERROR_SIGNAL_REFUSED |
ERROR_TOO_MANY_TCBS
What ERROR_TOO_MANY_TCBS means
The environment cannot create another thread control block. A thread control block is bookkeeping for a thread in older runtimes and compatibility subsystems. This result means thread creation reached a system, process, or subsystem-specific limit.
Common causes
- The application creates one thread per request without reusing workers
- Finished threads are not fully joined or released by a runtime
- Thread stacks exhaust address space before other memory appears low
- A compatibility subsystem enforces a lower fixed thread limit
How to investigate
- Track thread count, creation rate, and stack reservation over time
- Capture thread start addresses to group threads by subsystem
- Verify that completed workers actually terminate
- Repeat with a bounded pool and compare memory and handle growth
Developer guidance
Use a bounded thread pool, asynchronous I/O, or task scheduling. Thread creation failure must be handled as resource exhaustion, not followed by dereferencing an invalid thread handle.
Administrator and support guidance
Capture a dump or thread inventory before restarting. The distribution of start addresses often identifies the leaking component immediately.
How this code differs from related results
ERROR_MAX_THRDS_REACHED expresses a similar practical condition through another API family; preserve the exact code and call site because limits and remedies can differ.
References
Looking for a different code? Search another status or error code.