From 2d3c626b6223a6c137cb5f02b1e4d7f2d08289cd Mon Sep 17 00:00:00 2001 From: Andrew Kryczka Date: Wed, 22 Dec 2021 10:13:08 -0800 Subject: [PATCH] Enable core dumps in ASAN crash tests (#9330) Summary: There are some crashes we couldn't debug or repro and couldn't find a core dump. For ASAN the default is `disable_coredump=1` as the doc mentions core dumps can be 16TB+. However I've tried generating them for our `db_stress` commands and they've been in the 1.4-1.6GB range, which is fine. So we can try enabling it in CI. Pull Request resolved: https://github.com/facebook/rocksdb/pull/9330 Test Plan: - create a test job. (It's internal infra so I put the link in the Phabricator test plan only) - ran the same command locally, `kill -6 $(pidof db_stress)`, verified core dump showed up Reviewed By: jay-zhuang Differential Revision: D33271841 Pulled By: ajkr fbshipit-source-id: 93b853fa763d5708d078771960ba36854c4be55a --- build_tools/rocksdb-lego-determinator | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/build_tools/rocksdb-lego-determinator b/build_tools/rocksdb-lego-determinator index d4672ba76..4f3826df1 100755 --- a/build_tools/rocksdb-lego-determinator +++ b/build_tools/rocksdb-lego-determinator @@ -109,6 +109,7 @@ ASAN="COMPILE_WITH_ASAN=1" CLANG="USE_CLANG=1" TSAN="COMPILE_WITH_TSAN=1" UBSAN="COMPILE_WITH_UBSAN=1" +ASAN_CRASH="ASAN_OPTIONS=disable_coredump=0" TSAN_CRASH="CRASH_TEST_EXT_ARGS=\\\"--compression_type=zstd --log2_keys_per_lock=22\\\"" NON_TSAN_CRASH="CRASH_TEST_EXT_ARGS=--compression_type=zstd" DISABLE_JEMALLOC="DISABLE_JEMALLOC=1" @@ -618,7 +619,7 @@ ASAN_CRASH_TEST_COMMANDS="[ { \"name\":\"Build and run RocksDB debug asan_crash_test\", \"timeout\": 86400, - \"shell\":\"cd $WORKING_DIR; $SHM $DEBUG $NON_TSAN_CRASH $SKIP_FORMAT_CHECKS make $PARALLELISM asan_crash_test || $CONTRUN_NAME=asan_crash_test $TASK_CREATION_TOOL\", + \"shell\":\"cd $WORKING_DIR; $SHM $DEBUG $ASAN_CRASH $NON_TSAN_CRASH $SKIP_FORMAT_CHECKS make $PARALLELISM asan_crash_test || $CONTRUN_NAME=asan_crash_test $TASK_CREATION_TOOL\", \"user\":\"root\", $PARSER }, @@ -642,7 +643,7 @@ ASAN_BLACKBOX_CRASH_TEST_COMMANDS="[ { \"name\":\"Build and run RocksDB debug blackbox asan_crash_test\", \"timeout\": 86400, - \"shell\":\"cd $WORKING_DIR; $SHM $DEBUG $NON_TSAN_CRASH $SKIP_FORMAT_CHECKS make $PARALLELISM blackbox_asan_crash_test || $CONTRUN_NAME=blackbox_asan_crash_test $TASK_CREATION_TOOL\", + \"shell\":\"cd $WORKING_DIR; $SHM $DEBUG $ASAN_CRASH $NON_TSAN_CRASH $SKIP_FORMAT_CHECKS make $PARALLELISM blackbox_asan_crash_test || $CONTRUN_NAME=blackbox_asan_crash_test $TASK_CREATION_TOOL\", \"user\":\"root\", $PARSER }, @@ -666,7 +667,7 @@ ASAN_WHITEBOX_CRASH_TEST_COMMANDS="[ { \"name\":\"Build and run RocksDB debug whitebox asan_crash_test\", \"timeout\": 86400, - \"shell\":\"cd $WORKING_DIR; $SHM $DEBUG $NON_TSAN_CRASH $SKIP_FORMAT_CHECKS make $PARALLELISM whitebox_asan_crash_test || $CONTRUN_NAME=whitebox_asan_crash_test $TASK_CREATION_TOOL\", + \"shell\":\"cd $WORKING_DIR; $SHM $DEBUG $ASAN_CRASH $NON_TSAN_CRASH $SKIP_FORMAT_CHECKS make $PARALLELISM whitebox_asan_crash_test || $CONTRUN_NAME=whitebox_asan_crash_test $TASK_CREATION_TOOL\", \"user\":\"root\", $PARSER }, @@ -690,7 +691,7 @@ ASAN_CRASH_TEST_WITH_ATOMIC_FLUSH_COMMANDS="[ { \"name\":\"Build and run RocksDB debug asan_crash_test_with_atomic_flush\", \"timeout\": 86400, - \"shell\":\"cd $WORKING_DIR; $SHM $DEBUG $NON_TSAN_CRASH $SKIP_FORMAT_CHECKS make $PARALLELISM asan_crash_test_with_atomic_flush || $CONTRUN_NAME=asan_crash_test_with_atomic_flush $TASK_CREATION_TOOL\", + \"shell\":\"cd $WORKING_DIR; $SHM $DEBUG $ASAN_CRASH $NON_TSAN_CRASH $SKIP_FORMAT_CHECKS make $PARALLELISM asan_crash_test_with_atomic_flush || $CONTRUN_NAME=asan_crash_test_with_atomic_flush $TASK_CREATION_TOOL\", \"user\":\"root\", $PARSER }, @@ -714,7 +715,7 @@ ASAN_CRASH_TEST_WITH_TXN_COMMANDS="[ { \"name\":\"Build and run RocksDB debug asan_crash_test_with_txn\", \"timeout\": 86400, - \"shell\":\"cd $WORKING_DIR; $SHM $DEBUG $NON_TSAN_CRASH $SKIP_FORMAT_CHECKS make $PARALLELISM asan_crash_test_with_txn || $CONTRUN_NAME=asan_crash_test_with_txn $TASK_CREATION_TOOL\", + \"shell\":\"cd $WORKING_DIR; $SHM $DEBUG $ASAN_CRASH $NON_TSAN_CRASH $SKIP_FORMAT_CHECKS make $PARALLELISM asan_crash_test_with_txn || $CONTRUN_NAME=asan_crash_test_with_txn $TASK_CREATION_TOOL\", \"user\":\"root\", $PARSER },