Closed Bug 1321762 Opened 5 years ago Closed 5 years ago

Fix fuzzing speed regressions

Categories

(NSS :: Test, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ttaubert, Assigned: ttaubert)

Details

Removed trace-cmp from the sancov default. I was looking at 4.0 documentation, but in clang 3.9 this is still experimental. Let's remove this for now.

    Don't fuzz with UBSan. I wanted to make that change for a while. I think the performance impact of UBSan doesn't justify having it on by default, boringssl doesn't use it either. We can always compile with --fuzz --ubsan later and run the whole corpus we found to see if UBSan finds anything.

    -O1 for -Dfuzz=1. I know I said we probably don't want this back when you added that, but I now think that we actually want it :) We want fuzzing builds to be fast by default.

    I moved the cflags in fuzz.gyp from target_defaults to the two targets. Not sure why GYP isn't picking up the defaults, we can figure this out later.

    Building the nssfuzz target on macOS with --asan speeds up fuzzing significantly. So to get rid of the extra confusing coverage we simply filter -fsanitize-coverage. On Linux --asan doesn't seem to make a difference but building nssfuzz with -fsanitize-coverage slows fuzzing down. I checked that this configuration works for both. Obviously, we care more about Linux here, but if testing/developing the fuzzer on macOS is faster that's great too.
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.