Open zalaare opened 2 years ago
Tagging subscribers to this area: @hoyosjs See info in area-owners.md if you want to be subscribed.
Author: | zalaare |
---|---|
Assignees: | - |
Labels: | `area-Infrastructure-coreclr`, `untriaged` |
Milestone: | - |
Hi @zalaare, could you please elaborate on what is failing? Is it that precompiling private.corelib is failing during a source-build? Since you mention a new toolchain, wonder if you are on clang13 and hitting this: https://github.com/dotnet/runtime/issues/61671
Hi @mangod9, thanks for looking at this. I assume you are right in that precompiling private.corelib might indeed be what is failing. Whatever step "Generating native image of System.Private.CoreLib" is.
I've added the error from the log to the OP to hopefully make it quicker and easier to see. I am using clang 12.0.1 for this as clang 13 has too many issues even with dotnet 3 and dotnet 5 atm.
Just an update, the problem still exists and I've currently patched the running of crossgen out of the compilation process of runtime (and also aspnetcore). This does at least allow me to successfully build dotnet 6.0.
Again an update, the problem still exists with dotnet 7.0. Since the milestone moved to 8, I assumed this would be the case.
Again an update, the problem still exists with dotnet 8.0.
Generating native image of System.Private.CoreLib for linux.x64.Release. Logging to /zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/dotnet.sh /zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/artifacts/bin/coreclr/linux.x64.Release/crossgen2/crossgen2.dll -o:/zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/artifacts/bin/coreclr/linux.x64.Release/System.Private.CoreLib.dll -r:/zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/artifacts/bin/coreclr/linux.x64.Release/IL/*.dll --targetarch:x64 --targetos:linux -O /zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/artifacts/bin/coreclr/linux.x64.Release/IL/System.Private.CoreLib.dll --perfmap-format-version:1 --perfmap --perfmap-path:/zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/artifacts/bin/coreclr/linux.x64.Release/ /zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/dotnet.sh: line 27: 170150 Segmentation fault (core dumped) ${dotnetPath} "$@" /zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/src/coreclr/crossgen-corelib.proj(102,5): error MSB3073: The command "/zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/dotnet.sh /zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/artifacts/bin/coreclr/linux.x64.Release/crossgen2/crossgen2.dll -o:/zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/artifacts/bin/coreclr/linux.x64.Release/System.Private.CoreLib.dll -r:/zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/artifacts/bin/coreclr/linux.x64.Release/IL/*.dll --targetarch:x64 --targetos:linux -O /zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/artifacts/bin/coreclr/linux.x64.Release/IL/System.Private.CoreLib.dll --perfmap-format-version:1 --perfmap --perfmap-path:/zizzy/build/dotnet/src/git.dotnet.dotnet/src/runtime/artifacts/source-build/self/src/artifacts/bin/coreclr/linux.x64.Release/" exited with code 139.
Description
NOTE: I believe this is centered around LLVM/libc++/libc++abi toolchain
When compiling dotnet 6.0/7.0/8.0 either via dotnet/installer or dotnet/runtime direct compilation stops with error
I know enough to muddle through and collect logs and such (sometimes I need instruction) if needed, but dotnet proj files are out of my wheelhouse at this time.
Reproduction Steps
Either use docker tag dotnet-bugreport-1 OR dotnet-bugreport-1-sparse NOTE TAG dotnet-bugreport-1 IMAGE IS MASSIVE as it includes all the previously built sources [Assumption of a working Docker setup]
NOTES:
Expected behavior
I expect crossgen to not fail. Either by building it natively during compilation and using it (no segfault expected) or being able to skip it. UseCrossGen2=false only results in the file crossgen not being found.
Actual behavior
segfault on the execution of crossgen2.dll during the compilation of runtime [tag 6.0.1]
--stacktrace-- strace --log-- runtime-portable.log
Regression?
source-build continues to work fine on dotnet/5 and dotnet/3
Known Workarounds
No response
Configuration
This is for my custom docker focused distro I maintain. The architecture is amd64 only at this time.
Other information
No response
EDIT - fixed some instructions that didn't work EDIT2 - added actual error from log to OP for ease of reading EDIT3 - updated for tag 6.0.1