Why This Error Happens
Error 155 (“Cannot create another thread”) occurs when the Windows Kernel is unable to allocate the necessary resources for a new thread, typically due to exhaustion of the non-paged memory pool or the process/system hitting its maximum handle and thread limits. This is most commonly caused by a “resource leak” — a poorly coded application, an outdated driver, or a background process that continuously spawns threads/handles without releasing them. In some cases, an undersized Windows page file (virtual memory) prevents the OS from allocating stack space for new threads, especially under heavy multitasking loads.
Step-by-Step Resolution Guide
- Identify the Resource Hog via Task Manager
- Press
Ctrl + Shift + Escto open Task Manager. - Go to the Details tab, right-click the column header, and select Select Columns. Enable Threads and Handles.
- Sort by these columns to identify any single process with abnormally high counts (e.g., thousands of threads/handles). End that task if it’s a non-critical app.
- Increase the Virtual Memory (Page File) Allocation
- Press
Win + R, typesysdm.cpl, and hit Enter. - Go to Advanced > Performance Settings > Advanced tab > Change (under Virtual Memory).
- Uncheck Automatically manage paging file size for all drives.
- Select your system drive (usually C:), choose Custom Size, and set an Initial size of
1.5xyour RAM (in MB) and Maximum size of3xyour RAM. - Click Set, then OK, and restart your PC.
- Update or Roll Back Faulty Drivers
- Open Device Manager (
Win + X> Device Manager). - Check for devices with a yellow warning icon, particularly under Network Adapters, Display Adapters, or Storage Controllers.
- Right-click the flagged device, select Update Driver, or if the issue started after a recent update, choose Properties > Driver tab > Roll Back Driver.
- Run System File and Disk Checks
- Open Command Prompt as Administrator (
Win + X> Terminal (Admin)). - Run the following commands sequentially to repair corrupted system files that may be mismanaging thread pools:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
- Restart the PC once completed.
- Perform a Clean Boot to Isolate Third-Party Conflicts
- Type
msconfigin the Run dialog and press Enter. - Under the Services tab, check Hide all Microsoft services, then click Disable all.
- Go to the Startup tab, open Task Manager, and disable all non-essential startup items.
- Restart the PC and monitor if the error persists.
Alternative or Verification Steps
- Verify the Fix: Reopen the application that previously threw Error 155 and monitor the Threads count for that specific process in Task Manager over 10–15 minutes; a stable or slowly increasing count confirms the leak is resolved.
- Alternative Fix: If the error persists, check for a corrupted user profile by creating a new local Windows user account (Settings > Accounts > Other users > Add account) and testing if the error occurs under the new profile.