-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Improve the dotnet-dump error message: Core dump generation FAILED 0x80004005 #54521
Comments
@mikem8361 - not sure if related with this issue or not, but it seems that whenever I get 0x80004005 because of missing execute permissions for 'createdump', it also creates a fork of the original process that is being dumped, and the forks are not killed after the dump fails. |
Basically 0x80004005 (E_FAIL) is returned to dotnet-dump by the runtime for every error which I hope to improve when I get to this issue but it will take runtime work/coordination. If the runtime or SDK is installed with our installers or even from a downloaded zip, createdump should have the execute permission. What is the exact install scenario are you using to end up without execute perms? And yes, it does look like we don't clean up the fork with the execve. Could you create an issue in the runtime repo? Thanks. |
I wanted to analyze the memory consumption of a large powershell script, this meant dumping the pwsh process that was running the script. Pwsh is installed through my distro's package manager and it came without execute permissions on powershell's createdump binary. I wonder if it the pwsh package for my distro should have been shipped with exec permissions on createdump. Is createdump specific per binary? i.e. should each donet core binary ship with its own? I can see pwsh seems to be installed with its own:
and the dotnet runtime with its own as well:
It worked for me after I gave execute permissions to the pwsh's createdump binary. I wonder if the right approach is to just give the dotnet one the execute permissions instead. Do you have a recommendation? Thank you. |
It looks like pwsh is a self-contained .NET app which includes all the runtime binaries (including createdump). It looks like in this self-contained app case, createdump doesn't get execute perms when the app is expanded/installed. That looks like an issue in the self-contained app support. I assume the ones installed under /usr/share/dotnet had execute permission. |
Tagging subscribers to this area: @tommcdon Issue DetailsThe failures from createdump are pretty much pass/fail so the error code in the message doesn't give any useful information. The simplest solution (and it is still some work) is to stream over the diagnostics output sent to stderr in the createdump process to the dotnet-dump process.
|
Related issue: #64069 |
We should also fix the error when dotnet-dump collect on a single-file app:
|
On MacOS, improve this error message:
|
The failures from createdump are pretty much pass/fail so the error code in the message doesn't give any useful information.
The simplest solution (and it is still some work) is to stream over the diagnostics output sent to stderr in the createdump process to the dotnet-dump process.
The text was updated successfully, but these errors were encountered: