Package: laptop-mode-tools
Version: 1.68-3
Severity: normal
Tags: patch upstream
Laptop_mode spawns lm-polling-daemon within the same process group as itself
when AC is plugged out. Laptop_mode is launched in process group of
systemd-udevd on my system. When AC is plugged in later, laptop_mode
kills all processes in group where lm-polling-daemon is found, i.e.,
it kills udevd and itself as well.
I use battery level polling to trigger custom actions when battery is
low, but not yet critical.
The solution proposed in patch is to spawn lm-polling-daemon in its own
process group, using /usr/bin/setsid wrapper from util-linux package.
--- /usr/sbin/laptop_mode 2015-09-03 13:10:48.000000000 +0200
+++ modified/laptop_mode 2015-12-05 21:41:16.873037703 +0100
@@ -1148,7 +1148,7 @@
log "VERBOSE" "On battery and there was no
polling daemon yet, starting the polling daemon."
# If there is no polling daemon, we start one.
-
/usr/share/laptop-mode-tools/module-helpers/lm-polling-daemon < /dev/null >
/dev/null 2> /dev/null &
+ setsid
/usr/share/laptop-mode-tools/module-helpers/lm-polling-daemon < /dev/null >
/dev/null 2> /dev/null &
fi
else
log "VERBOSE" "Lock acquisition on descriptor 7 failed
with pid $$";
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (500,
'oldstable'), (1, 'experimental')
Architecture: i386 (x86_64)
Foreign Architectures: amd64
Kernel: Linux 4.3.0-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: sysvinit (via /sbin/init)
Versions of packages laptop-mode-tools depends on:
ii init-system-helpers 1.24
ii lsb-base 9.20150917
ii psmisc 22.21-2.1
ii util-linux 2.27.1-1
Versions of packages laptop-mode-tools recommends:
ii ethtool 1:4.2-1
ii hdparm 9.43-2
ii net-tools 1.60+git20150829.73cef8a-1
ii python-qt4 4.11.4+dfsg-1+b2
ii sdparm 1.08-1
ii udev 228-2
ii wireless-tools 30~pre9-8
Versions of packages laptop-mode-tools suggests:
ii acpid 1:2.0.25-1
ii apmd 3.2.2-15
-- Configuration Files:
/etc/laptop-mode/conf.d/auto-hibernate.conf changed:
DEBUG=0
ENABLE_AUTO_HIBERNATION=1
HIBERNATE_COMMAND=/usr/sbin/hibernate-disk
AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT=3
AUTO_HIBERNATION_ON_CRITICAL_BATTERY_LEVEL=0
/etc/laptop-mode/conf.d/battery-level-polling.conf changed:
DEBUG=0
CONTROL_BATTERY_LEVEL_POLLING=1
BLACKLIST_IN_FLOCK=1
/etc/laptop-mode/conf.d/cpufreq.conf changed:
DEBUG=0
CONTROL_CPU_FREQUENCY=0
BATT_CPU_MAXFREQ=fastest
BATT_CPU_MINFREQ=slowest
BATT_CPU_GOVERNOR=ondemand
BATT_CPU_IGNORE_NICE_LOAD=1
LM_AC_CPU_MAXFREQ=fastest
LM_AC_CPU_MINFREQ=slowest
LM_AC_CPU_GOVERNOR=ondemand
LM_AC_CPU_IGNORE_NICE_LOAD=1
NOLM_AC_CPU_MAXFREQ=fastest
NOLM_AC_CPU_MINFREQ=slowest
NOLM_AC_CPU_GOVERNOR=ondemand
NOLM_AC_CPU_IGNORE_NICE_LOAD=0
CONTROL_CPU_THROTTLING=0
BATT_CPU_THROTTLING=medium
LM_AC_CPU_THROTTLING=medium
NOLM_AC_CPU_THROTTLING=minimum
/etc/laptop-mode/conf.d/dpms-standby.conf changed:
DEBUG=0
CONTROL_DPMS_STANDBY=1
BATT_DPMS_STANDBY=300
LM_AC_DPMS_STANDBY=1200
NOLM_AC_DPMS_STANDBY=1200
/etc/laptop-mode/conf.d/ethernet.conf changed:
DEBUG=0
CONTROL_ETHERNET=0
BATT_THROTTLE_ETHERNET=0
LM_AC_THROTTLE_ETHERNET=0
NOLM_AC_THROTTLE_ETHERNET=0
THROTTLE_SPEED="slowest"
DISABLE_WAKEUP_ON_LAN=1
ETHERNET_DEVICES="eth0"
DISABLE_ETHERNET_ON_BATTERY=0
/etc/laptop-mode/conf.d/usb-autosuspend.conf changed:
DEBUG=0
CONTROL_USB_AUTOSUSPEND=0
AUTOSUSPEND_USE_WHITELIST=1
AUTOSUSPEND_USBID_BLACKLIST=""
AUTOSUSPEND_USBTYPE_BLACKLIST=""
AUTOSUSPEND_USBID_WHITELIST=""
AUTOSUSPEND_USBTYPE_WHITELIST=""
BATT_SUSPEND_USB=0
LM_AC_SUSPEND_USB=0
NOLM_AC_SUSPEND_USB=0
AUTOSUSPEND_TIMEOUT=2
/etc/laptop-mode/laptop-mode.conf changed:
ENABLE_LAPTOP_MODE_TOOLS=1
VERBOSE_OUTPUT=1
LOG_TO_SYSLOG=1
DEBUG=0
ENABLE_LAPTOP_MODE_ON_BATTERY=1
ENABLE_LAPTOP_MODE_ON_AC=0
ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=0
ENABLE_AUTO_MODULES=1
MINIMUM_BATTERY_CHARGE_PERCENT=3
DISABLE_LAPTOP_MODE_ON_CRITICAL_BATTERY_LEVEL=1
DISABLE_BATTERY_ALARM_CHECK=0
HD="/dev/disk/by-id/ata-ST320LT007-9ZV142_W0Q66HJ9"
PARTITIONS="auto /dev/mapper/* /dev/dm-*"
ASSUME_SCSI_IS_SATA=1
LM_BATT_MAX_LOST_WORK_SECONDS=600
LM_AC_MAX_LOST_WORK_SECONDS=360
CONTROL_READAHEAD=1
LM_READAHEAD=3072
NOLM_READAHEAD=128
CONTROL_NOATIME=0
USE_RELATIME=1
CONTROL_HD_IDLE_TIMEOUT=1
LM_AC_HD_IDLE_TIMEOUT_SECONDS=20
LM_BATT_HD_IDLE_TIMEOUT_SECONDS=20
NOLM_HD_IDLE_TIMEOUT_SECONDS=7200
CONTROL_HD_POWERMGMT="auto"
BATT_HD_POWERMGMT=1
LM_AC_HD_POWERMGMT=254
NOLM_AC_HD_POWERMGMT=254
CONTROL_HD_WRITECACHE=0
NOLM_AC_HD_WRITECACHE=1
NOLM_BATT_HD_WRITECACHE=0
LM_HD_WRITECACHE=0
CONTROL_MOUNT_OPTIONS=1
LM_DIRTY_RATIO=60
NOLM_DIRTY_RATIO=40
LM_DIRTY_BACKGROUND_RATIO=1
NOLM_DIRTY_BACKGROUND_RATIO=10
DEF_UPDATE=5
DEF_XFS_AGE_BUFFER=15
DEF_XFS_SYNC_INTERVAL=30
DEF_XFS_BUFD_INTERVAL=1
DEF_MAX_AGE=30
XFS_HZ=100
LM_SECONDS_BEFORE_SYNC=2
-- no debconf information