google / oss-fuzz

OSS-Fuzz - continuous fuzzing for open source software.
https://google.github.io/oss-fuzz
Apache License 2.0
10.13k stars 2.16k forks source link

32-bit fuzz targets seem to be failing to build when CIFuzz is run on Ubuntu 24.04 #12042

Closed evverx closed 3 weeks ago

evverx commented 3 weeks ago

systemd switched its GH Actions to Ubuntu 24.04 in https://github.com/systemd/systemd/pull/33241 and the CIFuzz action failed there with https://github.com/systemd/systemd/actions/runs/9415900807/job/25937868845

meson.build:3:0: ERROR: Executables created by c compiler clang are not runnable.
+ exit 1
2024-06-07 11:00:10,564 - root - ERROR - Building fuzzers failed.
2024-06-07 11:00:10,564 - root - ERROR - Error building fuzzers for (commit: e7c2cadc4e909f657047bf71da00d8e2b89058fe, pr_ref: refs/pull/33241/merge).

Looks like Ubuntu 24.04 somehow weirdly interacts with CIFuzz at runtime in 32-bit mode.

avahi failed with

configure:4289: clang -o conftest -m32 -O1 -fno-omit-frame-pointer -gline-tables-only -Wno-error=enum-constexpr-conversion -Wno-error=incompatible-function-pointer-types -Wno-error=int-conversion -Wno-error=deprecated-declarations -Wno-error=implicit-function-declaration -Wno-error=implicit-int -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link   conftest.c  >&5
configure:4293: $? = 0
configure:4300: ./conftest
The futex facility returned an unexpected error code.
./configure: line 4302:  2036 Aborted                 (core dumped) ./conftest$ac_cv_exeext
configure:4304: $? = 134
configure:4311: error: in `/src/avahi':
configure:4313: error: cannot run C compiled programs.

https://github.com/evverx/avahi/actions/runs/9437349359/job/25993098360?pr=5

Looks like it's https://github.com/actions/runner-images/issues/9977

(I'll go ahead and close it. It's possible to get it around by pinning the image to 22.04. There are other ways to get it to work but it's probably not worth it)