#! /usr/bin/env bash
#
# crash-diag <cwd>

. `dirname $0`/broctl-config.sh

(

cd $1

core=`ls -t *core* 2>&1`

if which gdb >/dev/null 2>&1; then
    echo "thread apply all bt" >.gdb_cmds
    for c in $core; do
        if [ -e $c ]; then
            echo $c
            gdb --batch -x .gdb_cmds ${bro} $c 2>/dev/null
        fi
    done
    rm -f .gdb_cmds
else
    echo "No gdb installed."
fi

echo

if [ -e reporter.log ]; then
   echo ==== reporter.log
   tail -10 reporter.log
else
   echo ==== No reporter.log
fi

echo

if [ -e stderr.log ]; then
   echo ==== stderr.log
   tail -10 stderr.log
else
   echo ==== No stderr.log
fi

echo

if [ -e stdout.log ]; then
   echo ==== stdout.log
   tail -10 stdout.log
else
   echo ==== No stdout.log
fi

echo

if [ -e .cmdline ]; then
   echo ==== .cmdline
   tail -30 .cmdline
else
   echo ==== No .cmdline
fi

echo

if [ -e .env_vars ]; then
   echo ==== .env_vars
   tail -30 .env_vars
else
   echo ==== No .env_vars
fi

echo

if [ -e .status ]; then
   echo ==== .status
   tail -10 .status
else
   echo ==== No .status
fi

echo

if [ -e prof.log ]; then
   echo ==== prof.log
   tail -10 prof.log
else
   echo ==== No prof.log
fi

echo

if [ -e packet_filter.log ]; then
   echo ==== packet_filter.log
   tail -30 packet_filter.log
else
   echo ==== No packet_filter.log
fi

echo

if [ -e loaded_scripts.log ]; then
   echo ==== loaded_scripts.log
   cat loaded_scripts.log
else
   echo ==== No loaded_scripts.log
fi


) >.crash-diag.log

cat .crash-diag.log
