bitcoin: arm64 CI failure

arm64 CI is failing with:

FAIL: minisketch/test
=====================

../build-aux/test-driver: line 109: ./minisketch/test: cannot execute binary file: Exec format error
FAIL minisketch/test (exit status: 126)

FAIL: univalue/test/object
==========================

../build-aux/test-driver: line 109: ./univalue/test/object: cannot execute binary file: Exec format error
FAIL univalue/test/object (exit status: 126)

FAIL: univalue/test/unitester
=============================

../build-aux/test-driver: line 109: ./univalue/test/unitester: cannot execute binary file: Exec format error
FAIL univalue/test/unitester (exit status: 126)

FAIL: qt/test/test_bitcoin-qt
=============================

../build-aux/test-driver: line 109: ./qt/test/test_bitcoin-qt: cannot execute binary file: Exec format error
FAIL qt/test/test_bitcoin-qt (exit status: 126)

See eg https://github.com/bitcoin/bitcoin/pull/27647/checks?check_run_id=14232303009 or https://github.com/bitcoin/bitcoin/pull/27746/checks?check_run_id=14231876127

I tried re-running the arm64 task for #27675 which had succeeded yesterday, and it now fails too (before vs after), which suggests either that the bug was introduced after commit fbe48f97dfec3138b06b5f00b75655da0c985008 up to commit 427853ab49f610e971b73ea4cc1d5366747e52b1 (nothing seemed likely to break minisketch/test there) or is an infrastructure issue (bad cache or bad hardware?).

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 19 (18 by maintainers)

Commits related to this issue

Most upvoted comments

the hardware has been 64 bit since Pi3 I think but the OS itself has only been 64 bit for a year or so:

https://www.raspberrypi.com/news/raspberry-pi-os-64-bit/

My suggestion would be to wait 24 hours to see if the issue fixes itself. If not, replace the arm64 hardware with amd64, and run everything in qemu-arm again.

Thanks everyone for the comments. I think a third alternative for us, if we want minimal changes, would be to unset QEMU_USER_CMD and run qemu on aarch64 for now?

Also on Google Cloud t2a-standard-4:

lscpu | grep op-mode
CPU op-mode(s):                  64-bit

The only Arm related change yesterday was that we switched from AWS using Graviton2 CPUs to GCP using Ampere CPUs. Both Graviton2 and Ampere Alta support EL0 AArch32.

arm32 release builds

meaning (for example) bitcoin-25.0-arm-linux-gnueabihf.tar.gz 😬 that’s the Raspberry Pi binary

do you mind updating the CI task config for aarch64?

I’ll do it. No need to wait a happy self fix? 😃