Subject: Re: Unkillable process, stalled socket write()
To: Jorgen Lundman <lundman@lundman.net>
From: Christos Zoulas <christos@zoulas.com>
List: netbsd-users
Date: 03/10/2005 05:39:23
On Mar 10,  7:17pm, lundman@lundman.net (Jorgen Lundman) wrote:
-- Subject: Re: Unkillable process, stalled socket write()

| Sorry for the delay, it does not happen that often.
| 
| pkill -INT lundftpd
| 
| ps -axl
|     0  4021  6423   0 -22  0    0     0 -        ZW   ??   0:00.00 (lundftpd)
|     0  6423     1   0 -18  0 2520  2684 sokva    Ds   ??   0:16.06 ./lundftpd
|     0  9550  6423   0 -22  0    0     0 -        ZW   ??   0:00.00 (lundftpd)
| 
| The middle process, the other two are children, just wait4()ing.
| 
| gdb ./lundftpd
| 
| #0  0x48187dc3 in write () from /usr/lib/libc.so.12
| #1  0x080cbc76 in BIO_sock_non_fatal_error ()
| (hmm? a clue? called via SSL_write if that makes any difference)
| 

So you have run out of SOMAXKVA which is 16M and it is defined in
uipc_socket.c Something is not cleaning up after itself, so you
are running out socket space...  Or you are legitimately running
out. The two children are zombies, and nobody has waited for them
yet... What do you mean just wait4()ing? The parent should wait4()
them, but it is stuck in D state. What is the parent writing to?

christos