Commit Graph

779 Commits

Author SHA1 Message Date
Oliver Chang 78efe3f702 Use https for checking out llvm 2017-08-29 16:17:44 -07:00
Oliver Chang 51db3a3282 [infra] remove unneeded file. 2017-08-24 00:16:39 -07:00
Oliver Chang e1e4c337e4 Use new libFuzzer location.
Fixes #785
2017-08-21 18:10:12 -07:00
Oliver Chang 32c3befdf8 Update builds_status.py 2017-08-10 17:19:52 -07:00
Oliver Chang 3798742fa7 [infra] Fix builds query 2017-08-10 16:40:24 -07:00
Oliver Chang 57c5e5c677 [infra] Increase page size of builds list. 2017-08-10 11:47:29 -07:00
Oliver Chang 223733c213 [infra] builds_status: try to reduce 504s. 2017-08-10 11:44:19 -07:00
Max Moroz b604770ee9 [infra] Temporarily disable "test binaries" build step. 2017-08-09 18:26:19 -07:00
Max Moroz e2e0c22845 [infra] Execute test_all step (includes bad_build_check) for all builds. (#766)
* [infra] Execute test_all step (includes bad_build_check) for all builds.

* Checkout master branch as usual.
2017-08-09 15:22:02 -07:00
Max Moroz 4b73c4b308 [infra] Update bad_build_check to work with some edge cases. 2017-08-09 08:49:41 -07:00
Max Moroz 4e23946573 [infra] Pass FUZZER_BINARY to bad_build_check instead of FUZZER. 2017-08-08 15:07:45 -07:00
Max Moroz f6a3b09305 [infra] Make bad_build_check more verbose. 2017-08-08 13:03:41 -07:00
Max Moroz b1ea461e17 [infra] Add sancov binary to base-runner image in order to perform bad build checks. 2017-08-08 11:40:30 -07:00
Max Moroz f81476ca75 [infra] Add post build checks for catching and reporting bad builds + add test projects. (#754)
* [WIP] Add post build checks for catching and reporting bad builds + test projects.

* Move all type of issues into a single project. Tested all sanitizers.

* First version of the script for performing bad build checks. Still not ready to commit.\

* Added a valid example that should pass all the checks + fixed instrumentation check.

* Use SIGTERM and the handler calling _exit(0) for the startup crash case.

* Small fixes.

* Ignore startup_crash check_for fuzzing engines other than libFuzzer.

* Use "local" for local variables in the script, fix container name.

* Add COPY step for bad_build_check into base-runner Dockerfile.

* Make bad_build_check temporary noop unless EXPERIMENTAL_BAD_BUILD_CHECK is set to 1.

* Temporary remove test binaries step.

* Remove empty line.

* Remove unnecessary env variable.
2017-08-08 10:54:53 -07:00
Oliver Chang 1f30f57714 fix jenkins option 2017-07-26 10:57:06 -07:00
Oliver Chang 10120c3243 Update Jenkins. 2017-07-26 10:38:27 -07:00
Oliver Chang 621b2d4153 Update Dockerfile 2017-07-24 17:56:52 -07:00
Oliver Chang 0a2a9dad5b [infra] gcb: recognise TIMEOUT. 2017-07-19 08:56:18 -07:00
Oliver Chang 59ce244d97 [infra] helper: don't set BUILD_UID. 2017-07-17 19:07:27 -07:00
Oliver Chang 75c9649979 base-runner run_fuzzer: pipe /dev/null to stdin
Targets could be incorrectly reading from stdin (e.g. #681).
2017-06-23 10:26:40 -07:00
Max Moroz 3cee68fa11 [infra] Remove "null" check from UBSan options. (#674)
There is not much value for us from this particular check:
- UBSan's "null" reports leading to real crashes are reported with ASan as well.
- Potential null references are not real crashes and might be considered
  as false positives, though it seems to be UB as per the standard.
2017-06-12 10:46:53 -07:00
robertswiecki fc451ca8af Practically revert 182f607f9b as it will force CC compiler for CXX in honggfuzz (#658) 2017-06-07 12:52:46 -07:00
robertswiecki 182f607f9b Use standard $CC as $HFUZZ_CC_ASAN to avoid expensive compiler search (#656) 2017-06-07 12:03:46 -07:00
Abhishek Arya e999b2cbab Enable 'return' feature for UBsan (#232) 2017-06-02 17:01:55 -07:00
robertswiecki 268d8052a2 Support honggfuzz as a FUZZING_ENGINE (#636) 2017-06-01 17:55:01 -07:00
Oliver Chang c093b7101d [infra] Make coverage run with dict and options. 2017-05-31 12:44:25 -07:00
Oliver Chang af86b0cbdb Use chromium clang revision for base-clang image. (#640)
We still use trunk libFuzzer (from chromium mirror).
2017-05-31 12:30:29 -07:00
Oliver Chang 6ee983a6a0 base-runner: use %fuzz_target%.dict if it exists.
For #619
2017-05-24 14:18:33 -07:00
Oliver Chang f576b352b4 [helper] Add a check for valid project name when generating files. 2017-05-12 15:58:13 -07:00
Abhishek Arya 43838854c1 Add valgrind support in reproduce command (#596)
* Add valgrind support in infra/helper.py, fixes #592.

* Fix spacing.
2017-05-10 14:32:01 -07:00
Oliver Chang cfba9598d7 [helper] Add a prompt to build_image command for pulling base images. (#595) 2017-05-10 13:49:09 -07:00
Max Moroz 04e42ac17a [infra] Use only 'array-bounds' check of UBSan's 'bounds' check (#573).
For more info: https://github.com/google/oss-fuzz/pull/573#issuecomment-300494440
2017-05-10 16:13:28 +02:00
Oliver Chang 75b9282e83 Add --pull argument to build_image. 2017-05-09 12:34:59 -07:00
Max Moroz 19e73d89e9 [infra] Extend set of UBSan checks enabled. (#573) 2017-05-09 14:16:58 +02:00
Oliver Chang c54ed42cd9 [infra] Build coverage build by default. 2017-05-08 11:31:45 -07:00
Oliver Chang 4896be51cd Create a separate coverage build.
First part of #191.
2017-05-08 11:17:27 -07:00
Kostya Serebryany 7def2fceda Update templates.py 2017-05-01 23:32:10 -07:00
Oliver Chang 5c0631d83f [infra] build status: use locale date format. 2017-04-18 16:19:41 -07:00
Oliver Chang 489446d17a [infra] new build status ui 2017-04-18 11:36:39 -07:00
Oliver Chang f9fc503e0a Update builds_status.py 2017-04-18 08:53:22 -07:00
Oliver Chang c52fddefce Update builds_status.py 2017-04-18 08:52:37 -07:00
Oliver Chang 68330d9b99 [infra] Update builds status 2017-04-17 22:56:04 -07:00
Oliver Chang d269fb780e [infra] Work around Container Builder breakage. 2017-04-12 22:39:55 -07:00
Abhishek Arya 6162a27de8 Remove unused unstable builds list 2017-04-07 07:10:53 -07:00
Alex Gaynor 9db317d3b5 Added environment and sanitizer flag support to shell command (#519) 2017-04-05 18:13:20 -07:00
Oliver Chang 8f4a2ad5a2 [infra] add ingress 2017-04-05 15:35:51 -07:00
Oliver Chang ebc372c933 [infra] Change gcb build project 2017-04-05 14:38:03 -07:00
Oliver Chang 6ca557e909 [infra] Change uploader docker image tag 2017-04-05 11:01:59 -07:00
David Tardon 0f66138ef4 fix param name (#516) 2017-04-05 08:56:39 -07:00
Oliver Chang 361ceaece1 [infra] Escape $ in gcb builds. 2017-04-04 13:47:36 -07:00
Oliver Chang 1862be71c9 [infra] Parse WORKDIR when creating GCB build. 2017-04-04 13:42:38 -07:00
Oliver Chang cb91f9957f [infra] Ugly hack to save disk space after a build. 2017-04-03 20:09:07 -07:00
Oliver Chang 6d8ecba423 [infra] Break loudly when a build script incorrectly uses /out instead of $OUT 2017-03-30 14:20:27 -07:00
Oliver Chang 649ab84a2f [infra] Remove --no-pull-base-images.
This is redundant. We can just call `build_image` directly to bypass
cache and not pull.
2017-03-30 14:00:22 -07:00
Oliver Chang f4716b0c1e [infra] helper.py: Bypass docker cache if build_image is called explicitly.
Fixes #479 and #487.
2017-03-30 13:53:19 -07:00
Oliver Chang 5a0b81b644 [infra] Clean up helper.py and don't pull project images (#487)
We still pull base-images by default, but this can be overriden by
passing `--no-pull-base-images`. e.g.

`python helper.py --no-pull-base-images build_image project`.
2017-03-30 13:32:56 -07:00
Oliver Chang 38286301e3 [infra] Delete old infra code. 2017-03-30 12:22:22 -07:00
Oliver Chang 0d669e332e Fix helper template. 2017-03-30 09:48:35 -07:00
Oliver Chang 435e03555d [infra] helper: Actually fix base image name 2017-03-28 14:14:10 -07:00
Oliver Chang 1cf792d9b1 [infra] Fix helper base image project. 2017-03-28 14:04:34 -07:00
Oliver Chang 077ca8519e [infra] Fix builder crash issues. 2017-03-27 17:31:03 -07:00
Oliver Chang d9c93a9137 https 2017-03-27 12:54:11 -07:00
Oliver Chang 0b75ba81bd Fix Dockerfile template (fixes #476) 2017-03-23 09:57:16 -07:00
Oliver Chang 79ff870d30 [infra] Update builds_status 2017-03-22 19:56:58 -07:00
Oliver Chang 60835ac420 oss-fuzz/BASE_IMAGE -> oss-fuzz-base/BASE_IMAGE 2017-03-22 12:12:51 -07:00
Oliver Chang 9a8d207ee9 [infra] wait_for_build: support passing a project id 2017-03-22 12:07:36 -07:00
Oliver Chang a5802a1c16 [infra] build base images to oss-fuzz-base. 2017-03-22 11:38:29 -07:00
Oliver Chang 005d00082e [infra] build base images to oss-fuzz-base 2017-03-22 11:33:51 -07:00
Oliver Chang 5e16d49314 [infra] gcb: support experimental sanitizers format. 2017-03-21 12:17:47 -07:00
Oliver Chang dc39a75b97 [infra] gcb: support experimental sanitizers format 2017-03-21 12:17:08 -07:00
Oliver Chang 0976833b18 [infra] Fix builds status to filter on correct image tag. 2017-03-17 10:47:55 -07:00
Oliver Chang eca80420cf [infra] Workaround for GCB build status issue (#461) 2017-03-16 18:20:30 -07:00
Oliver Chang a5724d42e4 Update build.py 2017-03-15 20:50:12 -07:00
Oliver Chang c2feab5746 More ossfuzz/IMAGE -> gcr.io/oss-fuzz/IMAGE. 2017-03-15 19:11:01 -07:00
Oliver Chang 3a746bab8a [infra] gcb: Add cancel.py
Also recognize CANCELLED status in wait_for_build.
2017-03-15 18:58:48 -07:00
Oliver Chang 7df64d4ac4 [infra] ossfuzz/IMAGE -> gcr.io/oss-fuzz/IMAGE 2017-03-15 18:46:31 -07:00
Oliver Chang f5225f285c [infra] gcb: push base images to oss-fuzz registry
Instead of clusterfuzz-external. It looks better.
2017-03-15 18:33:48 -07:00
Oliver Chang 4f0b242a1a Update wait_for_build.py 2017-03-15 15:49:20 -07:00
Oliver Chang 1ea45f8bd4 [infra] gcb: Upload builds to production buckets. 2017-03-15 12:06:49 -07:00
Oliver Chang de5418888c [infra] gcb: Build afl fuzzers. 2017-03-15 11:26:15 -07:00
Oliver Chang 3bfbefb1d1 [infra] gcb: Links to logs in build status 2017-03-14 14:38:55 -07:00
Oliver Chang e9d2039a0f [infra] gcb: Build our own logs link.
The one returned by the API uses a text filter on the build id, which is
slow.
2017-03-14 14:21:56 -07:00
Oliver Chang 5f0e92ab8d Move gcb auto setup to infra/gcb. 2017-03-14 14:14:10 -07:00
Oliver Chang ac2e937c8b [infra] gcb: print log url. 2017-03-14 14:08:57 -07:00
Oliver Chang 96c52359cb [infra] set cache control on gcb build status 2017-03-14 14:05:25 -07:00
Oliver Chang a46254e93e Override $OUT in gcb build. (#456)
This prevents a copy from the builder container's /out to /workspace/out/sanitizer. Should hopefully fix ffmpeg's disk space issues.
2017-03-14 13:54:19 -07:00
Mike Aizatsky e5b4484450 [infra] script rename 2017-03-14 11:27:34 -07:00
Mike Aizatsky 03b0087b6f [infra] gcb build status script 2017-03-14 11:26:34 -07:00
Mike Aizatsky d4d1b06708 [infra] unused import 2017-03-14 11:01:27 -07:00
Mike Aizatsky 344c376816 [infra] beginning of build status script 2017-03-14 11:01:09 -07:00
Mike Aizatsky 9b4e643489 [infra] do not create build topic 2017-03-14 09:52:30 -07:00
Mike Aizatsky d6ca42d7c9 [infra] flush stdout 2017-03-13 17:37:57 -07:00
Mike Aizatsky 120f02b06d [infra] no debug print 2017-03-13 17:12:20 -07:00
Mike Aizatsky ba48ca174a [infra] storing logs to gcs bucket 2017-03-13 17:06:39 -07:00
Mike Aizatsky f1fa36f418 [infra] there's hard sink limit (90), do not use 2017-03-13 17:03:30 -07:00
Mike Aizatsky 7e6a169a54 [infra] handling unicode 2017-03-13 16:01:42 -07:00
Mike Aizatsky a3fbf974a2 [infra] comments 2017-03-13 15:59:19 -07:00
Mike Aizatsky 89507f930d [infra] triggering build after base-images 2017-03-13 13:02:25 -07:00
Mike Aizatsky 6154a26cbc [infra] acking all messages at once 2017-03-13 12:50:06 -07:00
Oliver Chang afddaf4817 gcb: add build_base_images.py 2017-03-10 22:44:08 -08:00
Oliver Chang adcf1d8b0c gcb: Upload build to test bucket. (#450) 2017-03-10 22:23:44 -08:00
Oliver Chang f11c245ec1 Update Jenkins Dockerfile 2017-03-10 20:50:40 -08:00
Oliver Chang 744ca96988 fix job configs 2017-03-10 19:05:14 -08:00
Oliver Chang 0f9019e201 gcb: update job config. 2017-03-10 17:58:19 -08:00
Oliver Chang 6440b1bff0 gcb: add wait_for_build. (#449) 2017-03-10 17:37:19 -08:00
Mike Aizatsky 32c07d2158 [infra] redirecting srcmap 2017-03-10 16:11:34 -08:00
Mike Aizatsky 6488931029 [infra] using str comparison 2017-03-10 16:11:34 -08:00
Oliver Chang d06de9716a cloudbuild setup (#448) 2017-03-10 15:29:30 -08:00
Mike Aizatsky a103ad072f [infra] using setdefault 2017-03-10 15:26:21 -08:00
Oliver Chang 7448a7e9d8 gcb: set default sanitizers 2017-03-10 14:48:46 -08:00
Oliver Chang 4bfb26e105 blah 2017-03-10 14:33:37 -08:00
Mike Aizatsky 52d6146a8b [infra] v0 gcb building script (#446)
Doesn't perform the upload, but is supposed to build all sanitizer configuration.
I was primarily testing it on json.
2017-03-10 11:54:37 -08:00
Mike Aizatsky 72ec6fcc03 [infra] accepting OSSFUZZ_REVISION env variable 2017-03-10 11:14:20 -08:00
Mike Aizatsky e91a1cb1df [infra] experimental cloudbuild 2017-03-08 11:39:28 -08:00
Mike Aizatsky c18cb563eb [infra] experimental cloudbuild 2017-03-08 11:37:19 -08:00
Mike Aizatsky ffdd306d18 [infra] experimental cloudbuild 2017-03-08 11:36:32 -08:00
Mike Aizatsky bd91570be1 [infra] experimental cloudbuild 2017-03-08 11:32:55 -08:00
Mike Aizatsky 8a7ddd3b52 [infra] slave image fixes 2017-03-08 10:10:27 -08:00
Mike Aizatsky 4fe54f3715 [infra] fighting jenkins CPS 2017-03-07 14:10:02 -08:00
Mike Aizatsky ccdcd2b968 [infra] cleaning non-serializable variables
Fighting jenkins not NotSerializableException error
2017-03-07 13:50:59 -08:00
Mike Aizatsky 7c419e71f1 [infra] replacing .each with java for loops
Some Jenkins CPS crap. See JENKINS-26481
2017-03-07 13:37:38 -08:00
Mike Aizatsky 9bd1f7e5b1 [infra] comments cleanup 2017-03-07 13:23:58 -08:00
Mike Aizatsky 5ed9cd5cef [infra] updated jenkins k18s cluster
Issues #10, #400
2017-03-07 13:20:11 -08:00
Oliver Chang 21851f0426 Allow specifying experimental sanitizers. (#432)
Fixes #378.
2017-03-07 09:53:39 -08:00
Abhishek Arya 534c720afc Build AFL libs with -O2, #421 2017-03-07 09:29:39 -08:00
Abhishek Arya e1d6f4a4fa Ensure all builds are optimized, fix #421
-O1 gives better coverage for fuzzing.
2017-03-07 09:28:43 -08:00
Abhishek Arya 1e9d8d25fd Enable AddressUseAfterScope everywhere, fix #426 2017-03-06 10:05:31 -08:00
Mike Aizatsky b3c4daa87b [infra] jenkins-slave image 2017-03-03 16:41:13 -08:00
Mike Aizatsky 6af349b61f [infra] simplifying bash 2017-03-03 16:37:19 -08:00
Mike Aizatsky fd3716e1bb [infra] remove extra stages 2017-03-03 16:06:19 -08:00
Mike Aizatsky 4e0110dc18 [infra] syntax fix 2017-03-03 15:31:38 -08:00
Mike Aizatsky 1b7132bb5f [infra] push images after building 2017-03-03 15:29:04 -08:00
Mike Aizatsky a7ed13b878 [infra] do not create uid 0 2017-03-03 14:30:45 -08:00
Mike Aizatsky aaeeafae16 [infra] use parseText, not parse. 2017-03-03 14:13:37 -08:00
Mike Aizatsky e57093d37a [infra] don't use temp file 2017-03-03 14:10:33 -08:00
Oliver Chang 7ebb132bbd afl: don't set mem limit. 2017-02-22 12:05:29 -08:00
Oliver Chang 228f6d1b91 afl: don't override sanitizer flags 2017-02-22 09:03:58 -08:00
Kostya Serebryany 3483393621 add FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION (#410) 2017-02-21 17:43:41 -08:00
Abhishek Arya b519da3809 Fix check to escape control characters, CDATA end sequence 2017-02-19 22:30:59 -08:00
Abhishek Arya 4411467e0b Fix crashes due to unicode output from woff2,libxml2 2017-02-19 15:59:59 -08:00
Abhishek Arya 499690c55f Enable UBSan without vptr for ffmpeg, disable vptr for libFuzzer. (#404) 2017-02-17 23:13:50 -08:00
Abhishek Arya 208517244b Disable object-size, crashing all targets, #232 2017-02-17 10:30:40 -08:00
Max Moroz 54c51d787b Another speculative fix for Jenkins builder timeout.
Several builds are cancelled due to expired tmieout.
2017-02-17 15:01:47 +01:00
Oliver Chang d68a23644e Fix test_report for AFL. 2017-02-16 21:43:31 -08:00
Oliver Chang 76762126ce Update run_fuzzer 2017-02-16 21:33:37 -08:00
Oliver Chang 63cd2fb7f9 Update libfuzzer-pipeline.groovy 2017-02-16 16:19:40 -08:00
Oliver Chang fba583e503 Update libfuzzer-pipeline.groovy 2017-02-16 16:18:30 -08:00
Oliver Chang 2e00fe90d1 [infra] (experimental) Support building with AFL (#396) 2017-02-16 15:09:37 -08:00
Abhishek Arya 810b7fe47b Update test_report 2017-02-16 07:11:25 -08:00
Abhishek Arya 5ba44509fe Update test_all 2017-02-16 07:11:13 -08:00
Abhishek Arya 8f6a96c213 Speculative fix for timeouts
[Pipeline] timeout
Timeout set to expire in 4 hr 0 min
[Pipeline] {
Several projects stuck on timeouts around evening time.

[Pipeline] node
Still waiting to schedule task
Waiting for next available executor
Cancelling nested steps due to timeout
2017-02-15 18:27:38 -08:00
Abhishek Arya 78d9525370 Update test_report 2017-02-15 13:25:53 -08:00
Abhishek Arya d7bd27b071 Update test_all 2017-02-15 13:25:36 -08:00
Abhishek Arya fef863b9ef Update test_all (#393) 2017-02-15 13:16:34 -08:00
Abhishek Arya c0ee841dc0 Update test_report (#392) 2017-02-15 13:15:56 -08:00
Abhishek Arya b2d512c47e Remove --no-create-home to fix #374. 2017-02-11 07:57:49 -08:00
Abhishek Arya 45d8efa8a6 Enable object-size in UBSan 2017-02-09 06:40:18 -08:00
Mike Aizatsky 1b20ce22f9 [infra] specifying timeout for a job (#367)
I'm not sure how well this works in our case when the build is stuck.

https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-timeout-code-enforce-time-limit
Issue #366
2017-02-08 11:31:52 -08:00
Abhishek Arya 921f143c3e Update Dockerfile 2017-02-08 07:08:34 -08:00
Abhishek Arya 3c77078af2 Update helper.py 2017-02-02 19:55:39 -08:00
Abhishek Arya c90ad0fee2 Update README.md 2017-02-02 18:48:11 -08:00
Abhishek Arya 4394cb900d Update README.md 2017-02-02 18:45:39 -08:00
Abhishek Arya b6a6514100 Update Dockerfile 2017-02-02 09:38:08 -08:00
Mike Aizatsky 171a542cd0 [infra] enable undefined sanitizer by default
Fixes #234
2017-02-02 09:36:54 -08:00
Abhishek Arya 5c344e9872 Fixes #225
trace-pc-guard is enabled everywhere, so this is unneeded.
2017-02-02 09:26:23 -08:00
Abhishek Arya e321b99479 Update compile_afl 2017-01-31 12:47:28 -08:00
Abhishek Arya 3125fbeff1 Fixes #263 2017-01-31 11:08:22 -08:00
Kostya Serebryany b74fe4041b build libFuzzer with -O2 (#335) 2017-01-30 20:43:00 -08:00
Abhishek Arya 8699847a42 Fix breakage due to absolute paths in DockerFile 2017-01-26 18:27:42 -08:00
Abhishek Arya f52193a4b1 Update run_fuzzer 2017-01-26 13:53:56 -08:00
Abhishek Arya b4f6676dcf Update reproduce 2017-01-26 13:53:39 -08:00
Abhishek Arya a789bcc256 Update run_fuzzer 2017-01-26 12:59:30 -08:00
Abhishek Arya e7e371c0c9 Update reproduce 2017-01-26 12:59:09 -08:00
Kostya Serebryany 662df1fe24 [infra] add trace-cmp (#309)
Fixes #291
2017-01-23 15:37:18 -08:00
Alex Gaynor f858d8c7db Allow run_fuzzer command to run with nonlocal docker. (#306)
By setting the DOCKER_HOST environment variable, all docker invocations will be non-local. This allows run_fuzzer to work in such an environment (as will be the case for many OS X and Windows users).
2017-01-21 14:53:09 -08:00
Oliver Chang ba369431a5 Update build_status.py 2017-01-20 09:31:51 -08:00
Oliver Chang a29e84fa96 Cache-Control: no-cache on build status pages. 2017-01-20 09:18:38 -08:00
Oliver Chang 49baa72f5b Revert lld changes.
Causing:

"==19==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed" everywhere

Revert "[infra] disabling unused command line argument error"

This reverts commit 4332b19a9f.

Revert "[infra] using lld. Fixes #295. (#297)"

This reverts commit 446a6a7534.
2017-01-19 17:25:20 -08:00
Mike Aizatsky 4332b19a9f [infra] disabling unused command line argument error
several builds fail because of -fuse-ld flag
2017-01-19 14:58:19 -08:00
Mike Aizatsky 446a6a7534 [infra] using lld. Fixes #295. (#297) 2017-01-19 13:14:30 -08:00
Mike Aizatsky b32dc64e8a [infra] using trace-pc-guard by default. Fxes #84 (#292) 2017-01-18 12:34:22 -08:00
Mike Aizatsky e945f6532f Update Jenkinsfile 2017-01-13 11:49:09 -08:00
Mike Aizatsky 6841a534a1 [infra] removed debug output 2017-01-06 13:27:37 -08:00
Mike Aizatsky 59b8c60fac [infra] do not use any sanitizers for afl (#128) 2017-01-05 13:49:28 -08:00
Mike Aizatsky 23b72b4130 [infra] afl fuzzing engine support (#128)
Use FUZZING_ENGINE="afl" to build fuzzers.
2017-01-05 13:40:45 -08:00
Abhishek Arya adb6d612c1 Update Dockerfile
Fixes #245
2017-01-04 20:16:13 -08:00
Mike Aizatsky 2e4b96c93c [infra] enabling track origins for msan (#59) 2017-01-03 14:10:50 -08:00
Abhishek Arya 5faaddd044 Update helper.py 2017-01-03 13:28:28 -08:00
Abhishek Arya 66b19116bd Update helper.py 2017-01-03 11:07:58 -08:00
Abhishek Arya 3cb1898cdd Update README.md 2017-01-03 11:04:50 -08:00
Abhishek Arya 35c191dd2a Update README.md 2017-01-03 10:53:45 -08:00
Abhishek Arya 6c4110d4a4 Fixes (#236)
* Add reproduce command.
* Remove unneeded run and just_run command with duplicate code as run_fuzzer.
* Fix docs for reproduction.
2017-01-03 10:47:05 -08:00
Mike Aizatsky e5233738b1 nit 2016-12-29 14:37:10 -08:00
Mike Aizatsky 25bec26fe4 [infra] nit 2016-12-29 14:36:32 -08:00
Mike Aizatsky 603ec83647 Update README.md 2016-12-29 14:29:32 -08:00
Mike Aizatsky 3d220f2588 [infra] renaming images: base->base-image, base-libfuzzer->base-builder
Continue publishing base-libfuzzer until images a built and
derived images migrated.

Issue #142
2016-12-29 13:39:41 -08:00
Mike Aizatsky 21bf4d622e [infra] adding afl to base image (#128) 2016-12-29 13:15:48 -08:00
Mike Aizatsky f62a882408 [infra] -e build_fuzzers flag to set environment variable (#229)
* [infra] -e helper flag to set environment variable

Can be used to switch sanitizer or fuzzing engine.

* removed unneeded class

* nit
2016-12-29 13:08:47 -08:00
Mike Aizatsky 06b1f4406d [infra] using utc instead of local time (#230) 2016-12-29 13:00:56 -08:00
Mike Aizatsky f751053545 [infra] missing unstable builds 2016-12-29 11:19:37 -08:00
Mike Aizatsky e77895463b [infra] unwrapping value 2016-12-29 11:12:56 -08:00
Mike Aizatsky 647b9cc06e [infra] removed debug output 2016-12-29 11:11:01 -08:00
Mike Aizatsky 9c8784509f [infra] nits 2016-12-29 11:09:40 -08:00
Mike Aizatsky 5390e7241b [infra] showing unstable builds 2016-12-29 11:06:49 -08:00
Mike Aizatsky a5b6c3dc05 [info] printing out job info 2016-12-29 10:43:04 -08:00
Mike Aizatsky d75677378e [infra] enabling leak detector by default
Fixes #9
Issues like #224 should fail the build now.
2016-12-28 11:18:46 -08:00
Mike Aizatsky 7e56c88379 [infra] some builds never fail 2016-12-28 10:42:30 -08:00
Mike Aizatsky 0bbedbda65 [infra] --nopull option for helper.py (#219)
The options is useful when changing base-images.
2016-12-27 17:14:33 -08:00
Mike Aizatsky c4ac474aef [infra] chown $WORK as well: it will be mounted from outside of container 2016-12-27 13:47:44 -08:00
Mike Aizatsky 6d48c46597 [infra] inputs are string arrays 2016-12-27 11:51:30 -08:00
Mike Aizatsky 288b25b287 [infra] unwrap result object 2016-12-27 11:50:40 -08:00
Mike Aizatsky 7d6b4c9acf nit 2016-12-27 11:41:04 -08:00
Mike Aizatsky 3c9642ebe4 [infra] uploading status.json 2016-12-27 11:36:13 -08:00
Mike Aizatsky 15fcfa0e52 [infra] run build.sh with -eu (exit on first error, error on undefined vars) 2016-12-27 09:39:59 -08:00
Mike Aizatsky 202b73edb8 [infra] Fixing undefined variable error
@alex, forget the explanation in fd244c7b34 ))

I think this is now how it was intended:

* ${parameter-default} expands to default if parameter is not set
* -n checks if expansion is not empty
2016-12-27 09:13:07 -08:00
Mike Aizatsky fd244c7b34 Revert "Fixed inverted conditional in compile script (#215)"
This reverts commit 43e03bc035.

The initial code was right:
(http://www.tldp.org/LDP/abs/html/parameter-substitution.html)

If $BUILD_ID is defined ${BUILD_ID+} evaluates to empty string.
If $BUILD_ID is not defined, it evaluates to null string.

-z of empty string is true
-z of null string is false

(welcome to bash).

@alex
2016-12-27 09:01:20 -08:00
Alex Gaynor 43e03bc035 Fixed inverted conditional in compile script (#215) 2016-12-24 11:57:01 -08:00
Mike Aizatsky a0e8a442b0 Update README.md 2016-12-22 10:48:28 -08:00
Mike Aizatsky 1de3d366be [infra] you can't do sh outside of node() 2016-12-21 15:40:30 -08:00
Mike Aizatsky 5a4daf8980 [infra] use $BUILD_UID if it is defined (fixes #30) (#211)
If $BUILD_UID is defined, then compile script will create a user
with a given UID and switch to it prior to calling project's build.sh.
2016-12-21 15:01:44 -08:00
Caolán McNamara b57371a098 add SYS_PTRACE capability (#9 #212)
I'm finding that with e.g.

python infra/helper.py build_fuzzers libpng

all builds fail for me with...

configure:3443: checking whether we are cross compiling
configure:3451: clang -o conftest -g -fsanitize=address -fsanitize-coverage=edge,indirect-calls,8bit-counters   conftest.c  >&5
configure:3455: $? = 0
configure:3462: ./conftest
==1014==LeakSanitizer has encountered a fatal error.
==1014==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
==1014==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
configure:3466: $? = 1
configure:3473: error: in `/src/libpng':
configure:3475: error: cannot run C compiled programs.

with the defaults of...
CC=clang
CXX=clang++
CFLAGS=-g -fsanitize=address -fsanitize-coverage=edge,indirect-calls,8bit-counters
CXXFLAGS=-g -fsanitize=address -fsanitize-coverage=edge,indirect-calls,8bit-counters -stdlib=libc++

but adding --cap-add SYS_PTRACE makes it work
2016-12-21 12:58:01 -08:00
Mike Aizatsky 274fb853aa [infra] do not ignore zip paths (#162) 2016-12-20 14:48:19 -08:00
Mike Aizatsky 45206f3484 [infra] nit 2016-12-15 20:57:29 -08:00
Mike Aizatsky 0a7dd52155 [infra] overriding default libraries for msan build #59 2016-12-15 20:57:07 -08:00
Mike Aizatsky 2de24fc520 [infra] build msan version of libcxx into /usr/msan/lib (#59). 2016-12-14 13:16:11 -08:00
inferno-chromium f22ee6eb3a Fix typo 2016-12-13 17:54:36 -08:00
Mike Aizatsky 5e02e09397 [infra] nit 2016-12-13 15:55:13 -08:00
inferno-chromium 01373acf7d Rename base-debug-runner->base-runner-debug, add hooks. (#181) 2016-12-13 15:07:53 -08:00
Mike Aizatsky c7b92df765 [infra] removing debug output 2016-12-13 13:48:10 -08:00
Mike Aizatsky 69b623c82d [infra] nit 2016-12-13 13:36:45 -08:00
inferno-chromium e10b3b2d51 Remove libfuzzer-runner. (#179)
* Remove libfuzzer-runner.

* Add base-debug-runner.
2016-12-13 13:16:44 -08:00
Mike Aizatsky 5c2eb9da69 [infra] removing debug output 2016-12-13 13:11:47 -08:00
Mike Aizatsky 8c4188d921 [infra] var rename 2016-12-13 13:09:31 -08:00
Mike Aizatsky 73b3e93f30 [infra] adding SYS_PTRACE capabilities to all jenkins docker runs #6 2016-12-13 13:08:51 -08:00
Mike Aizatsky 11b0c45f91 [infra] added memory sanitizer config 2016-12-13 12:47:20 -08:00
inferno-chromium f9b3680dee Fix run_fuzzer to use base-runner image for building. (#178) 2016-12-13 11:59:53 -08:00
Mike Aizatsky 7747c34d2d [infra] using base-runner for running 2016-12-13 11:27:45 -08:00
Abhishek Arya 4f3b0123f6 Fix merge conflict. 2016-12-13 11:10:15 -08:00
Abhishek Arya 10d8f2f7b2 Use same *SAN_OPTIONS as ClusterFuzz. 2016-12-13 11:07:48 -08:00
Mike Aizatsky 7bd5ae5115 [infra] coverage flags can be overriden on target basis. #84 2016-12-13 10:37:21 -08:00
Caolán McNamara 07ac1eab14 bind mount work dir (#176)
with python infra/helper.py build_fuzzers <PROJECT>

out of the box I get /work as a dir in the docker image root with approx 6 gigs
free after dependencies are installed, i.e.

Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/docker-..   10G  3.9G  6.2G  39% /

which is limiting for a very large project, how about binding /work to the host
like /out already is, eg. for me afterwards, plenty of work space

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       440G  291G  128G  70% /work

(cherry picked from commit fffffb107dc7421b91b884c0019c62e43779c4b1)
2016-12-13 10:27:23 -08:00
Mike Aizatsky d03d1679f9 debugging on 2016-12-12 22:44:37 -08:00
Mike Aizatsky e30377104f debug output 2016-12-12 22:09:22 -08:00
Mike Aizatsky 4d0d878609 [infra] failure should be indicated by a separate tag. #168 2016-12-12 21:40:28 -08:00
Mike Aizatsky 7f162d0fed [infra] pipefail is no longer needed 2016-12-12 16:33:03 -08:00
Mike Aizatsky 598c8ba618 [infra] separate test_report script for jenkins integration
Separate test_report script runs tests and generates junit-style
reports. The script doesn't fail when fuzzer fails, but marks it as
failed instead.

Fixes #168
2016-12-12 16:30:51 -08:00
Oliver Chang f2e3c0e50d Include file in base-runner. (#160) 2016-12-09 12:32:40 -08:00
Oliver Chang 6dde379193 Fix fuzzer executable detection in test_all. (#156) 2016-12-08 12:41:14 -08:00
Oliver Chang 1c2330d9e4 Update build_status.py 2016-12-08 11:00:00 -08:00
Oliver Chang 98cdcb718a Update build_status.py 2016-12-08 10:48:56 -08:00