dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.67k stars 4.58k forks source link

[Net] System Threading Portable Thread Pool + IOCCompletionPoller, WaitOneNocheck and LevelLifoSemaphore almost stop to run. #99896

Open dongfengxin opened 4 months ago

dongfengxin commented 4 months ago

Description

System Threading Portable Thread Pool + IOCCompletionPoller, System.ThreadinWaitHande.WaitOneNocheck and LevelLifoSemaphore.WaitForSignal in net8 Description.

image

as the profile shows ,the thread is almost waiting.

Reproduction Steps

There is a program runs well before, and recently the program runs with the thread pool almost stop:

Maybe the reason have some relationship with the worker in the thread pool below,

.NET TP Worker .NET Timer .NET TP Gate.NET ThreadPool lO

Expected behavior

System Threading Portable Thread Pool + IOCCompletionPoller, WaitOneNocheck and LevelLifoSemaphore runs well.

Actual behavior

image

Regression?

No response

Known Workarounds

No response

Configuration

No response

Other information

No response

dotnet-policy-service[bot] commented 4 months ago

Tagging subscribers to this area: @mangod9 See info in area-owners.md if you want to be subscribed.