diff --git a/scripts/freeswitch-gcore b/scripts/freeswitch-gcore new file mode 100644 index 0000000000..7ddbdffc9d --- /dev/null +++ b/scripts/freeswitch-gcore @@ -0,0 +1,12 @@ +#!/bin/bash +fspid=$(cat /usr/local/freeswitch/log/freeswitch.pid) +gcore -o /usr/local/freeswitch/log/freeswitch.gcore $fspid && \ + gdb /usr/local/freeswitch/bin/freeswitch \ + -c /usr/local/freeswitch/log/freeswitch.gcore.$fspid \ + --eval-command='set pagination off' \ + --eval-command='bt' \ + --eval-command='bt full' \ + --eval-command='thread apply all bt' \ + --eval-command='thread apply all bt full' \ + --eval-command='quit' +rm /usr/local/freeswitch/log/freeswitch.gcore.$fspid diff --git a/scripts/freeswitch-reporter b/scripts/freeswitch-reporter new file mode 100644 index 0000000000..6dee034bf1 --- /dev/null +++ b/scripts/freeswitch-reporter @@ -0,0 +1,29 @@ +#!/bin/bash +email=traces@freeswitch.org +errorlvl=1 +while [ $errorlvl -gt 0 ] +do + /usr/local/freeswitch/bin/freeswitch -core + errorlvl=$? + if [ $errorlvl -gt 0 ]; then + pid=$(cat /usr/local/freeswitch/log/freeswitch.pid) + corefile=core.$pid + tempfile=$(tempfile) + if [ -f $corefile ]; then + reset + echo From: freeswitch@jasongarland.com >>$tempfile + echo >>$tempfile + echo >>$tempfile + echo Host: $(hostname -f) >>$tempfile + gdb /usr/local/freeswitch/bin/freeswitch -c $corefile \ + --eval-command='set pagination off' \ + --eval-command='bt full' \ + --eval-command='quit' >>$tempfile + cat $tempfile|rmail $email + rm $tempfile + fi + fi + + #sleep 5s + +done