Open davidni opened 4 years ago
Possibly relevant bit of info: the target process was heavily throttled during the data collection session. It had a Job Object assigned, limiting its CPU use to approximtely 0.25 cores, which may have played a role in triggering the issue. I also observed dropped events when using PerfView to open one of the (successful) traces that I collected before the issue started to happen.
@noahfalk (as suggested by @karelz) Thanks!
@davidni Thanks for the detailed report!
Do you happen to know if this issue happens when you remove the Job Object or if you increase the CPU usage limit to something like 1 core?
@sywhang yes, it is very likely that the job limit was bumped up during the data collection that broke. I don't have logs to confirm, but I should be able to trigger the same conditions again.
Fyi, there's no "remove the job object" for a running Windows process, at least not from user space. I'm guessing you mean re-running without attaching a job object?
Note that David and I are normally running this code on Service Fabric, where there will always be a job object attached (though we can run it with no CPU limit)
Context
I encountered this while analyzing perf of a .NET Core 3.1 process (ASP .NET Core 3.1 web app). The target was built with .NET Core SDK 3.1.301, and is deployed as a self-contained exe. The issue happened on a Windows Server 2016 Datacenter machine, OS Version 1607, OS Build 14393.3750.
Setup
I collected a few traces using
dotnet-trace collect
, but the last trace I attempted to collect broke during teardown --dotnet-trace
reported an exception after I pressed Ctrl+C. I unfortunately did not capture that exception, because other commands I ran after cleared my console window (dotnet-trace
,dotnet-counters
, I am looking at you....).Issue
It seems like my .NET Core process entered a bad state after my botched
dotnet-trace collect
session. Although my process continued to work without issues in that state (still serving HTTP requests),dotnet-trace
anddotnet-counters
could no longer connect to it.See console output below for
dotnet-trace
. This error repro'd consistently after my process entered this weird state.My tools manifest: