-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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.WaitForExit() deadlock when running multiple processes on linux with .net7 #80563
Comments
Tagging subscribers to this area: @dotnet/area-system-diagnostics-process Issue DetailsDescriptionRunning multiple processes concurrently using System.Diagnostics.Process causes a deadlock on linux with .net7. I checked this, but I believe it is something else. Reproduction StepsA simple example to reproduce deadlock is here. Expected behaviorno deadlock Actual behaviordeadlock Regression?No response Known WorkaroundsNo response Configuration.net7 on x64 alpine linux container Other informationI tested it in different environments:
|
@tmds is there any chance you could take a look? |
@kirnosenko you've only observed this issue in a container, right? You can work around it by changing the entrypoint to something like:
#79817 fixes this and is backported for an upcoming 7.0 patch release. |
@tmds yes I run it in container, unfortunately your suggestion makes no any difference, still has a deadlock. |
Ah, I thought it would be enough to make the .NET process have another pid than If you add the #79817 fixes this issue. |
@tmds thank you for your help! |
Description
Running multiple processes concurrently using System.Diagnostics.Process causes a deadlock on linux with .net7. I checked this, but I believe it is something else.
Reproduction Steps
A simple example to reproduce deadlock is here.
Expected behavior
no deadlock
Actual behavior
deadlock
Regression?
No response
Known Workarounds
No response
Configuration
.net7 on x64 alpine linux container
Other information
I tested it in different environments:
.net6 + windows = fine
.net6 + linux = fine
.net7 + windows = fine
.net7 + linux = deadlock
The text was updated successfully, but these errors were encountered: