Package: ifplugd Version: 0.28-19 Severity: important
after some exhaustive testing on a slow system (AMD Geode LX) where additional scripts (written in python) were added into /etc/ifplugd/action.d it was observed that the "down" script only ran approximately 20% of the time. inspection of the source code and log files (see relevant section below) as ifplugd is to be used to detect one mission-critical interface and bring up another, the fact that ifplugd cannot reliably run the interface-down script is a serious problem. options (from /etc/default/ifplugd) as follows (note -M): INTERFACES="eth0" HOTPLUG_INTERFACES="eth1 ppp0 ppp1" ARGS="-q -u0 -f -d0 -w -M" SUSPEND_ACTION="stop" without -M, ifplugd goes straight to Exiting on ifdown ppp1: action script is not run. i.e. the configuration "without -M" is undesirable (ineffective) as notifications of interfaces going down will never be generated. with -M, ifplugd continues to live for a short duration. examining /lib/udev/ifplugd.agent it appears that de-registration of the net interface ppp1 with udev causes udev to attempt to kill ifplugd (line 89 of /lib/udev/ifplugd.agent). this is ALSO undesirable behaviour. to stop this undesirable behaviour it would make sense to use INTERFACES= instead of HOTPLUG_INTERFACES= in order to terminate udev from killing the ifplugd instance. but, it is impossible to use INTERFACES="ppp1" because the ppp1 interface is an emergency interface: it's not up at the time that ifplugd is started (/etc/init.d/ifplugd), and /etc/init.d/ifplugd EXPLICITLY bans monitoring of interfaces that happen not to be in /sys/class/net at the EXACT moment that ifplugd is started all in all, it would appear that ifplugd's configuration basically hasn't really been properly thought through, nor is it really suited to being simply "killed off" at random, as it could be in the middle of mission-critical tasks at the time that it's being killed. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Interface disabled Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Link beat lost. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Executing '/etc/ifplugd/ifplugd.action ppp0 down'. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Killing child. Jul 29 16:40:11 alix6-1 ifplugd(ppp0)[12601]: Program execution failed, return value is 0. Jul 29 16:40:12 alix6-1 pppd[13416]: Script /etc/ppp/ip-down finished (pid 13555), status = 0x1 -- Package-specific info: -- System Information: Debian Release: 6.0.6 APT prefers testing APT policy: (500, 'testing'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.9.0 (SMP w/2 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages ifplugd depends on: ii debconf [debconf-2.0] 1.5.46 Debian configuration management sy ii libc6 2.13-37 Embedded GNU C Library: Shared lib ii libdaemon0 0.14-2 lightweight C library for daemons ii lsb-base 4.1+Debian8 Linux Standard Base 4.1 init scrip Versions of packages ifplugd recommends: ii ifupdown 0.7.5 high level tools to configure netw Versions of packages ifplugd suggests: pn wpasupplicant <none> (no description available) -- debconf information excluded -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org