-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Produce crashreport.json and use llvm-symbolizer to create stack trace #77578
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue Detailsnull
|
fc107fd
to
b98f363
Compare
This reverts commit 4e85471.
Tagging subscribers to this area: @hoyosjs |
Ping @hoyosjs |
Will try to take a look between today and tomorrow. |
Ping @hoyosjs |
How will this work on systems like Alpine (musl) where we don't have dotnet installed on the machine, and the .NET runtime being tested is presumably broken? |
It won't. This is just for Ubuntu x64 (for now). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd consider writing some unit tests for this. There;s no reason why we can't manually create a crashing process and ensure this works.
I am not sure if we have an infrastructure/existing test cases to test any of this code. @hoyosjs do we? |
If we don't have infrastructure for testing this I think we need to make it. This code is supposed to be robust exactly in the edge cases where we won't get a lot of coverage. Testing a few simple cases and in PRs won't cut it. |
I agree, but I don't have bandwidth to do it this week. If we want, we can have this PR open until January when I can start looking at how to test it. |
Sounds good, I don't think there's a rush to get this in this year. I'd rather do it right |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Let's follow-up with unit tests when we have time to schedule it
string userName = Environment.GetEnvironmentVariable("USER"); | ||
if (!string.IsNullOrEmpty(userName)) | ||
{ | ||
if (!RunProcess("sudo", $"chown {userName} {crashReportJsonFile}")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If elevating works on Mac right now, that's great, but I could see this not working forever, so we should give a little thought to what we would do instead.
…ack trace (dotnet#77578)" This reverts commit ff987dc.
…reate stack trace (dotnet#77578)" (dotnet#81379)" This reverts commit 3c76e14.
Contributes to #75243 and #77918