dccm running out of file descriptors

Vernon Schryver vjs@calcite.rhyolite.com
Sun Feb 1 00:08:08 UTC 2004

> From: Gary Mills 

> Me too.  /usr/include/inet/tcp.h has the same definition for IDLE.
> That would imply that dccm is initiating TCP connections, but I don't
> think that's the case.

As far as I know that's not only not the case here, but impossible.  
The only way for dccm to initiate a TCP connection is with the connect()
system call, and that involves specifying a remote port number.
It should also resolve a wildcard or 0 local port number.
Since this is Solaris, I assume it's Mentat STREAMS TCP/IP pretended
to be BSD sockets, so I could be wrong.

> > Perhaps it is a socket in the
> > TCP state Close-Wait, or shut down by the other host and waiting for
> > a local close() system call.  A glut of such sockets could be caused
> > by a missing close() in some error path somewhere.
> I don't think so.

`netstat -a` while the system is sick would be interesting. 
3000 sockets in the same state should stand out.  My bet is that
`netstat -a` will say they are in Close_Wait.

>                    Here's this morning's error messages.  First, eight
> of these:
> Jan 31 00:58:46 electra dccm[20546]: [ID 109917 mail.error] DCC, mi_rd_cmd: read returned -1: Connection reset by peer

mi_rd_cmd() is in the sendmail libmilter.
It would be nice to hear that there were 3000 of those messages, perhaps
collapsed by syslog into a few "last message repeated 1000 times" entries.

Vernon Schryver    vjs@rhyolite.com

More information about the DCC mailing list

Contact vjs@rhyolite.com by mail or use the form.