narrow use of fast_unwind_on_malloc=0
Looks like our bots took anywhere from a 2x to 25x slowdown hit from using this flag. Let's keep it only where we think we need it, Test-...-ASAN_Vulkan bots. Change-Id: Ied7c0a744fafa307f4ad0e7f82c62445b2cc1e61 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/282297 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
This commit is contained in:
parent
b19ed123bd
commit
97cdd6a4ce
@ -203,17 +203,21 @@ class DefaultFlavor(object):
|
||||
cmd = [procdump, '-accepteula', '-mp', '-e', '1', '-x', dumps_dir] + cmd
|
||||
|
||||
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.
|
||||
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 fast_unwind_on_malloc=0'
|
||||
env['ASAN_OPTIONS'] = 'symbolize=1'
|
||||
else:
|
||||
env['ASAN_OPTIONS'] = 'symbolize=1 fast_unwind_on_malloc=0 detect_leaks=1'
|
||||
env[ 'LSAN_OPTIONS'] = 'symbolize=1 fast_unwind_on_malloc=0 print_suppressions=1'
|
||||
env['ASAN_OPTIONS'] = 'symbolize=1 detect_leaks=1'
|
||||
env[ 'LSAN_OPTIONS'] = 'symbolize=1 print_suppressions=1'
|
||||
env['UBSAN_OPTIONS'] = 'symbolize=1 print_stacktrace=1'
|
||||
|
||||
# If you see <unknown module> in stacktraces, try fast_unwind_on_malloc=0.
|
||||
# This may cause a 2-25x slowdown, so use it only when you really need it.
|
||||
if name == 'dm' and 'Vulkan' in extra_tokens:
|
||||
env['ASAN_OPTIONS'] += ' fast_unwind_on_malloc=0'
|
||||
env['LSAN_OPTIONS'] += ' fast_unwind_on_malloc=0'
|
||||
|
||||
if 'TSAN' in extra_tokens:
|
||||
# We don't care about malloc(), fprintf, etc. used in signal handlers.
|
||||
# If we're in a signal handler, we're already crashing...
|
||||
|
@ -204,10 +204,10 @@
|
||||
],
|
||||
"cwd": "[START_DIR]/skia",
|
||||
"env": {
|
||||
"ASAN_OPTIONS": "symbolize=1 fast_unwind_on_malloc=0 detect_leaks=1",
|
||||
"ASAN_OPTIONS": "symbolize=1 detect_leaks=1",
|
||||
"CHROME_HEADLESS": "1",
|
||||
"LD_LIBRARY_PATH": "[START_DIR]/clang_linux/lib",
|
||||
"LSAN_OPTIONS": "symbolize=1 fast_unwind_on_malloc=0 print_suppressions=1",
|
||||
"LSAN_OPTIONS": "symbolize=1 print_suppressions=1",
|
||||
"PATH": "<PATH>:RECIPE_REPO[depot_tools]:[START_DIR]/clang_linux/bin",
|
||||
"UBSAN_OPTIONS": "symbolize=1 print_stacktrace=1"
|
||||
},
|
||||
|
@ -204,10 +204,10 @@
|
||||
"--some-flag"
|
||||
],
|
||||
"env": {
|
||||
"ASAN_OPTIONS": "symbolize=1 fast_unwind_on_malloc=0",
|
||||
"ASAN_OPTIONS": "symbolize=1",
|
||||
"CHROME_HEADLESS": "1",
|
||||
"LD_LIBRARY_PATH": "[START_DIR]\\clang_linux/lib",
|
||||
"LSAN_OPTIONS": "symbolize=1 fast_unwind_on_malloc=0 print_suppressions=1",
|
||||
"LSAN_OPTIONS": "symbolize=1 print_suppressions=1",
|
||||
"PATH": "<PATH>;RECIPE_REPO[depot_tools];[START_DIR]\\clang_linux/bin",
|
||||
"UBSAN_OPTIONS": "symbolize=1 print_stacktrace=1"
|
||||
},
|
||||
|
@ -0,0 +1,222 @@
|
||||
[
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"copy",
|
||||
"file.txt",
|
||||
"/path/to/tmp/"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "read file.txt",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_END@file.txt@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"remove",
|
||||
"file.txt"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "remove file.txt"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"rmtree",
|
||||
"results_dir"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "rmtree results_dir"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"ensure-directory",
|
||||
"--mode",
|
||||
"0777",
|
||||
"results_dir"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "makedirs results_dir"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"rmtree",
|
||||
"device_results_dir"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "rmtree device_results_dir"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"ensure-directory",
|
||||
"--mode",
|
||||
"0777",
|
||||
"device_results_dir"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "makedirs device_results_dir"
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"copy",
|
||||
"[START_DIR]/skia/infra/bots/assets/skp/VERSION",
|
||||
"/path/to/tmp/"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "Get skp VERSION",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_LINE@VERSION@42@@@",
|
||||
"@@@STEP_LOG_END@VERSION@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"copy",
|
||||
"42",
|
||||
"[START_DIR]/tmp/SKP_VERSION"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "write SKP_VERSION",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_LINE@SKP_VERSION@42@@@",
|
||||
"@@@STEP_LOG_END@SKP_VERSION@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"copy",
|
||||
"[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
|
||||
"/path/to/tmp/"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "Get skimage VERSION",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_LINE@VERSION@42@@@",
|
||||
"@@@STEP_LOG_END@VERSION@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"copy",
|
||||
"42",
|
||||
"[START_DIR]/tmp/SK_IMAGE_VERSION"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "write SK_IMAGE_VERSION",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@",
|
||||
"@@@STEP_LOG_END@SK_IMAGE_VERSION@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"copy",
|
||||
"[START_DIR]/skia/infra/bots/assets/svg/VERSION",
|
||||
"/path/to/tmp/"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "Get svg VERSION",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_LINE@VERSION@42@@@",
|
||||
"@@@STEP_LOG_END@VERSION@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"vpython",
|
||||
"-u",
|
||||
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
|
||||
"--json-output",
|
||||
"/path/to/tmp/json",
|
||||
"copy",
|
||||
"42",
|
||||
"[START_DIR]/tmp/SVG_VERSION"
|
||||
],
|
||||
"infra_step": true,
|
||||
"name": "write SVG_VERSION",
|
||||
"~followup_annotations": [
|
||||
"@@@STEP_LOG_LINE@SVG_VERSION@42@@@",
|
||||
"@@@STEP_LOG_END@SVG_VERSION@@@"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cmd": [
|
||||
"python",
|
||||
"-u",
|
||||
"RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py",
|
||||
"[START_DIR]",
|
||||
"[START_DIR]/build/dm",
|
||||
"--some-flag"
|
||||
],
|
||||
"cwd": "[START_DIR]/skia",
|
||||
"env": {
|
||||
"ASAN_OPTIONS": "symbolize=1 detect_leaks=1 fast_unwind_on_malloc=0",
|
||||
"CHROME_HEADLESS": "1",
|
||||
"LD_LIBRARY_PATH": "[START_DIR]/mesa_intel_driver_linux:[START_DIR]/linux_vulkan_sdk/lib:[START_DIR]/clang_linux/lib",
|
||||
"LIBGL_DRIVERS_PATH": "[START_DIR]/mesa_intel_driver_linux",
|
||||
"LSAN_OPTIONS": "symbolize=1 print_suppressions=1 fast_unwind_on_malloc=0",
|
||||
"PATH": "<PATH>:RECIPE_REPO[depot_tools]:[START_DIR]/linux_vulkan_sdk/bin:[START_DIR]/clang_linux/bin",
|
||||
"UBSAN_OPTIONS": "symbolize=1 print_stacktrace=1",
|
||||
"VK_ICD_FILENAMES": "[START_DIR]/mesa_intel_driver_linux/intel_icd.x86_64.json",
|
||||
"VULKAN_SDK": "[START_DIR]/linux_vulkan_sdk"
|
||||
},
|
||||
"name": "symbolized dm"
|
||||
},
|
||||
{
|
||||
"name": "$result"
|
||||
}
|
||||
]
|
@ -199,10 +199,10 @@
|
||||
"--some-flag"
|
||||
],
|
||||
"env": {
|
||||
"ASAN_OPTIONS": "symbolize=1 fast_unwind_on_malloc=0",
|
||||
"ASAN_OPTIONS": "symbolize=1",
|
||||
"CHROME_HEADLESS": "1",
|
||||
"LD_LIBRARY_PATH": "[START_DIR]/clang_linux/lib",
|
||||
"LSAN_OPTIONS": "symbolize=1 fast_unwind_on_malloc=0 print_suppressions=1",
|
||||
"LSAN_OPTIONS": "symbolize=1 print_suppressions=1",
|
||||
"PATH": "<PATH>:RECIPE_REPO[depot_tools]:[START_DIR]/clang_linux/bin",
|
||||
"UBSAN_OPTIONS": "symbolize=1 print_stacktrace=1"
|
||||
},
|
||||
|
@ -107,6 +107,7 @@ TEST_BUILDERS = [
|
||||
'-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41'),
|
||||
'Test-Win10-Clang-Golo-GPU-QuadroP400-x86_64-Release-All-Vulkan_ProcDump',
|
||||
'Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE',
|
||||
'Test-Debian10-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-ASAN_Vulkan',
|
||||
]
|
||||
|
||||
# Default properties used for TEST_BUILDERS.
|
||||
|
Loading…
Reference in New Issue
Block a user