Argument-parsing changes in the latest psmisc break almost all flavors of killall -HUP foo, killall -SIGTERM bar, etc. Filed an upstream bug: https://gitlab.com/psmisc/psmisc/issues/13 In the meantime I recommend masking psmisc-23.2 (more than just the ~arch keyword it currently has). All manner of scripts, cron jobs, etc. might be broken by this. At a quick scan of portage, all of these would break: $ find . -type f | xargs egrep 'killall -[A-Z]' ./net-dns/ez-ipupdate/files/ez-ipupdate-3.0.11.13.3_beta8-dnsexit.diff:+# you can use "killall -QUIT ez-ipupdate" under linux. ./net-dns/ez-ipupdate/files/ez-ipupdate-3.0.11.13.3_beta8-3322.diff:+# you can use "killall -QUIT ez-ipupdate" under linux. ./media-tv/mythtv/files/mythtv.logrotate.d-r4: killall -HUP mythlogserver ./net-fs/samba/files/4.2/samba4.confd:smbd_reload="killall -HUP smbd" ./net-fs/samba/files/4.2/samba4.confd:nmbd_reload="killall -HUP nmbd" ./net-fs/samba/files/4.2/samba4.confd:samba4_reload="killall -HUP samba" ./net-fs/samba/files/4.2/samba4.confd:winbind_reload="killall -HUP winbindd" ./net-fs/samba/files/4.4/samba4.confd:smbd_reload="killall -HUP smbd" ./net-fs/samba/files/4.4/samba4.confd:nmbd_reload="killall -HUP nmbd" ./net-fs/samba/files/4.4/samba4.confd:samba4_reload="killall -HUP samba" ./net-fs/samba/files/4.4/samba4.confd:winbind_reload="killall -HUP winbindd" ./net-dialup/mwavem/mwavem-2.0-r2.ebuild: killall -HUP devfsd ./net-vpn/pptpd/files/pptpd-init-r2: killall -SIGTERM pptpctrl &>/dev/null ./net-p2p/litecoind/files/litecoind.logrotate: killall -HUP litecoind ./net-p2p/bitcoind/files/bitcoind.logrotate-r1: killall -HUP bitcoind ./net-p2p/ppcoind/files/ppcoind.logrotate: killall -HUP ppcoind ./sys-fs/lvm2/files/clvmd.rc-2.02.39: killall -TERM ${CLVMD_BIN} >/dev/null ./app-misc/oneko/oneko-1.2-r2.ebuild: make_desktop_entry "killall -TERM oneko" "oneko kill" "" "Game;Amusement" ./net-proxy/privoxy/files/privoxy.logrotate: killall -HUP privoxy 2>/dev/null || true ./sys-cluster/glusterfs/files/glusterfs.logrotate: /usr/bin/killall -HUP glusterfs > /dev/null 2>&1 || true ./sys-cluster/glusterfs/files/glusterfs.logrotate: /usr/bin/killall -HUP glusterd > /dev/null 2>&1 || true ./sys-cluster/glusterfs/files/glusterfs.logrotate: /usr/bin/killall -HUP glusterfsd > /dev/null 2>&1 || true
/etc/init.d/nfs restart * Stopping NFS mountd ... [ ok ] * Stopping NFS daemon ... [ ok ] * Unexporting NFS directories ... [ ok ] Usage: killall [OPTION]... [--] NAME... killall -l, --list killall -V, --version -e,--exact require exact match for very long names -I,--ignore-case case insensitive process name match -g,--process-group kill process group instead of process -y,--younger-than kill processes younger than TIME -o,--older-than kill processes older than TIME -i,--interactive ask for confirmation before killing -l,--list list all known signal names -q,--quiet don't print complaints -r,--regexp interpret NAME as an extended regular expression -s,--signal SIGNAL send this signal instead of SIGTERM -u,--user USER kill only process(es) running as USER -v,--verbose report if the signal was successfully sent -V,--version display version information -w,--wait wait for processes to die -n,--ns PID match processes that belong to the same namespaces as PID * Exporting NFS directories ... [ ok ] * Starting NFS mountd ... [ ok ] * Starting NFS daemon ... [ ok ] * Starting NFS smnotify ... [ ok ]
*** Bug 664480 has been marked as a duplicate of this bug. ***
This breaks scripts all over the place. Had to mask it locally.
Agreed, same here. Please mask 23.2 to prevent widespread breakage.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=654f07d09646acba37e7e562423ed1aa60f4e440 commit 654f07d09646acba37e7e562423ed1aa60f4e440 Author: Lars Wendler <polynomial-c@gentoo.org> AuthorDate: 2018-09-05 09:42:24 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2018-09-05 09:42:24 +0000 package.mask: Masked =sys-process/psmisc-23.2 Bug: https://bugs.gentoo.org/664066 profiles/package.mask | 5 +++++ 1 file changed, 5 insertions(+)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27aa227016ac71f90eb8c6036ab4fb2600433b02 commit 27aa227016ac71f90eb8c6036ab4fb2600433b02 Author: Lars Wendler <polynomial-c@gentoo.org> AuthorDate: 2018-09-19 08:32:29 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2018-09-19 08:32:29 +0000 sys-process/psmisc: v23.2: Attempt to fix "killall -SIG" Bug: https://bugs.gentoo.org/664066 Package-Manager: Portage-2.3.49, Repoman-2.3.10 .../psmisc-23.2-killall_options_parsing.patch | 79 ++++++++++++++++++++++ sys-process/psmisc/psmisc-23.2.ebuild | 4 ++ 2 files changed, 83 insertions(+)
Please test psmisc-23.2 again and give feedback here. I've added an usptream patch that might fix the issue but I'd like to get some user testing first. psmisc-23.2 is still package.masked, so in order to install it you first need to unmask it locally.
I Just tried the patched version (psmisc-23.2-killall_options_parsing.patch). Unfortunately starting /etc/nfs still gives the same error I reported in comment #1
Created attachment 547286 [details] Build log See my build log where I noticed some errors despite of which the package was built.
I see no change/improvement in behavior at all: $ killall --version killall (PSmisc) 23.2 Sending killall -NAME to a nonexistent process name, we should see 'no process found' for every signal: $ for SIG in $(killall -l) ; do echo -n "$SIG " ; killall -${SIG} foo 2>&1 | head -n1 ; done | egrep -v Usage INT foo: no process found ILL foo: no process found VTALRM foo: no process found Sending killall -SIGNAME to a nonexistent process name, we should see 'no process found' for every signal: $ for SIG in $(killall -l) ; do echo -n "$SIG " ; killall -SIG${SIG} foo 2>&1 | head -n1 ; done | egrep -v Usage $
...OK, I tested upstream's git HEAD and it worked correctly. Extracted a cumulative patch of killall.c between 2.32 release and upstream HEAD, used that as a patch in a modified ebuild, and it works now: /var/tmp/portage/sys-process/psmisc-23.2/image/usr/bin $ for SIG in $(killall -l) ; do echo -n "$SIG " ; ./killall -${SIG} foo 2>&1 | head -n1 ; done | egrep -v Usage | wc -l 31 /var/tmp/portage/sys-process/psmisc-23.2/image/usr/bin $ for SIG in $(killall -l) ; do echo -n "$SIG " ; ./killall -SIG${SIG} foo 2>&1 | head -n1 ; done | egrep -v Usage | wc -l 31 I think the difference is, there were some options-parsing patches before the particular commit to killall.c that psmisc-23.2-killall_options_parsing.patch is taken from. Without those inbetween patches, the new patch still applies, but doesn't function correctly. I will attach the cumulative updates to killall.c that I extracted.
Created attachment 547546 [details, diff] Cumulative updates to killall.c since 2.32 release.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6c1e6dc1b44372a36852071f5f35b22e686d6cea commit 6c1e6dc1b44372a36852071f5f35b22e686d6cea Author: Lars Wendler <polynomial-c@gentoo.org> AuthorDate: 2018-09-24 11:13:02 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2018-09-24 11:27:12 +0000 sys-process/psmisc: Revbump to fix "killall -SIG". Upstream re-released version 23.2 with the killall fixes. Closes: https://bugs.gentoo.org/664066 Package-Manager: Portage-2.3.49, Repoman-2.3.11 sys-process/psmisc/Manifest | 2 +- .../psmisc-23.2-killall_options_parsing.patch | 79 ---------------------- .../{psmisc-23.2.ebuild => psmisc-23.2-r1.ebuild} | 6 +- 3 files changed, 2 insertions(+), 85 deletions(-)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ee9f408582a8f94577446f39b1ae3f8c85dd621b commit ee9f408582a8f94577446f39b1ae3f8c85dd621b Author: Stijn Tintel <stijn@linux-ipv6.be> AuthorDate: 2021-11-30 10:45:12 +0000 Commit: David Seifert <soap@gentoo.org> CommitDate: 2021-11-30 10:45:12 +0000 net-fs/nfs-utils: fix killall usage in init script * Bug 664066 has surfaced again. Fix it properly by calling killall with `--signal=HUP` rather than the short form that keeps being broken. Closes: https://github.com/gentoo/gentoo/pull/23121 Closes: https://bugs.gentoo.org/664066 Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Signed-off-by: David Seifert <soap@gentoo.org> net-fs/nfs-utils/files/nfs.initd | 2 +- .../nfs-utils/{nfs-utils-2.5.4-r2.ebuild => nfs-utils-2.5.4-r3.ebuild} | 0 2 files changed, 1 insertion(+), 1 deletion(-)