Bug#919213: irqbalance: endless loop during configure, system reaches maximum of open files
Package: irqbalance
Version: 1.5.0-2
Severity: serious
On one of my systems (not the one I'm writing the report on), a
Raspberry Pi 2 with Debian Sid armhf and sysvinit, the terminal which I
ran the upgrade in, looked like this (excerpt):
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
Executing /usr/sbin/update-rc.d irqbalance enable
Synchronizing state for irqbalance.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d irqbalance defaults
htop looked like this (excerpt):
root 20 0 179M 1576 1404 S 0.3 0.2 3:10.99 | +- aptitude -u
root 20 0 10336 0 0 S 0.0 0.0 0:00.71 | +- dpkg --status-fd 70 --configure --pending
root 20 0 17832 748 140 S 0.0 0.1 0:17.01 | | +- perl -w /usr/share/debconf/frontend /var/lib/dpkg/info/irqbalance.postinst configure 1.5.0-0.1
root 20 0 1468 0 0 S 0.0 0.0 0:00.01 | | | +- sh /var/lib/dpkg/info/irqbalance.postinst configure 1.5.0-0.1
root 20 0 7136 4 0 S 0.0 0.0 0:00.06 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.00 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.06 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.00 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.06 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.00 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.06 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.00 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.06 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.00 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.07 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.00 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.06 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.00 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.07 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.01 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.06 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.00 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.07 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.01 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.06 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.00 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.06 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
root 20 0 5296 0 0 S 0.0 0.0 0:00.01 | | | +- systemctl --quiet enable irqbalance
root 20 0 7136 4 0 S 0.0 0.0 0:00.06 | | | +- perl /usr/sbin/update-rc.d irqbalance enable
The box was using all available swap (2GB) and threw errors like this:
zsh: pipe failed: too many open files in system
Looks as if some recursive systemctl call (why at all on a system with
sysvinit-core?) horribly went wrong.
(When killing all the systemctl processes with killall -TERM, the load
peaked at close to 1000. Still waiting for it to finish...)
Reply to: