Enable ASAN on Windows

Docs-Preview: https://skia.org/?cl=261336
Change-Id: Ied00d717a37d92179c01158b2fbdfa47a52270c1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261336
Commit-Queue: Mike Klein <mtklein@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
This commit is contained in:
Ben Wagner 2019-12-21 00:53:11 -05:00 committed by Skia Commit-Bot
parent 1fb6aed9ba
commit b6f98ea2c6
13 changed files with 478 additions and 374 deletions

View File

@ -253,12 +253,9 @@ config("default") {
# or pass one of the couple common aliases used by the bots.
sanitizers = sanitize
if (sanitize == "ASAN" || sanitize == "UBSAN") {
if (sanitize == "ASAN") {
# ASAN implicitly runs all UBSAN checks also.
sanitizers = "undefined"
if (sanitize == "ASAN") {
sanitizers += ",address"
}
sanitizers = "undefined,address"
if (is_android) {
# TODO(mtklein): work out UBSAN link errors
@ -284,15 +281,23 @@ config("default") {
# See skia:9731.
cflags += [ "-fsanitize-recover=pointer-overflow" ]
ldflags += [ "-fsanitize=$sanitizers" ]
if (is_win) {
cflags += [ "/FI$_blacklist" ]
cflags += [
"/FI$_blacklist",
# On Release builds, we get strange warnings about string literals.
"/GF-",
]
assert(clang_win != "")
libs += [ "$clang_win/lib/clang/$clang_win_version/lib/windows/clang_rt.asan-x86_64.lib" ]
} else {
cflags += [
"-include$_blacklist",
"-fno-omit-frame-pointer",
]
ldflags += [ "-fsanitize=$sanitizers" ]
}
if (is_linux) {

View File

@ -28,6 +28,7 @@ declare_args() {
win_toolchain_version = ""
clang_win = ""
clang_win_version = ""
skia_moltenvk_path = ""
werror = false
@ -144,6 +145,14 @@ if (target_os == "win") {
],
"trim string")
}
if (clang_win != "" && clang_win_version == "") {
clang_win_version = exec_script("//gn/highest_version_dir.py",
[
"$clang_win/lib/clang",
"[0-9]+\.[0-9]+\.[0-9]+",
],
"trim string")
}
}
# A component is either a static or a shared library.

View File

@ -14,7 +14,6 @@
"OpenCL",
"SKQP",
"TSAN",
"UBSAN",
"Valgrind"
],
"service_account_compile": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com",

View File

@ -1127,7 +1127,7 @@ func attempts(name string) int {
return 1
}
if !(strings.HasPrefix(name, "Build-") || strings.HasPrefix(name, "Upload-")) {
for _, extraConfig := range []string{"ASAN", "MSAN", "TSAN", "UBSAN", "Valgrind"} {
for _, extraConfig := range []string{"ASAN", "MSAN", "TSAN", "Valgrind"} {
if strings.Contains(name, extraConfig) {
// Sanitizers often find non-deterministic issues that retries would hide.
return 1

View File

@ -112,14 +112,14 @@
"Build-Win-Clang-x86-Release",
"Build-Win-Clang-x86_64-Debug",
"Build-Win-Clang-x86_64-Debug-ANGLE",
"Build-Win-Clang-x86_64-Debug-ASAN",
"Build-Win-Clang-x86_64-Debug-OpenCL",
"Build-Win-Clang-x86_64-Debug-UBSAN",
"Build-Win-Clang-x86_64-Debug-Vulkan",
"Build-Win-Clang-x86_64-Debug-Wuffs",
"Build-Win-Clang-x86_64-Release",
"Build-Win-Clang-x86_64-Release-ANGLE",
"Build-Win-Clang-x86_64-Release-ASAN",
"Build-Win-Clang-x86_64-Release-Shared",
"Build-Win-Clang-x86_64-Release-UBSAN",
"Build-Win-Clang-x86_64-Release-Vulkan",
"Build-Win-MSVC-arm64-Debug",
"Build-Win-MSVC-arm64-Debug-ANGLE",
@ -279,8 +279,9 @@
"Perf-Win10-Clang-ShuttleC-GPU-GTX960-x86_64-Release-All-Vulkan",
"Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All",
"Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan",
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN",
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All",
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-UBSAN",
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN",
"Perf-iOS-Clang-iPadPro-GPU-PowerVRGT7800-arm64-Release-All",
"Perf-iOS-Clang-iPadPro-GPU-PowerVRGT7800-arm64-Release-All-Metal",
"Perf-iOS-Clang-iPhone6-GPU-PowerVRGX6450-arm64-Release-All",
@ -571,13 +572,13 @@
"Test-Win2016-Clang-GCE-CPU-AVX2-x86-Debug-All",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86-Release-All",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FAAA",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FSAA",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-UBSAN",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-FAAA",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-FSAA",
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-UBSAN",
"Test-Win2016-MSVC-GCE-CPU-AVX2-x86-Debug-All",
"Test-Win2016-MSVC-GCE-CPU-AVX2-x86-Release-All",
"Test-Win2016-MSVC-GCE-CPU-AVX2-x86_64-Debug-All",

View File

@ -207,7 +207,7 @@ def compile_fn(api, checkout_root, out_dir):
api.run.run_once(build_command_buffer, api, chrome_dir, skia_dir, out_dir)
if 'MSAN' in extra_tokens:
args['skia_use_fontconfig'] = 'false'
if 'ASAN' in extra_tokens or 'UBSAN' in extra_tokens:
if 'ASAN' in extra_tokens:
args['skia_enable_spirv_validation'] = 'false'
if 'NoDEPS' in extra_tokens:
args.update({

View File

@ -186,11 +186,13 @@ class DefaultFlavor(object):
# specified dir
cmd = [procdump, '-accepteula', '-mp', '-e', '1', '-x', dumps_dir] + cmd
if 'ASAN' in extra_tokens or 'UBSAN' in extra_tokens:
if 'ASAN' in extra_tokens:
# Note: if you see "<unknown module>" in stacktraces for xSAN warnings,
# try adding "fast_unwind_on_malloc=0" to xSAN_OPTIONS.
if 'Mac' in self.m.vars.builder_cfg.get('os', ''):
env['ASAN_OPTIONS'] = 'symbolize=1' # Mac doesn't support detect_leaks.
os = self.m.vars.builder_cfg.get('os', '')
if 'Mac' in os or 'Win' in os:
# Mac and Win don't support detect_leaks.
env['ASAN_OPTIONS'] = 'symbolize=1'
else:
env['ASAN_OPTIONS'] = 'symbolize=1 detect_leaks=1'
env[ 'LSAN_OPTIONS'] = 'symbolize=1 print_suppressions=1'

View File

@ -204,7 +204,7 @@
"--some-flag"
],
"env": {
"ASAN_OPTIONS": "symbolize=1 detect_leaks=1",
"ASAN_OPTIONS": "symbolize=1",
"CHROME_HEADLESS": "1",
"LD_LIBRARY_PATH": "[START_DIR]\\clang_linux/lib",
"LSAN_OPTIONS": "symbolize=1 print_suppressions=1",

View File

@ -78,7 +78,7 @@ TEST_BUILDERS = [
'Perf-Chromecast-Clang-Chorizo-CPU-Cortex_A7-arm-Release-All',
'Perf-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-MSAN',
'Perf-Debian9-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN',
'Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-UBSAN',
'Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN',
'Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android',
'Test-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Debug-All-Android',
'Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android',

View File

@ -34,7 +34,6 @@ def upload_perf_results(buildername):
'Coverage',
'MSAN',
'TSAN',
'UBSAN',
'Valgrind',
]
for s in skip_upload_bots:
@ -215,7 +214,7 @@ def nanobench_flags(api, bot):
match.append('~compositing_images')
if 'MacBook10.1' in bot and 'CommandBuffer' in bot:
match.append('~^desk_micrographygirlsvg.skp_1.1$')
if ('ASAN' in bot or 'UBSAN' in bot) and 'CPU' in bot:
if 'ASAN' in bot and 'CPU' in bot:
# floor2int_undef benches undefined behavior, so ASAN correctly complains.
match.append('~^floor2int_undef$')
if 'AcerChromebook13_CB5_311-GPU-TegraK1' in bot:

View File

@ -28,7 +28,6 @@ def upload_dm_results(buildername):
'Coverage',
'MSAN',
'TSAN',
'UBSAN',
'Valgrind',
]
for s in skip_upload_bots:

View File

@ -571,16 +571,16 @@
"Build-Win-Clang-x86_64-Debug-ANGLE"
]
},
"Build-Win-Clang-x86_64-Debug-ASAN": {
"tasks": [
"Build-Win-Clang-x86_64-Debug-ASAN"
]
},
"Build-Win-Clang-x86_64-Debug-OpenCL": {
"tasks": [
"Build-Win-Clang-x86_64-Debug-OpenCL"
]
},
"Build-Win-Clang-x86_64-Debug-UBSAN": {
"tasks": [
"Build-Win-Clang-x86_64-Debug-UBSAN"
]
},
"Build-Win-Clang-x86_64-Debug-Vulkan": {
"tasks": [
"Build-Win-Clang-x86_64-Debug-Vulkan"
@ -601,16 +601,16 @@
"Build-Win-Clang-x86_64-Release-ANGLE"
]
},
"Build-Win-Clang-x86_64-Release-ASAN": {
"tasks": [
"Build-Win-Clang-x86_64-Release-ASAN"
]
},
"Build-Win-Clang-x86_64-Release-Shared": {
"tasks": [
"Build-Win-Clang-x86_64-Release-Shared"
]
},
"Build-Win-Clang-x86_64-Release-UBSAN": {
"tasks": [
"Build-Win-Clang-x86_64-Release-UBSAN"
]
},
"Build-Win-Clang-x86_64-Release-Vulkan": {
"tasks": [
"Build-Win-Clang-x86_64-Release-Vulkan"
@ -1417,14 +1417,19 @@
"Upload-Perf-Win10-MSVC-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan"
]
},
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN": {
"tasks": [
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN"
]
},
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All": {
"tasks": [
"Upload-Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All"
]
},
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-UBSAN": {
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN": {
"tasks": [
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-UBSAN"
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN"
]
},
"Perf-iOS-Clang-iPadPro-GPU-PowerVRGT7800-arm64-Release-All": {
@ -2884,6 +2889,11 @@
"Upload-Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN": {
"tasks": [
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FAAA": {
"tasks": [
"Upload-Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FAAA"
@ -2894,16 +2904,16 @@
"Upload-Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FSAA"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-UBSAN": {
"tasks": [
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-UBSAN"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All": {
"tasks": [
"Upload-Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN": {
"tasks": [
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-FAAA": {
"tasks": [
"Upload-Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-FAAA"
@ -2914,11 +2924,6 @@
"Upload-Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-FSAA"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-UBSAN": {
"tasks": [
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-UBSAN"
]
},
"Test-Win2016-MSVC-GCE-CPU-AVX2-x86-Debug-All": {
"tasks": [
"Upload-Test-Win2016-MSVC-GCE-CPU-AVX2-x86-Debug-All"
@ -11391,6 +11396,83 @@
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Debug-ASAN": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/python/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.15.chromium14"
},
{
"name": "skia/bots/clang_win",
"path": "clang_win",
"version": "version:14"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Win-Clang-x86_64-Debug-ASAN\",\"swarm_out_dir\":\"build\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateWinToolchain"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"image:windows-server-2016-dc-v20190108",
"machine_type:n1-highcpu-64",
"os:Windows-Server-14393",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"idempotent": true,
"io_timeout_ns": 3600000000000,
"isolate": "compile.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Debug-OpenCL": {
"caches": [
{
@ -11473,83 +11555,6 @@
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Debug-UBSAN": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/python/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.15.chromium14"
},
{
"name": "skia/bots/clang_win",
"path": "clang_win",
"version": "version:14"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Win-Clang-x86_64-Debug-UBSAN\",\"swarm_out_dir\":\"build\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateWinToolchain"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"image:windows-server-2016-dc-v20190108",
"machine_type:n1-highcpu-64",
"os:Windows-Server-14393",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"idempotent": true,
"io_timeout_ns": 3600000000000,
"isolate": "compile.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Debug-Vulkan": {
"caches": [
{
@ -11858,6 +11863,83 @@
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Release-ASAN": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/python/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.15.chromium14"
},
{
"name": "skia/bots/clang_win",
"path": "clang_win",
"version": "version:14"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Win-Clang-x86_64-Release-ASAN\",\"swarm_out_dir\":\"build\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateWinToolchain"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"image:windows-server-2016-dc-v20190108",
"machine_type:n1-highcpu-64",
"os:Windows-Server-14393",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"idempotent": true,
"io_timeout_ns": 3600000000000,
"isolate": "compile.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Release-Shared": {
"caches": [
{
@ -11935,83 +12017,6 @@
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Release-UBSAN": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/python/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.15.chromium14"
},
{
"name": "skia/bots/clang_win",
"path": "clang_win",
"version": "version:14"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"compile",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildername\":\"Build-Win-Clang-x86_64-Release-UBSAN\",\"swarm_out_dir\":\"build\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Housekeeper-PerCommit-IsolateWinToolchain"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"gpu:none",
"image:windows-server-2016-dc-v20190108",
"machine_type:n1-highcpu-64",
"os:Windows-Server-14393",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 3600000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"idempotent": true,
"io_timeout_ns": 3600000000000,
"isolate": "compile.isolate",
"max_attempts": 2,
"outputs": [
"build"
],
"service_account": "skia-external-compile-tasks@skia-swarming-bots.iam.gserviceaccount.com"
},
"Build-Win-Clang-x86_64-Release-Vulkan": {
"caches": [
{
@ -24243,6 +24248,91 @@
"perf"
]
},
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/python/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.15.chromium14"
},
{
"name": "skia/bots/skimage",
"path": "skimage",
"version": "version:40"
},
{
"name": "skia/bots/skp",
"path": "skp",
"version": "version:219"
},
{
"name": "skia/bots/svg",
"path": "svg",
"version": "version:9"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"perf",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"perf\",\"task_id\":\"<(TASK_ID)\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Build-Win-Clang-x86_64-Debug-ASAN"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"image:windows-server-2016-dc-v20190108",
"machine_type:n1-standard-16",
"os:Windows-Server-14393",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 14400000000000,
"expiration_ns": 72000000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"io_timeout_ns": 14400000000000,
"isolate": "perf_skia_bundled.isolate",
"max_attempts": 1,
"outputs": [
"perf"
]
},
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All": {
"caches": [
{
@ -24328,7 +24418,7 @@
"perf"
]
},
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-UBSAN": {
"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN": {
"caches": [
{
"name": "vpython",
@ -24378,12 +24468,12 @@
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"perf",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-UBSAN\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"perf\",\"task_id\":\"<(TASK_ID)\"}",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Perf-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"perf\",\"task_id\":\"<(TASK_ID)\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Build-Win-Clang-x86_64-Release-UBSAN"
"Build-Win-Clang-x86_64-Release-ASAN"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
@ -46588,6 +46678,91 @@
"test"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/python/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.15.chromium14"
},
{
"name": "skia/bots/skimage",
"path": "skimage",
"version": "version:40"
},
{
"name": "skia/bots/skp",
"path": "skp",
"version": "version:219"
},
{
"name": "skia/bots/svg",
"path": "svg",
"version": "version:9"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"test",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Build-Win-Clang-x86_64-Debug-ASAN"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"image:windows-server-2016-dc-v20190108",
"machine_type:n1-standard-16",
"os:Windows-Server-14393",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 14400000000000,
"expiration_ns": 72000000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"io_timeout_ns": 14400000000000,
"isolate": "test_skia_bundled.isolate",
"max_attempts": 1,
"outputs": [
"test"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-FAAA": {
"caches": [
{
@ -46758,91 +46933,6 @@
"test"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-UBSAN": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/python/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.15.chromium14"
},
{
"name": "skia/bots/skimage",
"path": "skimage",
"version": "version:40"
},
{
"name": "skia/bots/skp",
"path": "skp",
"version": "version:219"
},
{
"name": "skia/bots/svg",
"path": "svg",
"version": "version:9"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"test",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Debug-All-UBSAN\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Build-Win-Clang-x86_64-Debug-UBSAN"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"image:windows-server-2016-dc-v20190108",
"machine_type:n1-standard-16",
"os:Windows-Server-14393",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 14400000000000,
"expiration_ns": 72000000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"io_timeout_ns": 14400000000000,
"isolate": "test_skia_bundled.isolate",
"max_attempts": 1,
"outputs": [
"test"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All": {
"caches": [
{
@ -46928,6 +47018,91 @@
"test"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/python/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.15.chromium14"
},
{
"name": "skia/bots/skimage",
"path": "skimage",
"version": "version:40"
},
{
"name": "skia/bots/skp",
"path": "skp",
"version": "version:219"
},
{
"name": "skia/bots/svg",
"path": "svg",
"version": "version:9"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"test",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Build-Win-Clang-x86_64-Release-ASAN"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"image:windows-server-2016-dc-v20190108",
"machine_type:n1-standard-16",
"os:Windows-Server-14393",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 14400000000000,
"expiration_ns": 72000000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"io_timeout_ns": 14400000000000,
"isolate": "test_skia_bundled.isolate",
"max_attempts": 1,
"outputs": [
"test"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-FAAA": {
"caches": [
{
@ -47098,91 +47273,6 @@
"test"
]
},
"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-UBSAN": {
"caches": [
{
"name": "vpython",
"path": "cache/vpython"
}
],
"cipd_packages": [
{
"name": "infra/tools/luci/kitchen/${platform}",
"path": ".",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci-auth/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/tools/luci/vpython/${platform}",
"path": "cipd_bin_packages",
"version": "git_revision:af7d2ebd14e9bdad51ff1afacbf37f49815ad27b"
},
{
"name": "infra/python/cpython/${platform}",
"path": "cipd_bin_packages",
"version": "version:2.7.15.chromium14"
},
{
"name": "skia/bots/skimage",
"path": "skimage",
"version": "version:40"
},
{
"name": "skia/bots/skp",
"path": "skp",
"version": "version:219"
},
{
"name": "skia/bots/svg",
"path": "svg",
"version": "version:9"
}
],
"command": [
"cipd_bin_packages/vpython${EXECUTABLE_SUFFIX}",
"-u",
"skia/infra/bots/run_recipe.py",
"${ISOLATED_OUTDIR}",
"test",
"{\"$kitchen\":{\"devshell\":true,\"git_auth\":true},\"buildbucket_build_id\":\"<(BUILDBUCKET_BUILD_ID)\",\"buildername\":\"Test-Win2016-Clang-GCE-CPU-AVX2-x86_64-Release-All-UBSAN\",\"gold_hashes_url\":\"https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt\",\"patch_issue\":\"<(ISSUE_INT)\",\"patch_ref\":\"<(PATCH_REF)\",\"patch_repo\":\"<(PATCH_REPO)\",\"patch_set\":\"<(PATCHSET_INT)\",\"patch_storage\":\"<(PATCH_STORAGE)\",\"repository\":\"<(REPO)\",\"revision\":\"<(REVISION)\",\"swarm_out_dir\":\"test\",\"task_id\":\"<(TASK_ID)\"}",
"skia"
],
"dependencies": [
"Housekeeper-PerCommit-BundleRecipes",
"Build-Win-Clang-x86_64-Release-UBSAN"
],
"dimensions": [
"cpu:x86-64-Haswell_GCE",
"image:windows-server-2016-dc-v20190108",
"machine_type:n1-standard-16",
"os:Windows-Server-14393",
"pool:Skia"
],
"env_prefixes": {
"PATH": [
"cipd_bin_packages",
"cipd_bin_packages/bin"
],
"VPYTHON_VIRTUALENV_ROOT": [
"cache/vpython"
]
},
"execution_timeout_ns": 14400000000000,
"expiration_ns": 72000000000000,
"extra_tags": {
"log_location": "logdog://logs.chromium.org/skia/${SWARMING_TASK_ID}/+/annotations"
},
"io_timeout_ns": 14400000000000,
"isolate": "test_skia_bundled.isolate",
"max_attempts": 1,
"outputs": [
"test"
]
},
"Test-Win2016-MSVC-GCE-CPU-AVX2-x86-Debug-All": {
"caches": [
{

View File

@ -6,7 +6,7 @@ MSAN, ASAN, & TSAN
Compiling Skia with ASAN, UBSAN, or TSAN can be done with the latest version of Clang.
- UBSAN works on Linux, Mac, Android, and Windows, though some checks are platform-specific.
- ASAN works on Linux, Mac, Android.
- ASAN works on Linux, Mac, Android, and Windows.
- TSAN works on Linux and Mac.
- MSAN works on Linux[1].