Simplify Fuzzer build options

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Server Security
    • Fully Compatible
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      A developer should be able to compile and use fuzzers with minimal arguments to Bazel. Bazel should trivially build things with standard compiler flags without fuss.

      To achieve this, we will want to make several changes:

      1. Default a lot of common options. We should use clang, with fsan, if you try to use --config=fuzztest.
      2. Disable code coverage. FuzzTest doesn't need coverage, it needs the related but distinct SanitizerCoverage. SanitizerCoverage does not record profiling data to disk, and so allows fuzzers to run for long periods of time, without overfilling the disk.

      3. FuzzTests should use Undefined Behavior Sanitizer by default in order to catch potential undefined behavior. This is the expected behavior, but it looks like we're missing it even in Evergreen. When a test trips undefined behavior it should trip the sanitizer and halt the fuzzer, per SERVER-85343.
      4. Protobuf must be built with fextend-variable-liveness=none

            Assignee:
            Spencer Jackson
            Reporter:
            Spencer Jackson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: