Commit Graph

444 Commits

Author SHA1 Message Date
jonathanmetzman 1ed145d9e7
[bisect_clang] Add comment on testing (#2957) 2019-10-16 12:45:05 -07:00
Max Moroz 5943ef19d4
Reland "[infra] Use fuzz target basename in the coverage script." (#2903) (#2944) 2019-10-14 09:34:30 -07:00
Max Moroz c805b49636
[infra] Add a fixed seed value to the libFuzzer command in bad_build_check. (#2943) 2019-10-14 09:34:14 -07:00
Abhishek Arya 342e8d0b42
Renable bad build check for jsoncpp_fuzzer. (#2945) 2019-10-11 17:06:18 -07:00
Abhishek Arya 45574e0197
Skip jsoncpp_fuzzer bad build check to let startup crash file. (#2941) 2019-10-11 07:24:06 -07:00
jonathanmetzman 378472cf0b
Add scripts to bisect clang commits that introduced regressions (#2849)
Add script to bisect bad clang rolls.
2019-10-03 15:35:31 -07:00
Max Moroz 099b86d384
Revert "[infra] Use fuzz target basename in the coverage script. (#2896)" (#2903)
This reverts commit 5a1d15bd9a.
2019-09-28 14:57:46 -07:00
Max Moroz 5a1d15bd9a
[infra] Use fuzz target basename in the coverage script. (#2896) 2019-09-27 13:04:49 -07:00
Max Moroz b3726e9d20
[infra] Use stable version of AFL from the upstream repo. (#2767) 2019-08-27 09:53:48 -07:00
Max Moroz b33c276c0d
[infra] Update base-builder image to support go-fuzz (#2714). (#2735)
* [infra] Update base-builder image to support go-fuzz (#2714).

* address review comments
2019-08-21 11:06:59 -07:00
Max Moroz 05a30d2ad5
[infra] Bad build check: lower UBSan calls threshold from 170 to 169. (#2692) 2019-08-13 12:50:29 -07:00
jonathanmetzman c4202c2f48
Revert "Use "x86" instead of "i386" for better name recognition. (#2685)" (#2687)
This reverts commit 0c6cc5cae8.
2019-08-12 10:54:18 -07:00
jonathanmetzman 0c6cc5cae8
Use "x86" instead of "i386" for better name recognition. (#2685)
It seems more people understand x86 than i386, use this term instead.
2019-08-12 10:35:16 -07:00
jonathanmetzman c158db4df2
[infra] Remove debug code breaking bad_build_check #2555 (#2557) 2019-06-30 12:52:29 -07:00
Max Moroz 5dece89e3c
[infra] Add support for dataflow builds to the helper script and build check (#1632). (#2501)
* [infra] Add support for dataflow builds to the helper script and build check (#1632).

* Update travis config file.

* Address self-review comments and specify dataflow sanitizer for zstd as well.

* Fix fuzzing_engines in project.yaml

* Fix bad build check for DFSan.

* Use "hasattr" in helper.py to check the sanitizer argument.

* Address more review comments.

* Remove DataFlow config from zstd.

* fix a typo
2019-06-12 11:08:15 -07:00
Max Moroz 3830c427b2 [infra] Ignore return code when removing seed corpus for dataflow build. 2019-06-10 15:32:51 -07:00
Max Moroz 1f0a33c712 [infra] Do not archive seed corpus for dataflow builds. 2019-06-10 10:00:20 -07:00
Max Moroz 3be06d5e78
[docs] Remove `-lFuzzingEngine` reference from base-builder image readme.
//cc @jonathanmetzman
2019-05-31 16:50:29 -07:00
jonathanmetzman 4963f6ed93
Use AFL_DRIVER_DONT_DEFER=1 in AFL checks since bad_build_check doesn't support .options (#2471) 2019-05-28 10:29:16 -07:00
Abhishek Arya 4d3073292a
Update test_all 2019-05-28 09:09:33 -07:00
Abhishek Arya e2003e1f39
Remove code for copying dataflow scripts (#2461)
Dataflow scripts are removed in
51570280af
2019-05-24 13:01:21 -07:00
jonathanmetzman 12fa975bc3 Update regex for clang revision (#2460) 2019-05-24 11:19:55 -07:00
jonathanmetzman 7073fb976c
[i386] Do i386 builds of projects that have opted-in (#2416) 2019-05-15 14:00:57 -07:00
jonathanmetzman 95dd538c60
[infra] Update name of check_instrumentation and error messages (#2414) 2019-05-15 10:35:06 -07:00
Evgeny Vereshchagin 2361c62433 [infra] make it possible to override the percentage of targets that can be broken (#2419)
10% is an absolutely sensible default in general especially for single-purpose
libraries like json-parsers. When large "umbrella" projects (like systemd) are
fuzzed with 30 fuzzers (and counting (hopefully :-)) covering code scattered all
over their repositories it's too easy to introduce a broken fuzzer or break a couple
of fuzzers accidentally even after running `check_build`. Waiting for two to three
days for ClusterFuzz to open an issue isn't ideal from the point of view of large
open-source project maintainers (where generally contributors come and go) so one
solution would be to run something like when PRs are opened
```sh
helper.py check_build ALLOWED_BROKEN_TARGETS_PERCENTAGE=0 ...
```
and catch issues as early as possible (and fix them while the context isn't
completely faded away).

I also considered changing this with `sed` and rebuilding `base-images/base-runner`
locally but it takes too much time, looks too kludgy (even to me) and is likely to be broken
in a week or so :-)
2019-05-15 06:38:09 -07:00
jonathanmetzman 8f9a3fa22b
[infra] Fix check_instrumentation in bad_build_check (#2412) 2019-05-14 10:36:48 -07:00
jonathanmetzman 3976a002af
[i386] Improve linking and bad build check (#2410)
Improve linking by copying i386 libs instead of adding `-L` to `CXXFLAGS`
Get bad_build_check working for i386 binaries and add architecture check.
2019-05-14 10:18:02 -07:00
jonathanmetzman 3df4e14520
Revert "[infra] Roll clang to r360398 (#2405)" (#2408)
This reverts commit 4a9941d9c4.
2019-05-13 15:07:29 -07:00
jonathanmetzman c60fcd7247
Add initial support for i386 builds (#2347)
This feature is not yet officially supported
2019-05-13 15:01:25 -07:00
jonathanmetzman 4a9941d9c4
[infra] Roll clang to r360398 (#2405) 2019-05-13 10:26:40 -07:00
jonathanmetzman 316c1df6a4
Roll clang to r359254 (#2358)
Roll clang to r359254 to uptake fixes for exception handling and MSAN.
2019-04-30 10:19:20 -04:00
jonathanmetzman a047d08b8e
Revert "[infra] Revert the recent clang roll to fix some builds (#2315) (#2316) (#2356)
* Revert "[infra] Revert the recent clang roll to fix some builds (#2315). (#2316)"

This reverts commit 8b34fd89d2.
2019-04-29 16:22:20 -04:00
jonathanmetzman ae9398deef
Change LIB_FUZZING_ENGINE to -fsanitize=fuzzer in libFuzzer builds (#2312) 2019-04-15 10:05:02 -07:00
Max Moroz 8b34fd89d2
[infra] Revert the recent clang roll to fix some builds (#2315). (#2316) 2019-04-12 09:14:09 -07:00
jonathanmetzman 97eca89ed9
Build clang so that it can compile targets with `-fsanitize=fuzzer` (#2311)
Build clang so that it can compile targets with -fsanitize=fuzzer
without adding any runtime dependencies.
2019-04-11 09:51:19 -07:00
Max Moroz 946d0603ba
[infra] Enabling DataFlow build configuration (#1632). (#2292)
* [infra] Enabling DataFlow build configuration (#1632).

* Copy all data flow scripts from the libFuzzer repo.
2019-04-09 07:25:14 -07:00
jonathanmetzman 6625401871
Fix build breakage caused by unnecessary AFL testing (#2291)
Don't test compilation with afl-clang and afl-fuzz
2019-04-04 07:11:40 -07:00
jonathanmetzman 2c9fa6a668
Allow preloading external libFuzzer functions using LD_PRELOAD (#2255) 2019-03-20 16:11:51 -07:00
Sebastian Pop f58939a944 fix build check for aarch64 (#2179) 2019-02-20 21:17:50 -08:00
Sebastian Pop 890c999225 enable builds of base images for AArch64 (#2176)
First step to enable oss-fuzzers to run on native aarch64 as mentioned in
https://github.com/google/oss-fuzz/issues/1754#issuecomment-461926649
2019-02-20 16:16:46 +11:00
Max Moroz 13b6571e2b [infra] Suppress errors from cp command in the coverage build (#2087 and others). 2019-01-14 13:01:16 -08:00
Max Moroz b58fb5dfdb [infra] Remove unused coverage-report-server.py from base-clang image. 2019-01-03 12:44:07 -08:00
Abhishek Arya 5c9cdcfc80
Add tinyxml2 xmltest small target exclusion 2018-12-22 02:19:25 -08:00
Max Moroz 2d1a956fcf [infra] Enable debugging mode for srcmap script to make its failures more obvious. 2018-12-10 10:11:40 -08:00
Max Moroz 9eb9f3bb63 [infra] Follow-up fix for bad_build_check script (#1990). 2018-11-30 12:38:08 -08:00
Max Moroz 7c2f32f748
[infra] Add return value to bad_build_checks script. (#1993) 2018-11-30 11:15:51 -08:00
Oliver Chang 3d662e1bec
Add support for tags field in project.yaml (#1974) (#1980)
* Add support for tags field in project.yaml (#1974)

Also add "sundew" label to libxml2_xml_reader_for_file_fuzzer.

These add additional labels in filed bugs.
2018-11-27 16:46:26 +11:00
Evgeny Vereshchagin 3740c751fd [infra] base-runner: remove strict_string_check from ASAN_OPTIONS (#1972)
Whether string_string_checks will be turned on or not is
being discussed in https://github.com/google/oss-fuzz/issues/542.
Until it's settled, it'd probably be better to remove the option
from ASAN_OPTIONS altogether so as not to confuse anybody.
2018-11-26 09:57:09 -08:00
Abhishek Arya 7de7a3afad
Add checksum_fuzzer to bad build check exclusions
This is due to small number of edges in the fuzz target
2018-11-11 07:16:34 -08:00
Evgeny Vereshchagin 3358b336be [infra]: place the findings of fuzzers run with `helper.py run_fuzzer` in $OUT (#1922)
When `libFuzzer` is used as a fuzzing engine it conveniently puts
everything it finds into its working directory, which happens to
be $OUT. When any other engine is used, the output is sent to /tmp,
which disappears as soon as the container stops. That makes it
unnecessarily hard to extract reproducers found by afl for further analysis
without joining the mount namespace of a running container and
almost impossible with `honggfuzz`, that exits immediately after a crash.
2018-11-08 09:27:46 +11:00