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.

  1. Fresh install of Ubuntu 22.04 ARM64
  2. Install dependencies as documented in the workflow instructions Note: I needed to substitute python for python3.
  3. Run the build: ./build.sh -rc release -s clr+libs
  4. Try to run a test: /dotnet.sh test src/libraries/System.Formats.Asn1/tests. Note: I tried other projects as well like System.Security.Cryptography and System.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)

Most upvoted comments

@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.