Skip to content
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

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

Closed
evverx opened this issue Jun 9, 2024 · 0 comments

Comments

@evverx
Copy link
Contributor

evverx commented Jun 9, 2024

systemd switched its GH Actions to Ubuntu 24.04 in systemd/systemd#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 actions/runner-images#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)

@evverx evverx closed this as not planned Won't fix, can't repro, duplicate, stale Jun 9, 2024
evverx added a commit to evverx/avahi that referenced this issue Jun 9, 2024
It can't be bumped to Ubuntu 24.04 due to
google/oss-fuzz#12042.
evverx added a commit to evverx/avahi that referenced this issue Jun 9, 2024
It can't be bumped to Ubuntu 24.04 due to
google/oss-fuzz#12042.
evverx added a commit to evverx/avahi that referenced this issue Jun 9, 2024
It can't be bumped to Ubuntu 24.04 due to
google/oss-fuzz#12042.
evverx added a commit to avahi/avahi that referenced this issue Jun 9, 2024
* ci: switch the build workflow to Ubuntu 24.04

* ci: make the sed command work with DEB822 source format

Fixes:
```
+ apt-get build-dep -y avahi
Reading package lists...
E: You must put some 'deb-src' URIs in your sources.list
Error: Process completed with exit code 100.
```

* ci: install mono stuff explicitly

Fixes:
```
configure: error: Can not find "mcs" - The Mono C-Sharp Compiler) in your PATH
```
and
```
configure: error: Package requirements (monodoc >= 1.1.8) were not met:
```
and
```
error CS0006: Metadata file `Mono.Posix' could not be found
```

* ci: bump super-linter and point it to Ubuntu 24.04 explicitly

to make it recognize the ubuntu-24.04 label and prevent it from getting
updated (and potentially breaking automatically)

Fixes:
```
.github/workflows/build.yml:17:14: label "ubuntu-24.04" is unknown
...
     |
  17 |     runs-on: ubuntu-24.04
     |              ^~~~~~~~~~~~
  ------
```

* ci: switch CodeQL to Ubuntu 24.04

* ci: point shellcheck to Ubuntu 24.04 explicitly

to make it consistent with the other actions and prevent it from getting
updated (and potentially breaking) automatically.

* ci: pass -fno-sanitize=function explicitly

to get around #584

* ci: switch coverage to Ubuntu 24.04

and ignore "source" warnings when capturing coverage

Fixes:
```
geninfo: ERROR: unable to open /home/runner/work/avahi/avahi/conftest.c: No such file or directory
```

* ci: keep ubuntu-22.04 in the CIFuzz action

It can't be bumped to Ubuntu 24.04 due to
google/oss-fuzz#12042.

* ci: switch coverity to Ubuntu 24.04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant