Skip to content

Conversation

@hbrodin
Copy link
Collaborator

@hbrodin hbrodin commented Oct 31, 2025

The tracer bot failed to reproduce crashes on ARM64 due to incorrect parameter passing in the reproduce_impl patch. The err_result value was being passed as a positional argument to docker_run(), which interpreted it as print_output=False, redirecting all output to /dev/null.

Changes:

  • Fix reproduce_impl to pass architecture as keyword arg only
  • Refactor ARM64 patching into separate dockerfile and runner functions
  • Add comprehensive helper.py patching for ARM64:
    • Patch image_name variables to use :manifest-arm64v8 tag
    • Patch BASE_RUNNER_IMAGE assignment with tag stripping
    • Fix debug mode tag insertion (insert -debug before tag, not after)
    • Prevent double-tagging in _get_base_runner_image()
  • Default CLI architecture parameters to ARCHITECTURE constant

This enables the tracer bot to see fuzzer output and successfully detect crash reproduction on ARM64 systems.

The tracer bot failed to reproduce crashes on ARM64 due to incorrect
parameter passing in the reproduce_impl patch. The err_result value was
being passed as a positional argument to docker_run(), which interpreted
it as print_output=False, redirecting all output to /dev/null.

Changes:
- Fix reproduce_impl to pass architecture as keyword arg only
- Refactor ARM64 patching into separate dockerfile and runner functions
- Add comprehensive helper.py patching for ARM64:
  * Patch image_name variables to use :manifest-arm64v8 tag
  * Patch BASE_RUNNER_IMAGE assignment with tag stripping
  * Fix debug mode tag insertion (insert -debug before tag, not after)
  * Prevent double-tagging in _get_base_runner_image()
- Default CLI architecture parameters to ARCHITECTURE constant

This enables the tracer bot to see fuzzer output and successfully detect
crash reproduction on ARM64 systems.
@hbrodin hbrodin requested a review from ret2libc October 31, 2025 16:14
@hbrodin
Copy link
Collaborator Author

hbrodin commented Oct 31, 2025

@ret2libc still running some local tests. Will update the PR once done.

@hbrodin hbrodin marked this pull request as ready for review October 31, 2025 16:28
@ret2libc
Copy link
Collaborator

ret2libc commented Nov 3, 2025

Oops, I forgot to mention this last time we talked indeed: google/oss-fuzz#14178

@ret2libc
Copy link
Collaborator

ret2libc commented Nov 4, 2025

Seems to be working for me! How did it go on your end @hbrodin ?

@hbrodin
Copy link
Collaborator Author

hbrodin commented Nov 4, 2025

I've successfully run it so I think it works. Sorry, forgot to update the issue 🫣 .

@hbrodin hbrodin merged commit 130d657 into main Nov 4, 2025
25 checks passed
@hbrodin hbrodin deleted the henrik/arm64-repro branch November 4, 2025 12:01
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

Successfully merging this pull request may close these issues.

3 participants