Bug#702335: debian-installer-launcher: freezes after exiting
Package: debian-installer-launcher
Version: 14
Followup-For: Bug #702335
I have made some small progress in narrowing down where the failure
occurs. It appears that in plugins/live, fuser is identifying a much
larger list of PIDs than it looks like was intended:
live_cleanup () {
# Stopping syslogd/klogd
# ->the sed horror could be improved (FIXME;)
# string: [A-Z][a-z]: [0-9] [0-9]rce [0-9]...
# we only want the [0-9]rce, but without the rce.
for PID in $(fuser -m /lib/live/installer/var/log/syslog 2>&1 | \
sed "s,.*: ,,g;s, ,\n,g" | grep 'rce$' | \
sed -e 's/rce//g'); do
kill -9 $PID > /dev/null 2>&1 || true
done
# Unmounting filesystems
for fs in /cdrom /dev/pts /dev /proc /sys /tmp; do
umount -f /lib/live/installer/$fs > /dev/null 2>&1 || true
done
# Remove unpacked initrd
rm -rf /lib/live/installer
rm -f /tmp/debian-installer
}
When fuser is executed, it includes '1rce', i.e. init, among the
processes that are eligible to cleanup. Clearly killing init is not
wise, so it's no shock when a short time after this code is executed,
the system locks up. Looking over the other PIDs that are matched, it
includes udevd and a number of other processes belonging to the live
system (i.e. not the installer) that should not be killed either.
At this point, I am stuck. How do we make this right so that only PIDs
launched by the installer are cleaned up afterwards?
Ben
Reply to: