59 lines
1.6 KiB
Plaintext
59 lines
1.6 KiB
Plaintext
# apport - automatic crash report generation
|
|
#
|
|
# While this job is active, core dumps will captured by apport and
|
|
# used to generate automatic crash reports.
|
|
|
|
description "automatic crash report generation"
|
|
|
|
start on runlevel [2345]
|
|
stop on runlevel [!2345]
|
|
|
|
env enabled=1
|
|
|
|
pre-start script
|
|
# don't start in containers
|
|
systemd-detect-virt --quiet --container && exit 0 || true
|
|
|
|
. /etc/default/apport
|
|
[ "$enabled" = "1" ] || [ "$force_start" = "1" ] || exit 0
|
|
|
|
mkdir -p -m 1777 /var/crash
|
|
|
|
# check for kernel crash dump, convert it to apport report
|
|
if [ -e /var/crash/vmcore ] || [ -n "`ls /var/crash | egrep ^[0-9]{12}$`" ]
|
|
then
|
|
/usr/share/apport/kernel_crashdump || true
|
|
fi
|
|
|
|
# check for incomplete suspend/resume or hibernate
|
|
if [ -e /var/lib/pm-utils/status ]
|
|
then
|
|
/usr/share/apport/apportcheckresume || true
|
|
rm -f /var/lib/pm-utils/status
|
|
rm -f /var/lib/pm-utils/resume-hang.log
|
|
fi
|
|
|
|
echo "|/usr/share/apport/apport %p %s %c %P" > /proc/sys/kernel/core_pattern
|
|
echo 2 > /proc/sys/fs/suid_dumpable
|
|
end script
|
|
|
|
post-stop script
|
|
# don't stop in containers
|
|
systemd-detect-virt --quiet --container && exit 0 || true
|
|
|
|
# Check for a hung resume. If we find one try and grab everything
|
|
# we can to aid in its discovery
|
|
if [ -e /var/lib/pm-utils/status ]
|
|
then
|
|
ps -wwef > /var/lib/pm-utils/resume-hang.log
|
|
fi
|
|
|
|
if [ "`dd if=/proc/sys/kernel/core_pattern count=1 bs=1 2>/dev/null`" != "|" ]
|
|
then
|
|
exit 1
|
|
else
|
|
echo 0 > /proc/sys/fs/suid_dumpable
|
|
echo "core" > /proc/sys/kernel/core_pattern
|
|
fi
|
|
end script
|