From fe327545e382e7ca2469c64accedee50de5de7cd Mon Sep 17 00:00:00 2001 From: Al Muthanna Athamina Date: Fri, 5 Aug 2022 11:39:34 +0200 Subject: [PATCH] Reland "[infra] Enable sandbox for x64 and arm64 builders and add a set of builders with Sandbox off" This is a reland of commit 2055c3b48233c2706ae5c22896508b5ad0621353 Original change's description: > [infra] Enable sandbox for x64 and arm64 builders and add a set of builders with Sandbox off > > Bug: v8:13058 > Change-Id: If9d500f46f02ed3588d2b0e3904567c61aaddd12 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3810184 > Reviewed-by: Michael Achenbach > Commit-Queue: Almothana Athamneh > Cr-Commit-Position: refs/heads/main@{#82213} Bug: v8:13058 Change-Id: I315fd1cd5c36464b1a15c635c8f31825769c3eb0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3812042 Auto-Submit: Almothana Athamneh Reviewed-by: Michael Achenbach Commit-Queue: Almothana Athamneh Commit-Queue: Michael Achenbach Cr-Commit-Position: refs/heads/main@{#82221} --- BUILD.gn | 6 ++++++ infra/mb/mb_config.pyl | 34 +++++++++++++++++++++++++++------- infra/testing/builders.pyl | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 69 insertions(+), 7 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index 0c1a72dfd2..f90ac9e622 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -496,6 +496,12 @@ if (v8_multi_arch_build && v8_enable_external_code_space = v8_enable_pointer_compression } +# Ensure the sandbox is on/off in the same way as pointer compression for +# correctness fuzzing builds. +if (v8_multi_arch_build) { + v8_enable_sandbox = v8_enable_pointer_compression +} + # Check if it is a Chromium build and activate PAC/BTI if needed. # TODO(cavalcantii): have a single point of integration with PAC/BTI flags. if (build_with_chromium && v8_current_cpu == "arm64" && diff --git a/infra/mb/mb_config.pyl b/infra/mb/mb_config.pyl index f59cf2415a..e027057007 100644 --- a/infra/mb/mb_config.pyl +++ b/infra/mb/mb_config.pyl @@ -72,6 +72,8 @@ 'V8 Linux64 - heap sandbox - debug - builder': 'debug_x64_heap_sandbox', 'V8 Linux64 - internal snapshot - builder': 'release_x64_internal', 'V8 Linux64 - debug - header includes - builder': 'debug_x64_header_includes', + 'V8 Linux64 - no sandbox - debug builder': 'debug_x64_no_sandbox', + 'V8 Linux64 - no sandbox - builder': 'release_x64_no_sandbox', 'V8 Linux64 - shared - builder': 'release_x64_shared_verify_heap', 'V8 Linux64 - verify csa - builder': 'release_x64_verify_csa', 'V8 Linux64 - no wasm - builder': 'release_x64_webassembly_disabled', @@ -229,6 +231,7 @@ 'release_simulate_arm64_pointer_compression', 'v8_linux64_cppgc_non_default_dbg_ng': 'debug_x64_non_default_cppgc', 'v8_linux64_dbg_ng': 'debug_x64_trybot', + 'v8_linux64_no_sandbox_dbg_ng': 'debug_x64_no_sandbox', 'v8_linux64_dict_tracking_dbg_ng': 'debug_x64_dict_tracking_trybot', 'v8_linux64_disable_runtime_call_stats_rel_ng': 'release_x64_disable_runtime_call_stats', 'v8_linux64_external_code_space_dbg_ng': 'debug_x64_external_code_space', @@ -247,6 +250,7 @@ 'v8_linux64_perfetto_dbg_ng': 'debug_x64_perfetto', 'v8_linux64_no_pointer_compression_rel_ng': 'release_x64_no_pointer_compression', 'v8_linux64_rel_ng': 'release_x64_test_features_trybot', + 'v8_linux64_no_sandbox_rel_ng': 'release_x64_no_sandbox', 'v8_linux64_shared_compile_rel': 'release_x64_shared_verify_heap', 'v8_linux64_single_generation_dbg_ng': 'debug_x64_single_generation', 'v8_linux64_no_wasm_compile_rel': 'release_x64_webassembly_disabled', @@ -428,7 +432,7 @@ # TODO(v8:v7703): Make pointer compression bots testing non pointer # compression mode while pointer compression is temporarily enabled # on arm64 - 'release_bot', 'simulate_arm64', 'dcheck_always_on', + 'release_bot', 'simulate_arm64_no_sandbox', 'dcheck_always_on', 'v8_enable_slow_dchecks', 'v8_disable_pointer_compression'], 'release_simulate_arm64_msan': [ 'release_bot', 'simulate_arm64', 'msan'], @@ -463,7 +467,7 @@ 'debug_arm64': [ 'debug_bot', 'arm64'], 'debug_arm64_no_pointer_compression': [ - 'debug_bot', 'arm64', 'dcheck_always_on', 'v8_enable_slow_dchecks', 'v8_enable_javascript_promise_hooks', + 'debug_bot', 'arm64_no_sandbox', 'dcheck_always_on', 'v8_enable_slow_dchecks', 'v8_enable_javascript_promise_hooks', 'v8_disable_pointer_compression'], 'full_debug_arm64': [ 'debug_bot', 'arm64', 'v8_full_debug'], @@ -544,12 +548,14 @@ 'release_x64_minimal_symbols_reclient': [ 'release_bot_reclient', 'x64', 'minimal_symbols'], 'release_x64_no_pointer_compression': [ - 'release_bot', 'x64', 'dcheck_always_on', 'v8_enable_slow_dchecks', 'v8_enable_javascript_promise_hooks', + 'release_bot', 'x64_no_sandbox', 'dcheck_always_on', 'v8_enable_slow_dchecks', 'v8_enable_javascript_promise_hooks', 'v8_disable_pointer_compression'], 'release_x64_pointer_compression_without_dchecks': [ - 'release_bot', 'x64', 'v8_disable_pointer_compression'], + 'release_bot', 'x64_no_sandbox', 'v8_disable_pointer_compression'], 'release_x64_reclient': [ 'release_bot_reclient', 'x64'], + 'release_x64_no_sandbox': [ + 'release_bot', 'x64_no_sandbox'], 'release_x64_trybot': [ 'release_trybot', 'x64'], 'release_x64_test_features_trybot': [ @@ -609,6 +615,8 @@ 'debug_bot', 'x64', 'non_default_cppgc'], 'debug_x64_perfetto': [ 'debug_bot', 'x64', 'perfetto'], + 'debug_x64_no_sandbox': [ + 'debug_bot', 'x64_no_sandbox'], 'debug_x64_single_generation': [ 'debug_bot', 'x64', 'v8_enable_single_generation'], 'debug_x64_trybot': [ @@ -685,7 +693,11 @@ }, 'arm64': { - 'gn_args': 'target_cpu="arm64"', + 'gn_args': 'target_cpu="arm64" v8_enable_sandbox=true', + }, + + 'arm64_no_sandbox': { + 'gn_args': 'target_cpu="arm64" v8_enable_sandbox=false', }, 'asan': { @@ -867,7 +879,11 @@ }, 'simulate_arm64': { - 'gn_args': 'target_cpu="x64" v8_target_cpu="arm64"', + 'gn_args': 'target_cpu="x64" v8_target_cpu="arm64" v8_enable_sandbox=true', + }, + + 'simulate_arm64_no_sandbox': { + 'gn_args': 'target_cpu="x64" v8_target_cpu="arm64" v8_enable_sandbox=false', }, 'simulate_loong64': { @@ -1037,7 +1053,11 @@ }, 'x64': { - 'gn_args': 'target_cpu="x64"', + 'gn_args': 'target_cpu="x64" v8_enable_sandbox=true', + }, + + 'x64_no_sandbox': { + 'gn_args': 'target_cpu="x64" v8_enable_sandbox=false', }, 'x86': { diff --git a/infra/testing/builders.pyl b/infra/testing/builders.pyl index 1f93d13f95..884bb74605 100644 --- a/infra/testing/builders.pyl +++ b/infra/testing/builders.pyl @@ -506,6 +506,15 @@ {'name': 'v8testing', 'shards': 3}, ], }, + 'v8_linux64_no_sandbox_dbg_ng_triggered': { + 'swarming_dimensions' : { + 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-18.04', + }, + 'tests': [ + {'name': 'v8testing', 'shards': 5}, + ], + }, 'v8_linux64_single_generation_dbg_ng_triggered': { 'swarming_dimensions' : { 'os': 'Ubuntu-18.04', @@ -536,6 +545,15 @@ {'name': 'mjsunit', 'variant': 'maglev'}, ], }, + 'v8_linux64_no_sandbox_rel_ng_triggered': { + 'swarming_dimensions' : { + 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-18.04', + }, + 'tests': [ + {'name': 'v8testing', 'shards': 2}, + ], + }, 'v8_linux64_tsan_rel_ng_triggered': { 'swarming_dimensions' : { 'os': 'Ubuntu-18.04', @@ -1410,6 +1428,24 @@ {'name': 'v8testing', 'shards': 2}, ], }, + 'V8 Linux64 - no sandbox': { + 'swarming_dimensions': { + 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-18.04', + }, + 'tests': [ + {'name': 'v8testing'}, + ], + }, + 'V8 Linux64 - no sandbox - debug': { + 'swarming_dimensions': { + 'cpu': 'x86-64-avx2', + 'os': 'Ubuntu-18.04', + }, + 'tests': [ + {'name': 'v8testing', 'shards': 2}, + ], + }, 'V8 Linux64 - shared': { 'swarming_dimensions' : { 'os': 'Ubuntu-18.04',