-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[Bug]: MSBuild crashes on parallel build using docker #43750
Comments
This is happening in the .NET SDK itself before MSBuild is ever invoked, so I will move it to the SDK repo. |
@jeffkl is our hotseat, but @kartheekp-ms was involved in the original migration code. |
The code is trying to create a global named Mutex: https://github.com/NuGet/NuGet.Client/blob/308d5595190925cf406135f565b69db9ba4860a1/src/NuGet.Core/NuGet.Common/Migrations/MigrationRunner.cs#L35 Perhaps related to dotnet/runtime#9987 ? |
I've tried chmod'ing tmp folder as advised (777 also tested with sticky bit 1777) but this does not change anything. It feels like it's a But if synchronization is broken - at least for init - I guess it's also broken for concurrent cache access as well. I've tried to think about it and the way This led to a drastic amount of error on x64. On Arm I can still observe the error Do you have internal guidance at Microsoft how to allow shared memory for multiple .net-runtime docker instances ? Looks that the crux of the problem. At least I see:
Is there something else to make it work reliably ? Docker parameters are now:
|
Issue Description
Random crashes in MSBuild where trying to parallelize .net builds in Docker:
Steps to Reproduce
Expected Behavior
Crashes are random. I expect this to always work.
Actual Behavior
Exception thrown. See above.
Analysis
Call stacks are provided for analysis.
Versions & Configurations
I have this in my
.bashrc
(as they are passed to Docker):also running on Intel mac and Arm mac (both Sequoia 15 but was crashing with previous versions). This crashes the same for both machine at the same rate.
.net sdk version (8.0.302) is specified on the docker command line.
for sources (to reproduce the build), use this: https://github.com/MagnusOpera/Terrabuild/tree/44ce393db4e8ad891cf072389c7a2023096bc44f
The text was updated successfully, but these errors were encountered: