You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Linux limits thread names to 15 characters (plus null terminator) via pthread_setname_np. Several runtime thread names exceed this and get silently truncated, making them indistinguishable in debuggers and diagnostic tools like ps, top, and htop.
(macOS allows 63 chars, FreeBSD allows 32 — Linux is the strictest.)
Current Name
Len
Suggested Name
Len
Location
.NET Stack overflow trace logger
33
.NET SO Tracer
14
src/coreclr/vm/eepolicy.cpp
.NET Stack overflow create dump
32
.NET SO Dumper
14
src/coreclr/vm/excep.cpp
.NET Tiered Compilation Worker
30
.NET Tiered JIT
15
src/coreclr/vm/tieredcompilation.cpp
.NET Long Running Task
23
.NET Long Task
14
ThreadPoolTaskScheduler.cs
.NET ThreadPool IO
18
.NET TP I/O
12
PortableThreadPool.IO.Windows.cs
.NET SynchManager
17
.NET Synch Mgr
14
src/coreclr/pal/src/synchmgr/synchmanager.cpp
.NET TP Worker
14
.NET Finalizer
14
.NET EventPipe
14
.NET DebugPipe
14
.NET Debugger
13
.NET TP Gate
12
.NET TP Wait
12
JSWebWorker
11
.NET Timer
10
Note: The managed debugger may rely on some of these thread names to identify special threads. If so either they should be left unchanged or there will need to be a synchronized debugger change to match.
Note
This issue was created with Copilot assistance.
Linux limits thread names to 15 characters (plus null terminator) via
pthread_setname_np. Several runtime thread names exceed this and get silently truncated, making them indistinguishable in debuggers and diagnostic tools likeps,top, andhtop.(macOS allows 63 chars, FreeBSD allows 32 — Linux is the strictest.)
.NET Stack overflow trace logger.NET SO Tracersrc/coreclr/vm/eepolicy.cpp.NET Stack overflow create dump.NET SO Dumpersrc/coreclr/vm/excep.cpp.NET Tiered Compilation Worker.NET Tiered JITsrc/coreclr/vm/tieredcompilation.cpp.NET Long Running Task.NET Long TaskThreadPoolTaskScheduler.cs.NET ThreadPool IO.NET TP I/OPortableThreadPool.IO.Windows.cs.NET SynchManager.NET Synch Mgrsrc/coreclr/pal/src/synchmgr/synchmanager.cpp.NET TP Worker.NET Finalizer.NET EventPipe.NET DebugPipe.NET Debugger.NET TP Gate.NET TP WaitJSWebWorker.NET TimerNote: The managed debugger may rely on some of these thread names to identify special threads. If so either they should be left unchanged or there will need to be a synchronized debugger change to match.