-
Notifications
You must be signed in to change notification settings - Fork 13k
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
process spawning in libnative does not account for unrecoverable execve failures #13874
Comments
We |
What is the behavior that you are expecting? The current behavior would be to report a successful spawn (which is arguably true if the kernel tore down the original VM), and then Is that not what you are expecting? |
Ugh, yes I'm wrong, the pipe will give a short read and fail. I really shouldn't have posted a bug late at night. |
…, r=Veykril fix: keep whitespace in extract function handler Fixed rust-lang#13874
Examples fixes for regex changelog: none
Sometimes when execve fails it doesn't return with an error. Quoting from the blog EWONTFIX here:
This means that using a pipe to report errors is incorrect or at least does not cover all cases.
My personal hack to get around the issue is here.
In order to check for execve aborts I wait for exits or stops and arrange for a stop signal to be delivered atomically after execve and then continue. Currently, in my own code I do not actually check for the specific exit status that is generated when execve aborts but that will be easy to add in later.
The text was updated successfully, but these errors were encountered: