Re: linux, threads, core

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Wed, 13 Oct 1999 21:53:17 +0200

Yes. Linux cannot (yet) coredump a threaded app.

This is one of the main reasons why I have the DebugCache script to
automate stacktraces.

/Henrik

Duane Wessels wrote:
>
> When I run Squid with Async I/O on Linux (Red Hat 2.2.5-15), it won't
> dump core upon SEGV. Does it happen to you too?

#!/bin/sh
# Modified RunCache script to get automated stacktraces on failures
#

prefix=/usr/local/squid
exec_prefix=${prefix}
logdir=${prefix}/logs
PATH=${exec_prefix}/bin:/bin:/usr/bin
export PATH

conf=""
if test "$1" ; then
        conf="-f $1"
        shift
fi

cat <<EOF >${prefix}/etc/stacktrace.gdb
handle all pass nostop noprint
handle SIGSEGV stop print
handle SIGBUS stop print
handle SIGABRT stop print
break fatal
run -NDYd3 $conf
bt
c
bt
c
bt
c
bt
c
bt
c
bt
quit
EOF

failcount=0
while : ; do
        echo "Running: squid -NDYd3 $conf >> $logdir/squid.out 2>&1"
        echo "Startup: `date`" >> $logdir/squid.out
        start=`date '+%d%H%M%S'`
        gdb --batch -x ${prefix}/etc/stacktrace.gdb ${prefix}/bin/squid >> $logdir/squid.out 2>&1
        stop=`date '+%d%H%M%S'`
        t=`expr $stop - $start`
        if test 0 -le $t -a $t -lt 5 ; then
                failcount=`expr $failcount + 1`
        else
                failcount=0
        fi
        if test $failcount -gt 5 ; then
              echo "DebugCache: EXITING DUE TO REPEATED, FREQUENT FAILURES" >&2
                exit 1
        fi
        sleep 10
done
Received on Wed Oct 13 1999 - 14:52:57 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:18 MST