Skip to content

Add fuzzing support for relaxed atomics - #8253

Merged
stevenfontanella merged 2 commits into
mainfrom
fuzzing
Jan 30, 2026
Merged

stevenfontanella merged 2 commits into
mainfrom
fuzzing

Conversation

@stevenfontanella

@stevenfontanella stevenfontanella commented Jan 29, 2026 •

Copy link
Copy Markdown
Member

Part of #8165. We already don't run v8 fuzz handlers for relaxed atomics (link) since this feature isn't implemented in V8 yet. To test, ran fuzz_opt.py for ~1 hour with no failures.

@stevenfontanella
stevenfontanella marked this pull request as ready for review January 30, 2026 01:08
Comment thread src/tools/fuzzing/fuzzing.cpp Outdated

@tlively tlively left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM if the fuzzer is happy.

@stevenfontanella
stevenfontanella enabled auto-merge (squash) January 30, 2026 18:14
@stevenfontanella
stevenfontanella merged commit 1d0b1d6 into main Jan 30, 2026
17 checks passed
@stevenfontanella
stevenfontanella deleted the fuzzing branch January 30, 2026 18:46
stevenfontanella added a commit that referenced this pull request Feb 18, 2026
Followup to
#8253 (comment).
Allow us to declare `loggableTypes` and `atomicMemoryOrders` as const to
prevent them from being mutated by mistake.
stevenfontanella added a commit that referenced this pull request Jul 7, 2026
Fixes #8770. The fuzzer was non-deterministic across architectures since
we had two calls to `pick()` in the arguments to `makeAtomicRMW`, so the
evaluation order of the two `pick` calls was non-deterministic. Fix this
by pulling the function calls outside of the arguments of
`makeAtomicRMW`.

Also increase the fuzz metrics test seed file size (2214 bytes -> 1020
KB) to increase the likelihood of catching similar issues in CI, and
exercise more instructions in the test. This bug wasn't caught by CI in
#8253.

Tested by basing #8885 on top of this which failed previously due to the
non-determinism, and now succeeds.
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