killall5 fails on more than 16 "-o <pid>" parameters

Bug #634460 reported by Björn Schließmann
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
sysvinit (Ubuntu)
Fix Released
Undecided
Unassigned
Nominated for Lucid by Serge Hallyn

Bug Description

Binary package hint: sysvinit

killall5 has a parameter called "-o" with which you can specify which PIDs not to kill. If giving more than 16 such arguments, killall5 fails with "killall5: omit pid buffer size 16 exceeded!" probably causing bug #616287.

At least, this behaviour should be documented in the manpage (it isn't).

Nice to have would be a bigger or an arbitrary limit.

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: sysvinit-utils 2.87dsf-4ubuntu17
Uname: Linux 2.6.32-gubbelgubbel i686
Architecture: i386
Date: Thu Sep 9 22:36:47 2010
ProcEnviron:
 LANGUAGE=en_GB:en_US:en
 LANG=en_GB.utf8
 SHELL=/bin/bash
SourcePackage: sysvinit

=======================
SRU justification:
1. It has been been fixed since maverick.
2.1. Can cause upstart jobs to get killed when omitted - this can have a serious impact, as mentioned in Comment #5.
2.2. This issue was addressed in 2.87dsf-4ubuntu18, as shipped in maverick.
2.3. The patch from 2.87dsf-4ubuntu18 can be directly used, as mentioned in Comment #6.
2.4. TEST CASE: call killall5 w/ > 16 -o <pid> options
2.5. Regression severity is mitigated by the fact that this fix is localized to a single command that can be easily tested, and it has been shipping in Ubuntu maverick and Debian squeeze without any proven regressions. #607013 did turn up in my investigation for regressions as a killall5 crash in maverick, but note that it is running the lucid version of sysvinit-utils.
=======================

Revision history for this message
Björn Schließmann (b-schliessmann) wrote :
Revision history for this message
Björn Schließmann (b-schliessmann) wrote :

(IMHO, it's really embarrassing that there *still* are those "Who's ever going to need more than 640KB memory" type bugs.)

description: updated
Revision history for this message
Björn Schließmann (b-schliessmann) wrote :

Should be fixed, but no one seems to care. Pity. Marking closed. Changelog excerpt (first bullet addresses this one):

sysvinit (2.87dsf-4ubuntu18) maverick; urgency=low

  * Allocate pidof/killall5 omitpid buffers dynamically. 16 is too small
    for killall5 now that all Upstart jobs are omitted.
  * Create /lib/init/rw as a symlink to /var/run on new installations, and
    fix it up in /etc/init.d/umountroot on upgrade, as it's difficult to do
    this at any other time; this saves us chasing around all the individual
    packages that use one or the other for sendsigs.omit.d (LP: #541512).
  * Handle /var/run/sendsigs.omit.d explicitly, just in case.

 -- Colin Watson <email address hidden> Fri, 24 Sep 2010 10:48:28 +0100

Changed in sysvinit (Ubuntu):
status: New → Fix Released
Revision history for this message
Robert Marris (marris-rob) wrote :

This probably isn't the place to ask, but is there an FAQ anywhere on how to compile my own sysvinit? I've installed dependancies and found the source on SVN but it seems to require something more than just running configure then make.

Revision history for this message
dann frazier (dannf) wrote :

Bug #714907 (private) describes this occurring on a lucid system; causing significant issues in a clustered environment. Can this fix be backported to lucid?

Revision history for this message
dann frazier (dannf) wrote :

fyi, debian/patches/98_killall5_dynamic_omitpid.patch from maverick's sysvinit can be directly dropped into the lucid package to fix this issue.

Revision history for this message
dann frazier (dannf) wrote :

I was pointed to the SRU wiki; as per that process, here is my justification for an update to lucid, point by point:

1. It has been been fixed since maverick.
2.1. Can cause upstart jobs to get killed when omitted - this can have a serious impact, as mentioned in Comment #5.
2.2. This issue was addressed in 2.87dsf-4ubuntu18, as shipped in maverick.
2.3. The patch from 2.87dsf-4ubuntu18 can be directly used, as mentioned in Comment #6.
2.4. TEST CASE: call killall5 w/ > 16 -o <pid> options
2.5. Regression severity is mitigated by the fact that this fix is localized to a single command that can be easily tested, and it has been shipping in Ubuntu maverick and Debian squeeze without any proven regressions. #607013 did turn up in my investigation for regressions as a killall5 crash in maverick, but note that it is running the lucid version of sysvinit-utils.

dann frazier (dannf)
description: updated
tags: added: testcase
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.