Re-Bootstrap .NET to release/11-preview2 has revealed an issue in the dotnet/dotnet repo build caused by extreme memory usage leading to the build failing on Linux and for some folks even crashing WSL2 instance.
It was working fine with release/11-preview1 SDK used for build.
I was able to identify the problematic change thanks to the fact that runtime files in the 11-preview2 SDK can be patched with files from the 11-preview1 runtime build. So I've ran git bisect and found the problem was introduced in #124132.
Here are the repro steps:
- Check out https://github.com/dotnet/dotnet repo, branch
release-pr-11.0.100-preview.2.26117.112. Check if the topmost commit is 41b700bc3a41fefac457cfbe316f97cf198f7c24, it is possible that more commits will get added to that branch.
- Run
build.sh in the root of the repo. During the build, you'll see errors like "process killed due to signal 137" or "Child node XYZ exited prematurely"
- Please note that even in the good state, the build has two failures - one building something with fsharp and the other when building efcore, but these failures are unrelated.
To test a fix:
- Check out https://github.com/dotnet/runtime repo, branch `release/11.0-preview2.
- Make your changes there
- Build the runtime (e.g.
./build.sh clr+libs -c Release -rc Release -keepNativeSymbols true)
- Copy
artifacts/bin/coreclr/linux-x64.Release/*.so and artifacts/bin/coreclr/linux-x64.Release/System.Private.CoreLib.dll to the dotnet/dotnet repo, folder .dotnet/shared/Microsoft.NETCore.App/11.0.0-preview.2.26117.112
- Switch to the dotnet/dotnet repo directory
- Run
rm -r artifacts there
- Run
./build.sh
You should only see the two errors I've mentioned if your change fixes the problem.
Re-Bootstrap .NET to release/11-preview2 has revealed an issue in the dotnet/dotnet repo build caused by extreme memory usage leading to the build failing on Linux and for some folks even crashing WSL2 instance.
It was working fine with release/11-preview1 SDK used for build.
I was able to identify the problematic change thanks to the fact that runtime files in the 11-preview2 SDK can be patched with files from the 11-preview1 runtime build. So I've ran git bisect and found the problem was introduced in #124132.
Here are the repro steps:
release-pr-11.0.100-preview.2.26117.112. Check if the topmost commit is 41b700bc3a41fefac457cfbe316f97cf198f7c24, it is possible that more commits will get added to that branch.build.shin the root of the repo. During the build, you'll see errors like "process killed due to signal 137" or "Child node XYZ exited prematurely"To test a fix:
./build.sh clr+libs -c Release -rc Release -keepNativeSymbols true)artifacts/bin/coreclr/linux-x64.Release/*.soandartifacts/bin/coreclr/linux-x64.Release/System.Private.CoreLib.dllto the dotnet/dotnet repo, folder.dotnet/shared/Microsoft.NETCore.App/11.0.0-preview.2.26117.112rm -r artifactsthere./build.shYou should only see the two errors I've mentioned if your change fixes the problem.