]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Dump the backtrace to stdout when core is found in systest directory
authorOndřej Surý <ondrej@sury.org>
Mon, 18 Nov 2019 15:17:37 +0000 (23:17 +0800)
committerOndřej Surý <ondrej@isc.org>
Wed, 20 Nov 2019 18:05:47 +0000 (02:05 +0800)
bin/tests/system/run.gdb [new file with mode: 0644]
bin/tests/system/run.sh
util/copyrights

diff --git a/bin/tests/system/run.gdb b/bin/tests/system/run.gdb
new file mode 100644 (file)
index 0000000..60981e1
--- /dev/null
@@ -0,0 +1 @@
+thread apply all bt full
index 4344b4412e5b0d078df99514a2fbe331bb399832..7eada691a161e81405290ffbb1e4b07b3d052ebe 100755 (executable)
@@ -195,6 +195,18 @@ else
         echoinfo "I:$systest:Test claims success despite crashes: $core_dumps"
         echofail "R:$systest:FAIL"
         # Do not clean up - we need the evidence.
+       find "$systest/" -name 'core*' | while read -r coredump; do
+               SYSTESTDIR="$systest"
+               echoinfo "D:$systest:backtrace from $coredump start"
+               binary=$(gdb --batch --core="$coredump" | sed -ne "s/Core was generated by \`//;s/ .*'.$//p;")
+               "$TOP/libtool" --mode=execute gdb \
+                              --batch \
+                              --command=run.gdb \
+                              --core="$coredump" \
+                              -- \
+                              "$binary"
+               echoinfo "D:$systest:backtrace from $coredump end"
+       done
     elif [ $assertion_failures -ne 0 ]; then
         echoinfo "I:$systest:Test claims success despite $assertion_failures assertion failure(s)"
         echofail "R:$systest:FAIL"
index f517500290f2a837ecfdfc73796921e26ffe4a9a..9369dabb740b880fbd19a0ac45ed36fb69612a0a 100644 (file)
 ./bin/tests/system/rsabigexponent/prereq.sh    SH      2012,2014,2016,2017,2018,2019
 ./bin/tests/system/rsabigexponent/setup.sh     SH      2012,2014,2016,2017,2018,2019
 ./bin/tests/system/rsabigexponent/tests.sh     SH      2012,2016,2018,2019
+./bin/tests/system/run.gdb                     X       2019
 ./bin/tests/system/run.sh                      SH      2000,2001,2004,2007,2010,2012,2014,2015,2016,2017,2018,2019
 ./bin/tests/system/runall.sh                   SH      2000,2001,2004,2007,2010,2011,2012,2014,2015,2016,2018,2019
 ./bin/tests/system/runsequential.sh            SH      2018,2019