nnrpd core

Dmitry Davidov D.Davidov at webplus.ru
Wed Sep 24 09:04:51 UTC 2003


> Date: Tue, 23 Sep 2003 11:23:45 -0700
> From: Russ Allbery <rra at stanford.edu>
> To: inn-workers at isc.org
> Subject: Re: nnrpd core
>
> Dmitry Davidov <D.Davidov at webplus.ru> writes:
>
> > Sometime one of ~300 nrrpd process increases in memory up to a segment
> > limit and :
>
> > Core was generated by `nnrpd'.
> > Program terminated with signal 11, Segmentation fault.
> > Reading symbols from /usr/local/lib/libdb41.so.1...done.
> > Reading symbols from /usr/lib/libc.so.4...done.
> > Reading symbols from /usr/libexec/ld-elf.so.1...done.
> > #0  0x281c0208 in isatty () from /usr/lib/libc.so.4
>
> Hm, are you sure that this is a memory limit problem and not something
> else?

I think it happens when nnrpd close self on timeout but ovdb_server
already clear connection on this nnrpd, because nnrpd write to log
(2000-~500000 lines)
nnrpd[pid]: OVDB: cant write: broken pipe

ovdb_server have
#define CLIENT_TIMEOUT (innconf->clienttimeout + 60)
but it not corresponds to nnrpd network client timeout, because
nnrpd can serve connection thus not sending inquiries to ovdb_server,
and ovdb_server call delclient() earlier.

I set CLIENT_TIMEOUT to (innconf->clienttimeout + 1200) , thus
innconf->clienttimeout=1200 , total CLIENT_TIMEOUT=2400.
Result i have nnrpd core less often, but it not resolve problem and
i think here the algorithm is necessary like send message from nnrpd to
ovdb_server "I STILL ALIVE" and ovdb_server set timeout on it.

>
> --
> Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>
>
>     Please send questions to the list rather than mailing me directly.
>      <http://www.eyrie.org/~eagle/faqs/questions.html> explains why.
>
>


Dmitry Davidov.
					dmitry at wplus.net
Web Plus				+7 812 326 90 20



More information about the inn-workers mailing list