scripts/*.test: delay reaping servers in cleanup handlers to allow sanitizers to finish rendering backtraces.

This commit is contained in:
Daniel Pouzzner
2026-04-14 23:08:03 -05:00
parent ebbab7ac45
commit 96199467f9
9 changed files with 37 additions and 10 deletions
+3 -1
View File
@@ -60,8 +60,10 @@ remove_ready_file() {
do_cleanup() {
echo "in cleanup"
if [ $server_pid != $no_pid ]
if [ $server_pid != $no_pid ] && kill -0 $server_pid
then
# sleep to give sanitizers time to dump backtraces.
sleep 1
echo "killing server"
kill -9 $server_pid
fi
+3 -1
View File
@@ -63,8 +63,10 @@ remove_ready_file() {
abort_trap() {
echo "script aborted"
if [ $server_pid != $no_pid ]
if [ $server_pid != $no_pid ] && kill -0 $server_pid
then
# sleep to give sanitizers time to dump backtraces.
sleep 1
echo "killing server"
kill -9 $server_pid
fi
+4
View File
@@ -39,8 +39,12 @@ if [ "${AM_BWRAPPED-}" != "yes" ]; then
fi
kill_server() {
sleepseconds=1
for i in $(jobs -pr); do
if [ "$i" != "$TCPDUMP_PID" ]; then
# sleep to give sanitizers time to dump backtraces.
sleep $sleepseconds
sleepseconds=0
kill -9 $i
fi
done
+9 -2
View File
@@ -141,14 +141,21 @@ do_cleanup() {
echo "in cleanup"
IFS=$OIFS #restore separator
sleepseconds=1
for s in $servers
do
f2=${s%:*}
sname=${f2%:*}
pid=${f2##*:}
port=${s##*:}
echo "killing server: $sname ($port)"
kill -9 "$pid"
if kill -0 "$pid"
then
# sleep to give sanitizers time to dump backtraces.
sleep $sleepseconds
sleepseconds=0
echo "killing server: $sname ($port)"
kill -9 "$pid"
fi
done
}
+6 -2
View File
@@ -54,8 +54,10 @@ remove_ready_file() {
do_cleanup() {
echo "in cleanup"
if [ $server_pid != $no_pid ]
if [ $server_pid != $no_pid ] && kill -0 $server_pid
then
# sleep to give sanitizers time to dump backtraces.
sleep 1
echo "killing server"
kill -9 $server_pid
fi
@@ -67,8 +69,10 @@ do_cleanup() {
abort_trap() {
echo "script aborted"
if [ $server_pid != $no_pid ]
if [ $server_pid != $no_pid ] && kill -0 $server_pid
then
# sleep to give sanitizers time to dump backtraces.
sleep 1
echo "killing server"
kill -9 $server_pid
fi
+3 -1
View File
@@ -63,8 +63,10 @@ remove_ready_file() {
do_cleanup() {
echo "in cleanup"
if [ $server_pid != $no_pid ]
if [ $server_pid != $no_pid ] && kill -0 $server_pid
then
# sleep to give sanitizers time to dump backtraces.
sleep 1
echo "killing server"
kill -9 $server_pid
fi
+3 -1
View File
@@ -44,8 +44,10 @@ remove_ready_file() {
do_cleanup() {
echo "in cleanup"
if [ $server_pid != $no_pid ]
if [ $server_pid != $no_pid ] && kill -0 $server_pid
then
# sleep to give sanitizers time to dump backtraces.
sleep 1
echo "killing server"
kill -9 $server_pid
fi
+3 -1
View File
@@ -74,8 +74,10 @@ remove_ready_file() {
do_cleanup() {
echo "in cleanup"
if [ $server_pid != $no_pid ]
if [ $server_pid != $no_pid ] && kill -0 $server_pid
then
# sleep to give sanitizers time to dump backtraces.
sleep 1
echo "killing server"
kill -9 $server_pid 2>/dev/null
server_pid=$no_pid
+3 -1
View File
@@ -87,8 +87,10 @@ remove_ready_file() {
do_cleanup() {
echo "in cleanup"
if [ $server_pid != $no_pid ]
if [ $server_pid != $no_pid ] && kill -0 $server_pid
then
# sleep to give sanitizers time to dump backtraces.
sleep 1
echo "killing server"
kill -9 $server_pid
fi