Closed Bug 1346016 Opened 7 years ago Closed 7 years ago

Create --enable-fuzzing TC job

Categories

(Firefox Build System :: Task Configuration, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla55

People

(Reporter: sfink, Assigned: sfink)

Details

Attachments

(2 files)

I thought I already had a bug for this. Or at least a patch with feedback? set. But I can't find either one.
You mentioned that you wanted a build to make sure --enable-fuzzing kept compiling. What other command-line options would you like it to have? I think this one is a debug build and should run relatively quickly.
Attachment #8845644 - Flags: feedback?(choller)
Thank you so much for working on this Steve :)

For now, if we could simply copy the ASan opt build configuration that would be awesome. I can then later tweak the configuration if we need changes, given that I can do those changes.
(In reply to Christian Holler (:decoder) from comment #2)
> For now, if we could simply copy the ASan opt build configuration that would
> be awesome. I can then later tweak the configuration if we need changes,
> given that I can do those changes.

Hm. asan does:

    --disable-debug : I thought the fuzzer wanted debug symbols?
    --enable-debug-symbols='-gline-tables-only' : this might be good enough for fuzzing, not sure
    --disable-jemalloc : do you do this in fuzzing now? I'm fine with it, just wondering.
    "optimize": true : I guess this should speed up fuzzing, so it seems good as long as it doesn't mess anything up for you
    "compiler": "clang" : this is for asan, but just checking -- do you need this for fuzzing for some reason? If not, I'd rather match the compiler that builds the release Firefox
Flags: needinfo?(choller)
(In reply to Steve Fink [:sfink] [:s:] from comment #3)
> (In reply to Christian Holler (:decoder) from comment #2)
> > For now, if we could simply copy the ASan opt build configuration that would
> > be awesome. I can then later tweak the configuration if we need changes,
> > given that I can do those changes.
> 
> Hm. asan does:
> 
>     --disable-debug : I thought the fuzzer wanted debug symbols?

The --enable-debug flag isn't primarily used for debug symbols, but rather to enable debug code (assertions etc.). We sometimes fuzz on debug builds as well, but for the full browser, this is often very slow, so we use opt builds.

>     --enable-debug-symbols='-gline-tables-only' : this might be good enough
> for fuzzing, not sure

Yes, this is what is required by ASan in order to symbolize. This also keeps the binary size small.

>     --disable-jemalloc : do you do this in fuzzing now? I'm fine with it,
> just wondering.

ASan is incompatible with jemalloc.

>     "optimize": true : I guess this should speed up fuzzing, so it seems
> good as long as it doesn't mess anything up for you

Exactly.

>     "compiler": "clang" : this is for asan, but just checking -- do you need
> this for fuzzing for some reason? If not, I'd rather match the compiler that
> builds the release Firefox

Yes, we need clang because of ASan. I would even prefer if we use the clang 3.9 we now have in the releng manifest. Our ASan builds are still on Clang 3.8. Unfortunately, I currently get a warning for unreachable code when I push the ASan build to try with the Clang 3.9 manifest (with 3.8 it seems fine, without ASan it also seems fine after bug 1291397). This is probably a Clang bug, so we might have to disable warnings-as-errors on this build for now.
Flags: needinfo?(choller)
Oh, wait. I understand now what I was missing. I assumed you meant "copy the asan configuration but without asan itself". But it sounds like you want asan. So this build should be *exactly* the asan build but with --enable-fuzzing added. Ok.
I never did track down the problem where pushing this patch to try failed to trigger the build, even though I added in kind.yml to the 'when' clause. But it works if I push something on top of it that touches js/src.
Attachment #8848602 - Flags: review?(dustin)
Attachment #8848602 - Flags: review?(dustin) → review+
Pushed by sfink@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d4d3d6f83248
Add a build to test --enable-fuzzing, r=dustin
https://hg.mozilla.org/mozilla-central/rev/d4d3d6f83248
https://hg.mozilla.org/mozilla-central/rev/0762efbcf2e8
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Attachment #8845644 - Flags: feedback?(choller)
Product: TaskCluster → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: