Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1509)

Issue 1668543004: Add AddressSanitizer to fuzzer analysis (Closed)

Created:
4 years, 10 months ago by kjlubick
Modified:
4 years, 10 months ago
Reviewers:
jcgregorio
CC:
reviews_skia.org
Base URL:
https://skia.googlesource.com/buildbot@remove-old-tests
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Add AddressSanitizer to fuzzer analysis Instead of running potential fuzzes against two executables (Debug, Release), this now runs them against 4 executables (Debug, Release) x (Clang, ASAN). ASAN is short for a clang build with the AddressSanitizer flag on. There are many new test cases that excercise the various combinations of ASAN output and Clang output. For making a stacktrace, we look for the ASAN crash first, if that didn't crash, we use the Clang crash then. The ASAN stacktrace parsing requires 'llvm-symbolizer' to be on the path. This typically involves a symbolic link. To avoid duplicate code and functions with many parameters, I made some new structs in result.go, namely GCSPackage. GCSPackage represents all the analysis information that is stored in Google Storage: The fuzz name and category, and the raw strings of the 6 files that are the output. This allows reuse for uploading to and downloading from GCS. A FuzzReport has changed from having a single HumanReadableFlags array to having one for each Debug and Release. This allows for more symmetrical code and could allow for better filtering on the frontend. There are two new flags for the backend, one that forces a re-analysis of the current fuzzes and one that toggles the outputs of builds. The latter hopefully will make production logs easier to read. BUG=skia:4438 Committed: https://skia.googlesource.com/buildbot/+/5610c848205e7d4b732bbafa646ab669bcb34e42

Patch Set 1 #

Patch Set 2 : Add some documentation #

Patch Set 3 : Add No_Stacktrace and SK_Abort tests #

Patch Set 4 : add multi threaded delete #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+1899 lines, -281 lines) Patch
M compute_engine_scripts/fuzzer/install.sh View 1 1 chunk +3 lines, -1 line 0 comments Download
M fuzzer/go/aggregator/aggregator.go View 13 chunks +110 lines, -60 lines 0 comments Download
M fuzzer/go/backend/version_updater.go View 1 2 3 4 chunks +13 lines, -5 lines 0 comments Download
M fuzzer/go/common/build_skia.go View 5 chunks +23 lines, -7 lines 0 comments Download
M fuzzer/go/common/common.go View 1 chunk +2 lines, -0 lines 0 comments Download
M fuzzer/go/common/storage.go View 1 chunk +1 line, -1 line 0 comments Download
M fuzzer/go/common/version_watcher.go View 2 chunks +9 lines, -0 lines 2 comments Download
M fuzzer/go/config/config.go View 1 chunk +2 lines, -0 lines 0 comments Download
M fuzzer/go/frontend/data/report.go View 2 chunks +12 lines, -10 lines 0 comments Download
M fuzzer/go/frontend/data/report_test.go View 1 chunk +45 lines, -45 lines 0 comments Download
M fuzzer/go/frontend/data/result.go View 1 2 3 chunks +202 lines, -75 lines 0 comments Download
M fuzzer/go/frontend/data/stacktrace.go View 5 chunks +47 lines, -7 lines 0 comments Download
M fuzzer/go/frontend/data/stacktrace_test.go View 1 2 5 chunks +343 lines, -4 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/parse-asan-double.asan View 1 chunk +64 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/parse-asan-single.asan View 1 chunk +52 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/0grey_debug.asan View 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/0grey_debug.err View 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/0grey_release.asan View 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/0grey_release.err View 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/1bad_debug.asan View 1 chunk +52 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/1bad_release.asan View 1 chunk +16 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/1grey_debug.err View 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/1grey_release.err View 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/2bad_debug.asan View 1 chunk +19 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/2bad_debug.dump View 1 chunk +189 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/2bad_debug.err View 1 chunk +2 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/2bad_release.asan View 1 chunk +64 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/2grey_release.err View 1 chunk +3 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/3bad_debug.dump View 1 chunk +162 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/3bad_release.asan View 1 chunk +50 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/3bad_release.dump View 1 chunk +158 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/3grey_debug.asan View 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/4bad_debug.asan View 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/4bad_debug.err View 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/4bad_release.asan View 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/4bad_release.err View 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/5bad_debug.asan View 1 chunk +17 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/5bad_debug.err View 1 chunk +3 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/5bad_release.asan View 1 chunk +17 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/5bad_release.err View 1 chunk +3 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/6bad_debug.asan View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/6bad_debug.dump View 1 2 1 chunk +34 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/6bad_debug.err View 1 2 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/6bad_release.asan View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/6bad_release.dump View 1 2 1 chunk +34 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/6bad_release.err View 1 2 1 chunk +1 line, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/7bad_debug.asan View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/7bad_debug.err View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/7bad_release.asan View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
A fuzzer/go/frontend/data/testdata/stacktrace/7bad_release.err View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M fuzzer/go/frontend/gsloader/gsloader.go View 7 chunks +27 lines, -10 lines 0 comments Download
M fuzzer/go/fuzzcache/fuzzcache_test.go View 1 chunk +45 lines, -45 lines 0 comments Download
M fuzzer/go/fuzzer-be/main.go View 5 chunks +15 lines, -4 lines 0 comments Download
M go/gs/gs.go View 1 2 3 2 chunks +28 lines, -7 lines 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 14 (7 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1668543004/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1668543004/20001
4 years, 10 months ago (2016-02-04 18:20:01 UTC) #4
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-02-04 18:23:02 UTC) #7
kjlubick
4 years, 10 months ago (2016-02-04 18:23:16 UTC) #8
jcgregorio
lgtm https://codereview.chromium.org/1668543004/diff/60001/fuzzer/go/common/version_watcher.go File fuzzer/go/common/version_watcher.go (right): https://codereview.chromium.org/1668543004/diff/60001/fuzzer/go/common/version_watcher.go#newcode86 fuzzer/go/common/version_watcher.go:86: config.Common.ForceReanalysis = false Will this ever get turned ...
4 years, 10 months ago (2016-02-05 20:37:19 UTC) #9
kjlubick
https://codereview.chromium.org/1668543004/diff/60001/fuzzer/go/common/version_watcher.go File fuzzer/go/common/version_watcher.go (right): https://codereview.chromium.org/1668543004/diff/60001/fuzzer/go/common/version_watcher.go#newcode86 fuzzer/go/common/version_watcher.go:86: config.Common.ForceReanalysis = false On 2016/02/05 at 20:37:19, jcgregorio wrote: ...
4 years, 10 months ago (2016-02-05 20:41:02 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1668543004/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1668543004/60001
4 years, 10 months ago (2016-02-08 13:38:30 UTC) #12
commit-bot: I haz the power
4 years, 10 months ago (2016-02-08 13:42:05 UTC) #14
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://skia.googlesource.com/buildbot/+/5610c848205e7d4b732bbafa646ab669bcb3...

Powered by Google App Engine
This is Rietveld 408576698