Skip to content

Defer fuzzer logs to postprocess#5311

Open
PauloVLB wants to merge 2 commits into
masterfrom
defer-fuzzer-logs-pr2
Open

Defer fuzzer logs to postprocess#5311
PauloVLB wants to merge 2 commits into
masterfrom
defer-fuzzer-logs-pr2

Conversation

@PauloVLB
Copy link
Copy Markdown
Collaborator

@PauloVLB PauloVLB commented Jun 3, 2026

This PR depends on #5310, which must be merged first.
Bug: b/487905050

Changes

Implement deferred blackbox logging and GCS bypass.

This PR:

  1. Refactors upload_testcase in testcase_manager.py by extracting fuzzer testcase file reading logic into a new helper function read_testcase_data.
  2. Intercepts fuzzer execution logs and crash testcases on untrusted bots (inside testcase_manager.py) and packages them into the FuzzerRunResult queue payload instead of writing directly to GCS.
  3. Updates fuzz_task.py to read these packaged logs from the queue on the trusted bot and upload them to GCS in postprocess.
  4. Simplifies the postprocess upload loops and adds tests.

Tests Results

All unit tests in fuzz_task_test.py and testcase_manager_test.py run and pass locally.

Evidence in dev

Full task flow

These logs show the successful execution of the trusted -> untrusted -> trusted flow of a blackbox fuzzing session in the dev environment with these changes.

The log queries used:

Note: The task_id is highlighted in green.

  1. Preprocess, which has no significant changes in this PR:
image
  1. During execution, each parallel fuzzer run enqueues its result inside the worker thread while the main process dequeues it:
image
  1. Finally, in postprocess, the trusted bot uploads the fuzzer execution data received from the worker stage:
image

The uploaded logs in GCS

To verify that logs were uploaded successfully to GCS under the correct paths, we checked the corresponding job (linux_asan_d8_dbg) and fuzzer (binaryen_wasm_fuzzer), as shown in the image below:

image

@PauloVLB PauloVLB changed the title Defer fuzzer logs pr2 Defer fuzzer logs to postprocess Jun 3, 2026
@PauloVLB PauloVLB marked this pull request as ready for review June 3, 2026 19:56
@PauloVLB PauloVLB requested a review from a team as a code owner June 3, 2026 19:56
@PauloVLB PauloVLB requested a review from javanlacerda June 3, 2026 19:56
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.

1 participant