Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.bugs.dist > #1293118
| From | Ian Jackson <ijackson@chiark.greenend.org.uk> |
|---|---|
| Newsgroups | linux.debian.bugs.dist |
| Subject | Bug#1136218: innd stuck state where it doesn't reap children |
| Date | 2026-05-11 00:20 +0200 |
| Message-ID | <MTkFb-4ctt-5@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
Package: inn2
Version: 2.6.4-2
I've recently had a 2nd incident where inn2 got weirdly stuck and
caused the system to run out out of processes.
In the broken state, the global process table is full, and innd has
many unreaped nnrp zombies. (In my installation, nnrpd has been moved
aside and replaced by a wrapper, but that doesn't seem likely to be
relevant.)
In the most recent incident I was able to strace innd.
After I discovered that many zombies had 12430 as parent:
# ps -Hfp 12430
UID PID PPID C STIME TTY TIME CMD
news 12430 1 0 Apr23 ? 00:06:42 /usr/lib/news/bin/innd
# service innd stop
/usr/sbin/service: 44: Cannot fork
# kill 12430
# ps -Hfp 12430
UID PID PPID C STIME TTY TIME CMD
news 12430 1 0 Apr23 ? 00:06:42 /usr/lib/news/bin/innd
# strace -p 12430
strace: Process 12430 attached
select(98, [12 14 15 17 30 35 39 42 45 59 65 80 90 97], [], NULL, {tv_sec=293, tv_usec=975911}) = 1 (in [15], left {tv_sec=292, tv_usec=501355})
rt_sigprocmask(SIG_SETMASK, [HUP USR1 PIPE TERM CHLD], NULL, 8) = 0
gettimeofday({tv_sec=1778450718, tv_usec=948130}, NULL) = 0
accept(15, {sa_family=AF_INET, sin_port=htons(38066), sin_addr=inet_addr("172.17.207.6")}, [128->16]) = 34
setsockopt(34, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
fcntl(34, F_GETFL) = 0x2 (flags O_RDWR)
fcntl(34, F_SETFL, O_RDWR) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f1261323a90) = -1 EAGAIN (Resource temporarily unavailable)
sendto(3, "<59>May 10 23:05:18 innd: SERVER"..., 99, MSG_NOSIGNAL, NULL, 0) = 99
close(34) = 0
rt_sigprocmask(SIG_SETMASK, [HUP USR1 PIPE TERM CHLD], NULL, 8) = 0
select(98, [12 14 15 17 30 35 39 42 45 59 65 80 90 97], [], NULL, {tv_sec=300, tv_usec=0}^Cstrace: Process 12430 detached
<detached ...>
# kill 12430
# strace -p 12430
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
^C-bash: fork: Interrupted system call
# kill -9 12430
-bash: wait_for: No record of process 23234
And it turns out that it *had* died and all was well. So sending it a
SIGTERM seems to have fixed it.
This strace does IMO show pathological behaviour. innd calls accept
and fork, but you will observe that it doesn't reap!
Ian.
--
Ian Jackson <ijackson@chiark.greenend.org.uk> These opinions are my own.
Pronouns: they/he. If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.
Back to linux.debian.bugs.dist | Previous | Next | Find similar
Bug#1136218: innd stuck state where it doesn't reap children Ian Jackson <ijackson@chiark.greenend.org.uk> - 2026-05-11 00:20 +0200
csiph-web