-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Endless AddressSanitizer:DEADLYSIGNAL loop with GCC 13 since Ubuntu 22.04 202403*10*.1.0 but not before #9524
Comments
It's the same cause, GCC uses the same sanitizers as Clang does [source]. In stock GCC 13.1.0, which is the version in the This commit was released as part of LLVM 16.0.0, and thus predates the fixes to AdressSanitizer to make it compatible with the changes in the Ubuntu azure kernel package (version Note that LeakSanitizer was also impacted, which was fixed in llvm/llvm-project@5ffe955 which also made it into LLVM 17.0.0. For completeness, here is the commit in the Ubuntu kernel repo which made the changes to Finally, note that the Ubuntu GCC package ( |
These weird issues are probably related to actions/runner-images#9524
This is happening to me, too, but with gcc 11 (and now 13, which I am trying after seeing this ticket). CI tests that were passing are now suddently failing. With clang, I don't get an endless loop as mentioned above, but some units tests are failing. Sometimes https://github.com/andy5995/canfigger/actions/runs/8312710880/job/22747867106 https://github.com/theimpossibleastronaut/rmw/actions/runs/8312663731/job/22747768800 |
Regarding a workaround: Is there a way to force the CI into using version "20240304.1.0" of image "Ubuntu 22.04" again in my workflow? Do I have any sane options but having a stuck-at-red CI until the image is updated? |
Duplicate of #9491 |
I don't think it's possible to request the older image. In the mean time, the workaround is (cf #9491 (comment)) - name: Fix kernel mmap rnd bits
# Asan in llvm 14 provided in ubuntu 22.04 is incompatible with
# high-entropy ASLR in much newer kernels that GitHub runners are
# using leading to random crashes: https://reviews.llvm.org/D148280
run: sudo sysctl vm.mmap_rnd_bits=28 |
@phil-blain from what I can see, this seems to work well. Thank you!
That's a design problem then that will need fixing mid-term. I'll try to come up with a dedicated issue explaining why the current updating and magically moving images is a maintenance nightmare on the GitHub Actions user side of things for a while already. |
These weird issues are probably related to actions/runner-images#9524
* Fail-fast false, add gcc-9 and clang-13 * meson_options.txt: Add single quotes around boolean values * Modify concurrency These weird issues are probably related to actions/runner-images#9524 * Configure meson with sanitize This was removed from the default options in abb9da2
See actions/runner-images#9524 (comment) for the fix. Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
See actions/runner-images#9524 (comment) for the fix. Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
See actions/runner-images#9524 (comment) for the fix. Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
See actions/runner-images#9524 for details.
See actions/runner-images#9524 for details.
See actions/runner-images#9524 (comment) for the fix. Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
* Until the below issue is fixed: actions/runner-images#9524
* Until the below issue is fixed: actions/runner-images#9524
See actions/runner-images#9524 (comment) for the fix. Signed-off-by: Federico Di Pierro <nierro92@gmail.com>
When running our unit tests on the address sanitizer build using the GLIBC_TUNABLES to disable use of AVX, we intermittently hit a bug where the console outputs AddressSanitizer:DEADLYSIGNAL in an infinite loop. This appears to be caused by an incompatibility between certain versions of GCC and certain Linux kernels. See e.g. this GitHub issue: actions/runner-images#9524 Currently the OneBranch build pipeline uses an Ubuntu container running on a Mariner kernel. Using an Ubuntu kernel instead should resolve the issue. Tested: pipeline builds
Description
Workflow https://github.com/cpptest/cpptest/blob/master/.github/workflows/linux.yml was working fine until a few days agao with image 20240304.1.0 and now the same commit (cpptest/cpptest@4430bb3 if curious) with image 20240310.1.0 is failing with GCC 13 (but not Clang 18!) looping runtime error
AddressSanitizer:DEADLYSIGNAL?
and then timing out.Could be the same cause as #9491 but #9491 seems to be about Clang instead of GCC.
CC @hannob
Platforms affected
Runner images affected
Image version and build link
Good: 20240304.1.0
Bad: 20240310.1.0
Good: https://github.com/cpptest/cpptest/actions/runs/8198156643/job/22421247085
Bad: https://github.com/cpptest/cpptest/actions/runs/8290749936/job/22726589918
Is it regression?
20240304.1.0
Expected behavior
CI finishes in under 2 minutes
Actual behavior
CI times out after a seeming endless loop from GCC 13 ASan saying
AddressSanitizer:DEADLYSIGNAL?
.Repro steps
Re-run https://github.com/cpptest/cpptest/actions/runs/8290749936/job/22726589918 and watch output of "make all".
The text was updated successfully, but these errors were encountered: