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

mpv: introspector killed, possibly OOM #12213

Open
kasper93 opened this issue Jul 13, 2024 · 4 comments
Open

mpv: introspector killed, possibly OOM #12213

kasper93 opened this issue Jul 13, 2024 · 4 comments
Assignees

Comments

@kasper93
Copy link
Contributor

Hi,

This is mostly a question if there is something we could to to workaround this, I tried making targets smaller and exclude some files from introspect or, but it fails.

See: https://oss-fuzz-build-logs.storage.googleapis.com/log-49c8a121-941c-4911-be95-5f06c0c7bc8a.txt

Step #6 - "compile-libfuzzer-introspector-x86_64": /usr/local/bin/compile: line 333:  8993 Killed                  python3 /fuzz-introspector/src/main.py report $REPORT_ARGS

It works locally, so it is likely OOM on build machine. I wonder if the introspector itself could be optimized to be less resource heavy?

Not highly important, but I figured to report it in case there are some low hanging fruits to grab :)

Thanks,
Kacper

@DavidKorczynski DavidKorczynski self-assigned this Jul 14, 2024
@kleisauke
Copy link
Contributor

I suspect that libvips might be experiencing a similar issue, see:
https://introspector.oss-fuzz.com/project-profile?project=libvips
https://oss-fuzz-build-logs.storage.googleapis.com/log-c652af70-8e81-4bfc-93c1-8cbf2665529e.txt

This problem seems to occur after commit libvips/libvips@65a1371, which added a couple more fuzzers. I was unable to reproduce this issue locally using:

$ python infra/helper.py build_image libvips
$ python infra/helper.py build_fuzzers --sanitizer introspector --engine libfuzzer --architecture x86_64 libvips

@kasper93
Copy link
Contributor Author

@kleisauke: your issue is during linking. With lto and especially with full lto there is a lot of memory needed. Reduce concurrent linking jobs to fix this. I see libvips uses meson, so backend_max_links will do the job. I don't know what is the RAM quota on builder machines, so you will have to experiment with number of jobs that doesn't fail... For mpv I use -Dbackend_max_links=4 else, ninja would start linking all fuzzer binaries at the same time.

@kleisauke
Copy link
Contributor

@kasper93 Thanks for the hat tip, I'll try to build with -Dbackend_max_links=4 to see if this fixes it.

FWIW, it seems that libvips' compile tests are also failing. However, since none of these tests are mandatory, the issue went unnoticed. I should probably use a similar workaround to the one described in #7583 (comment).

@kasper93
Copy link
Contributor Author

kasper93 commented Aug 23, 2024

FWIW, it seems that libvips' compile tests are also failing. However, since none of these tests are mandatory, the issue went unnoticed. I should probably use a similar workaround to the one described in #7583 (comment).

Ah, indeed the linker issue with meson. I did this #12081 for mpv.

EDIT: For reference here is the issue about it #12167

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

3 participants