aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2018-10-17 11:32:43 +0100
committerGitHub <noreply@github.com>2018-10-17 11:32:43 +0100
commit63d5a1d00e2fdcaa64dae701be7b0cc7221b21df (patch)
treedcdb520efe7f347f6ba6b54b85db3dbc4bae16c5
parentbd66db896d270af17db06e7019280a9623535c1d (diff)
parente68fabf1e12658990f79bbed84f78329e2c2d909 (diff)
downloadrspamd-63d5a1d00e2fdcaa64dae701be7b0cc7221b21df.tar.gz
rspamd-63d5a1d00e2fdcaa64dae701be7b0cc7221b21df.zip
Merge pull request #2596 from citrin/run-gdb-on-core-dump
Run gdb on core dump
-rw-r--r--.drone.yml8
1 files changed, 8 insertions, 0 deletions
diff --git a/.drone.yml b/.drone.yml
index 78f585fab..98bd72562 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -42,12 +42,20 @@ pipeline:
group: tests
commands:
- test "$(id -un)" = nobody
+ - ulimit -c unlimited
# rspamd-test and functional test both use luacov.stats.out file and should be started from
# different directories (if started in parallel)
- cd /rspamd/build/test
- set +e
- ./rspamd-test -p /rspamd/lua; EXIT_CODE=$?
- set -e
+ # shell sets exit status of a process terminated by a signal to '128 + signal-number'
+ # if rspamd-test was terminated by a signal it should be SIGSEGV or SIGABRT, try to examine core
+ - >
+ if [ $EXIT_CODE -gt 128 ]; then
+ gdb -c /var/tmp/*.rspamd-test.core ./rspamd-test -ex "set pagination 0" -ex "thread apply all bt full" --batch;
+ exit $EXIT_CODE;
+ fi
# luacov-coveralls reads luacov.stats.out written by rspamd-test using luacov module
# and writes json report for coveralls.io service
- luacov-coveralls -o /rspamd/build/unit_test_lua.json --dryrun