runtime: Unable to run any Libraries tests on Ubuntu 22.04 ARM64
Using a brand new installation of Ubuntu 22.04 ARM64, I am unable to execute any tests for dotnet/runtime. It always results in “Testiest process exited with error: . Please check the diagnostic logs for more information”.
Steps to reproduce.
- Fresh install of Ubuntu 22.04 ARM64
- Install dependencies as documented in the workflow instructions
Note: I needed to substitute
pythonforpython3. - Run the build:
./build.sh -rc release -s clr+libs - Try to run a test:
/dotnet.sh test src/libraries/System.Formats.Asn1/tests. Note: I tried other projects as well likeSystem.Security.CryptographyandSystem.Formats.Tar, all have the same result.
Observe the crash.
I can only reproduce this on ARM64, not AMD64.
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 24 (24 by maintainers)
@vcsjones I have just figured out how to modify the asm source for those helpers so that the linker doesn’t play any role here. I’ve found that the current form has emitted relocations into the object file and the GNU linker then converted those to compile time constants. That’s where the GNU linker got it wrong. The modification I have figured results in no relocations in the .obj files, so the linker doesn’t do anything with the offsets.
I have made a change that makes it work even with the gnu linker (#77275).
Yes, core dump would help.
You can try building with debug runtime. If it does not repro with debug runtime, it suggests that the problem is caused by a C++ compiler optimizations bug.