drmemory icon indicating copy to clipboard operation
drmemory copied to clipboard

Ubuntu 20.04 GA VM support being dropped April 1, 2025

Open derekbruening opened this issue 10 months ago • 5 comments

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.

derekbruening avatar Mar 14 '25 18:03 derekbruening

Which version do we move to? 22.04 or 24.04?

ghost avatar Mar 17 '25 12:03 ghost

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

derekbruening avatar Mar 17 '25 14:03 derekbruening

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

Image

x32: most of the tests are failed

Image

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

ghost avatar Apr 04 '25 15:04 ghost

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.

derekbruening avatar Apr 04 '25 19:04 derekbruening

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?

ghost avatar Apr 18 '25 07:04 ghost