-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crashing Clang with Asan+Ubsan builds in 20240310.1.0 Ubuntu 22.04. #9491
Comments
Even simple ./configure sometimes crashes:
|
The issue is caused by incompatibility between llvm 14 provided in ubuntu-22.04 image and the much newer kernel configured with high-entropy ASLR. In 20240304.1.0:
In 20240310.1.0:
The isue was fixed in newer versions of llvm: So, we either need:
As a workaround the following addition to the workflow makes builds to work with a new image:
|
Hello @igsilya! |
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Signed-off-by: Ilya Maximets <[email protected]> Signed-off-by: 0-day Robot <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Signed-off-by: Ilya Maximets <[email protected]> Acked-by: Eelco Chaudron <[email protected]> Signed-off-by: Dumitru Ceara <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
I can confirm that we (systemd) seem to suffer from the same issue. Some example runs:
Thanks a lot, @igsilya, for finding out the root cause and a potential workaround! |
Interestingly I always though that the bigger entropy cases a bit less problems than the smaller one, I guess we are going to tune kernel param for the time being, I'll prepare the changes. |
The latest GH Action runners started using 32-bit entropy for ASLR, which makes it incompatible with llvm-14. This was fixed in later llvm releases, but these aren't available on Ubuntu Jammy (22.04). Let's reduce the ASLR entropy to 28-bit, which should make llvm happy again, until the issue is resolved. See: actions/runner-images#9491
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Acked-by: Dumitru Ceara <[email protected]> Acked-by: Aaron Conole <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Acked-by: Dumitru Ceara <[email protected]> Acked-by: Aaron Conole <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Acked-by: Dumitru Ceara <[email protected]> Acked-by: Aaron Conole <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Acked-by: Dumitru Ceara <[email protected]> Acked-by: Aaron Conole <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Acked-by: Dumitru Ceara <[email protected]> Acked-by: Aaron Conole <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Acked-by: Dumitru Ceara <[email protected]> Acked-by: Aaron Conole <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Signed-off-by: Ilya Maximets <[email protected]> Acked-by: Eelco Chaudron <[email protected]> Acked-by: Aaron Conole <[email protected]> Signed-off-by: Dumitru Ceara <[email protected]> (cherry picked from OVS commit bb7dfa652218f36768128c00664ee7cc146baea9)
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Signed-off-by: Ilya Maximets <[email protected]> Acked-by: Eelco Chaudron <[email protected]> Acked-by: Aaron Conole <[email protected]> Signed-off-by: Dumitru Ceara <[email protected]> (cherry picked from OVS commit bb7dfa652218f36768128c00664ee7cc146baea9)
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Signed-off-by: Ilya Maximets <[email protected]> Acked-by: Eelco Chaudron <[email protected]> Acked-by: Aaron Conole <[email protected]> Signed-off-by: Dumitru Ceara <[email protected]> (cherry picked from OVS commit bb7dfa652218f36768128c00664ee7cc146baea9)
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Signed-off-by: Ilya Maximets <[email protected]> Acked-by: Eelco Chaudron <[email protected]> Acked-by: Aaron Conole <[email protected]> Signed-off-by: Dumitru Ceara <[email protected]> (cherry picked from OVS commit bb7dfa652218f36768128c00664ee7cc146baea9)
Since [actions/runner-images#9491] is closed, we can now remove our workaround for the ASAn tests. [actions/runner-images#9491]: actions/runner-images#9491 Signed-off-by: thb-sb <[email protected]>
Commit reverted because these issues were resolved: actions/runner-images#9491 #1032 This reverts commit 7357f91.
It has been resolved on image generation side: actions/runner-images#9491 It is no harm to keep it on our side as well, but we can drop it.
…H-117018)" (pythonGH-117289) This reverts commit 1ab0d0b. This reverts python#117018. I expect the issue to be fixed based on google/oss-fuzz#11708 (comment) and actions/runner-images#9491.
Should be fixed now per [1]. [1] actions/runner-images#9491 (comment)
We can't do this in a running container unless it's priviledged, right? I have an infinite "AddressSanitizer:DEADLYSIGNAL" loop while running gcc10 in a Focal container on a Jammy host (kernel 6.5), that is indeed solved by applying the above command to the host ( |
This reverts commit 538b1e1. The underlying issue was fixed in upstream in actions/runner-images#9513 (actions/runner-images#9491)
This reverts commit 538b1e1. The underlying issue was fixed in upstream in actions/runner-images#9513 (actions/runner-images#9491)
…an bug (#13150)" (#13266) The kernel config `vm.mmap_rnd_bits` had been revert in actions/runner-images#9491, so we can revert the changes from #13150. CI only with ASAN passed: https://github.com/sundb/redis/actions/runs/9058263634
In 3f725b8, we introduced a change back in march to reduce the entropy of ASLR, because ASAN didn't support it. Now the vm.mmap_rnd_bits was reverted in actions/runner-images#9491 so can remove this changes. Closes valkey-io#519. Signed-off-by: Binbin <[email protected]>
In 3f725b8, we introduced a change back in march to reduce the entropy of ASLR, because ASAN didn't support it. Now the vm.mmap_rnd_bits was reverted in actions/runner-images#9491 so can remove this changes. Closes #519. Signed-off-by: Binbin <[email protected]>
In 3f725b8, we introduced a change back in march to reduce the entropy of ASLR, because ASAN didn't support it. Now the vm.mmap_rnd_bits was reverted in actions/runner-images#9491 so can remove this changes. Closes valkey-io#519. Signed-off-by: Binbin <[email protected]> Signed-off-by: Samuel Adetunji <[email protected]>
The latest GH Action runners started using 32-bit entropy for ASLR, which makes it incompatible with llvm-14. This was fixed in later llvm releases, but these aren't available on Ubuntu Jammy (22.04). Let's reduce the ASLR entropy to 28-bit, which should make llvm happy again, until the issue is resolved. See: actions/runner-images#9491
Starting with image version 20240310.1.0, GitHub runners are using 32-bit entropy for ASLR: $ sudo sysctl -a | grep vm.mmap.rnd vm.mmap_rnd_bits = 32 vm.mmap_rnd_compat_bits = 16 This breaks all the asan-enabled builds, because older asan gets confused by memory mappings and crashes with segmentation fault. The issue is fixed in newer releases of llvm: llvm/llvm-project@fb77ca0 https://reviews.llvm.org/D148280 But these are not available in Ubuntu 22.04 image. This should be fixed by GitHub, but until new images are available reducing ASLR entropy manually to 28 bits to make builds work. Reported-at: actions/runner-images#9491 Acked-by: Eelco Chaudron <[email protected]> Acked-by: Dumitru Ceara <[email protected]> Acked-by: Aaron Conole <[email protected]> Signed-off-by: Ilya Maximets <[email protected]>
…an bug (redis#13150)" (redis#13266) The kernel config `vm.mmap_rnd_bits` had been revert in actions/runner-images#9491, so we can revert the changes from redis#13150. CI only with ASAN passed: https://github.com/sundb/redis/actions/runs/9058263634
Description
For some reason we have all the binaries built with
clang -fsanitize=address,undefined
crashing on the new 20240310.1.0 Ubuntu 22.04 images.Examples:
https://github.com/ovsrobot/ovs/actions/runs/8237626849
https://github.com/igsilya/ovs/actions/runs/8238397886
Tests that happend to get 20240310.1.0 image are all crashing on startup:
Above is a crash of the test with a very simple application.
Platforms affected
Runner images affected
Image version and build link
Runner Image
Image: ubuntu-22.04
Version: 20240310.1.0
Is it regression?
Yes. 20240304.1.0 works just fine. For example another job from the same run: https://github.com/ovsrobot/ovs/actions/runs/8237626849/job/22527053666
Expected behavior
All the built binaries should not just crash.
Actual behavior
All the built binaries are crashing on start.
Repro steps
Run this workflow: https://github.com/openvswitch/ovs/actions/workflows/build-and-test.yml with openvswitch/ovs repository.
The text was updated successfully, but these errors were encountered: