-
Notifications
You must be signed in to change notification settings - Fork 38.7k
Closed
Description
Fuzzing on MacOS (i.e. actual fuzzing not just running the inputs through the fuzz binary) is known to be brittle and we've had plenty of issues reported to us showcasing this:
- Unable to fuzz in local on MacOS 15.4.1 #33667
- Failure to run Fuzz tests when running with corpus #32089
- build: macOS fuzz instructions broken using latest macOS linker #31049
- Build broken when enabling fuzzing on Apple M1 hw using homebrew llvm. #27550
- fuzz: ASAN complaint on macOS with -fsanitize=fuzzer,address,undefined #19789
The solution usually involves something along the lines of waiting for a brew llvm update or adding macOS specific hints to our documentation. These issues can however also depend on specific macOS versions, and our hints might not be accurate for every version or get stale with time.
I usually don't chime in on these issues because I don't have a Mac and afaik, all serious fuzzing (at scale & automated) for us (and most other projects) happens on Linux.
I think there are two options:
- Keep the current approach and fix/document as issues are reported.
- Deprecate "official" support for fuzzing on macOS and add a section to the docs about using Linux instead (e.g. to use a VM or VPS). MacOS users will still be able to fuzz on a their Mac but it won't be on us to triage the issues for their specific setup.
I'd prefer option 2).