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

pikepdf build failure - __sanitizer_annotate_double_ended_contiguous_container missing from dependent #12839

Open
jbarlow83 opened this issue Dec 11, 2024 · 0 comments

Comments

@jbarlow83
Copy link

jbarlow83 commented Dec 11, 2024

It is not clear to me if this issue needs to be fixed in pikepdf or oss-fuzz, so I am cross-listing it.

pikepdf depends on the recent versions of libqpdf, so libqpdf is compiled in its fuzzing build.sh.

The error messages appears to be saying libqpdf.so.29 was compiled incorrectly due to an undefined symbol undefined symbol: __sanitizer_annotate_double_ended_contiguous_container, which seems to be injected by the sanitizer framework, so pikepdf's _core.$platform.so fails to import into Python. Or perhaps the library libqpdf needs to be built with -lfuzzer

BAD BUILD: /tmp/not-out/tmphzs6jfxi/pikepdf_fuzzer seems to have either startup crash or exit:
sysctl: setting key "vm.mmap_rnd_bits", ignoring: Read-only file system
/tmp/not-out/tmphzs6jfxi/pikepdf_fuzzer -rss_limit_mb=2560 -timeout=25 -seed=1337 -runs=4 < /dev/null
INFO: Instrumenting pikepdf
WARNING: It looks like this module is imported by a custom loader. Atheris has experimental support for this. However, it may be incompatible with certain libraries. If you experience unusual errors or poor coverage collection, try atheris.instrument_all() instead, add enable_loader_override=False to instrument_imports(), or file an issue on GitHub.
INFO: Instrumenting pikepdf._version
Traceback (most recent call last):
  File "pikepdf/__init__.py", line 10, in <module>
ImportError: /tmp/_MEISdchpn/libqpdf.so.29: undefined symbol: __sanitizer_annotate_double_ended_contiguous_container

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "pikepdf_fuzzer.py", line 12, in <module>
  File "PyInstaller/loader/pyimod02_importers.py", line 378, in exec_module
  File "pikepdf/__init__.py", line 13, in <module>
ImportError: pikepdf's extension library failed to import
[PYI-162:ERROR] Failed to execute script 'pikepdf_fuzzer' due to unhandled exception!

ERROR: 100.0% of fuzz targets seem to be broken. See the list above for a detailed information.
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