Skip to content
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

Add dump creation support to RemoteExecutor for Linux #4153

Closed
danmoseley opened this issue Oct 18, 2019 · 8 comments
Closed

Add dump creation support to RemoteExecutor for Linux #4153

danmoseley opened this issue Oct 18, 2019 · 8 comments

Comments

@danmoseley
Copy link
Member

danmoseley commented Oct 18, 2019

Sometimes tests hang. When they do, it's very often necessary to have a dump to figure out the problem. When they hang in RemoteExecutor, thanks to #4085 we should get a nice dump on Windows.

We should make this work on Linux as well, presumably using dotnet dump (https://github.com/dotnet/diagnostics/blob/master/documentation/dotnet-dump-instructions.md)

@epananth this would require it be installed on the Linux test machines using dotnet tool install -g dotnet-dump. How do you suggest we make that happen? Should remote executor itself invoke that?

cc @stephentoub

@epananth
Copy link
Member

@danmosemsft will need to get back to you on this. I learned from @ChadNedzlek that dotnet might not work on some linux. So this might mess up the machines. So this is kind of tricky.

@markwilkie
Copy link
Member

@mikem8361 - does the dump tool work on all core supported platforms?

@danmoseley
Copy link
Member Author

@markwilkie according to the link above it sounds like it works on all platforms/architectures except macOS (where we have never had a way to make dumps, as far as I know)

@mikem8361
Copy link
Member

Yes, dotnet-dump collect should work on all architectures/platforms except macOS. It has the runtime launch createdump to do the generation. It will only work with version 3.0 and greater of the runtime.

@markwilkie
Copy link
Member

@epananth - let's chat about the right way to make this happen.

@ViktorHofer
Copy link
Member

We just discussed this in Teams. We should aim to capture dumps for both hangs and crashes inside RemoteExecutor with dotnet dump (cross-plat solution). Currently we only capture dumps for hangs on Windows.

@ViktorHofer
Copy link
Member

ViktorHofer commented Dec 12, 2019

Additionally the dump should be created in all cases, CI and locally. On CI we want to move the dump to a well known location so that helix can pick it up:

string uploadPath = Environment.GetEnvironmentVariable("HELIX_WORKITEM_UPLOAD_ROOT");

@michellemcdaniel
Copy link
Contributor

Closing because the parent Epic was closed. If you believe this issue should still be worked on, please re-open.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants