-
Notifications
You must be signed in to change notification settings - Fork 991
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extract stack traces of hanging CI test runs #3298
Comments
Assuming the testing process id can be figured out, following powershell script takes a minidump (so storage size should be no concern) and extracts the stack traces. I also include the thread summary because it mentions apartments and lock counts. dotnet-dump collect --process-id $TargetProcessId --type mini --output hangdump
"clrthreads`nclrstack -all`nexit`n" |& dotnet-dump analyze hangdump > hangdump.txt The CI build may also need to install dotnet-dump if arcade doesn't do that yet, see linked doc page. |
I've been mulling over how we can get a memory dump. Your proposal is one of several ways, assuming dotnet-dump is installed, or it can be installed as part of a build run. We'll need to look at this in conjunction with dotnet/arcade#5398. |
Closing as we can get crash dumps. |
@RussKie do we actually get dumps from hangs? The OS will only create them for crashes. I guess its no priority anymore since there are no unidentified hangs remaining and we hopefully won't add new ones ;-) |
We can revisit it, if necessary. Keeping my 🤞 that we won't need this. |
FYI I'm working on this, I have a prototype (4310c3c) that works locally, trying to sort out the CI leg |
Is your feature request related to a problem? Please describe.
Hangs in CI build are hard to diagnose, especially if they are not reproducable locally or do not happen deterministically.
Describe the solution you'd like and alternatives you've considered
dotnet-dump
allows collecting dumps of a process and analyze themPR #3056 started taking screenshots of hanging CI test runs, I think it would be even better if we used
dotnet-dump
to take dumpsWill this feature affect UI controls?
No, test infrastructure only
The text was updated successfully, but these errors were encountered: