From 510bdd0e7bd7f0fecb766fb32670ec69f8cbfd5d Mon Sep 17 00:00:00 2001 From: Leonid Fedorov <79837786+mariadb-LeonidFedorov@users.noreply.github.com> Date: Tue, 18 Jul 2023 20:31:44 +0300 Subject: [PATCH] =?UTF-8?q?ci:=20add=20backtraces=20for=20all=20CS=20proce?= =?UTF-8?q?sses=20after=204800secs=20(=3D1.20=20hour)=20o=E2=80=A6=20(#290?= =?UTF-8?q?3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ci: add backtraces for all CS processes after 4800secs (=1.20 hour) of test001.sh --------- Co-authored-by: mariadb-AndreyPiskunov --- .drone.jsonnet | 2 +- core_dumps/save_stack.sh | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 core_dumps/save_stack.sh diff --git a/.drone.jsonnet b/.drone.jsonnet index da97aeca1..e70e9c003 100644 --- a/.drone.jsonnet +++ b/.drone.jsonnet @@ -208,7 +208,7 @@ local Pipeline(branch, platform, event, arch='amd64', server='10.6-enterprise') }, commands: [ 'docker exec -t --workdir /mariadb-columnstore-regression-test/mysql/queries/nightly/alltest regression$${DRONE_BUILD_NUMBER} mkdir -p reg-logs', - "docker exec -t regression$${DRONE_BUILD_NUMBER} bash -c 'sleep 4800 && eu-stack -p `pidof PrimProc` -n 0 | tee /mariadb-columnstore-regression-test/mysql/queries/nightly/alltest/reg-logs/prim_proc_callstacks.txt' & ", + "docker exec -t regression$${DRONE_BUILD_NUMBER} bash -c 'sleep 4800 && bash /save_stack.sh /mariadb-columnstore-regression-test/mysql/queries/nightly/alltest/reg-logs/' & ", 'docker exec --env PRESERVE_LOGS=true -t --workdir /mariadb-columnstore-regression-test/mysql/queries/nightly/alltest regression$${DRONE_BUILD_NUMBER} bash -c "timeout -k 1m -s SIGKILL --preserve-status $${REGRESSION_TIMEOUT} ./go.sh --sm_unit_test_dir=/storage-manager --tests=' + name + ' || ./regression_logs.sh ' + name + '"', 'docker exec -t --workdir /mariadb-columnstore-regression-test/mysql/queries/nightly/alltest regression$${DRONE_BUILD_NUMBER} cat go.log || echo "missing go.log"', ], diff --git a/core_dumps/save_stack.sh b/core_dumps/save_stack.sh new file mode 100644 index 000000000..66970e222 --- /dev/null +++ b/core_dumps/save_stack.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env sh + +set -x +set -o pipefail + + +SCRIPT_LOCATION=$(dirname "$0") +LOG_PATH=$1 + + +dump_stack () +{ + name=$1 + echo "\nStack trace of $1" + eu-stack -p `pidof $name` -n 0 | tee ${LOG_PATH}/${name}_callstacks.txt +} + +dump_stack "mariadbd" +dump_stack "workernode" +dump_stack "controllernode" +dump_stack "WriteEngineServer" +dump_stack "DDLProc" +dump_stack "DMLProc" +dump_stack "PrimProc"