Ubuntu 20.04 GA VM support being dropped April 1, 2025
Github will stop supporting the Ubuntu 20.04 images on April 1. We need to upgrade these workflows:
$ git grep ubuntu-2 .github/
.github/workflows/ci-aarchxx.yml: runs-on: ubuntu-20.04
.github/workflows/ci-aarchxx.yml: runs-on: ubuntu-20.04
.github/workflows/ci-clang.yml: runs-on: ubuntu-20.04
.github/workflows/ci-docs.yml: runs-on: ubuntu-20.04
.github/workflows/ci-package.yml: runs-on: ubuntu-20.04
.github/workflows/ci-package.yml: runs-on: ubuntu-20.04
.github/workflows/ci-x86.yml: runs-on: ubuntu-20.04
There may well be test failures to fix. Xref the work to convert the dynamorio repository workflows: https://github.com/DynamoRIO/dynamorio/issues/7270 which ran into a number of test failures.
Which version do we move to? 22.04 or 24.04?
Which version do we move to? 22.04 or 24.04?
22.04 (that is what dynamorio's tests are supporting as the link above https://github.com/DynamoRIO/dynamorio/issues/7270 shows; trying to do 24.04 may hit dynamorio problems and be a lot more work).
I consider it necessary to share the current state of affairs regarding this issue. Some problems were solved with ease, while others still remain unresolved, even after a few weeks of efforting. Perhaps you can give some clue that will help to move forward.
ci-aarchxx.yml solved with android-ndk-r13b and adding -mfpu=vfpv3-d16 to CMakeLists.txt:331
ci-x86.yml, ci-clang.yml
x64: all tests passed
x32: most of the tests are failed
I tried to build 32-bits locally on newly installed Ubuntu 22.04 (by reproducing the .yml script, downloading and extracting i386 packages). And even in this case, locally executed tests passed, but on GitHub Actions failed.
During this time, I experienced with editing the tests code, but all this has not solved the problem. It seems to me at the moment that the failure is in some kind of kernel (or environment) incompatibility with x32.
Of course, you know the project much better than me, and, probably, can suggest the right direction...
For x86-32 one major issue is that the Github Actions VMs all switched from Intel to AMD processors a while back and that broke a bunch of DynamoRIO ("DR") and Dr. Memory tests: DynamoRIO/dynamorio#6417 and #2491. We actually have not yet managed to fix everything for base DR so it may be that many failures are from DR and are not drmemory-specific.
Unfortunately, I have not yet been able to make any valuable progress in solving this issue. I've tried a huge number of the ci-x86.yml file editions. Including adaptation and reproduction of the existing one from the dynamorio project. I've edit the CMakeLists.txt files to change cmake_minimum_required version to 3.14 as dynamorio do. I tried installing many different packages and dependencies. And all this in different combinations and sequences... And still I run into the same problem: 64-bit tests pass fine. But 32-bit ones fail as before. Maybe you can tell me more specifically what I need to do?