STABLE-20040123 + OVDB: nnrpd dies on signal 11

Heath Kehoe hakehoe at avalon.net
Wed Feb 11 17:41:11 UTC 2004


The coredumps are probably caused by a stack overflow, because of a 
loop in
the exit (process calls exit(), there's an exit handler that calls 
ovdb_close(),
which calls the csend() function which calls exit() when the write 
fails).

It could be that the nnrpd is just trying to exit normally.

A quick fix to prevent the core dumps is to change the exit(1) calls in
ovdb.c:csend() and crecv() to _exit(1).  You'll still get the "cant 
write"
log messages, though.  I think I just need to add a check so that it 
doesn't
try to close the connection twice.

On another topic, I've been absent from this list for quite a while.
But I've recently been tasked to upgrade an INN box, so I now have an 
excuse
to work on INN again :)

--Heath

On Feb 11, 2004, at 7:06, Matti Saarinen wrote:

>
> I've just installed a new news server and today I put it in the
> production use. Now, it seem there are problems with the interaction
> of nnrpd processes and ovdb_server. The system has now been up 7 hours
> and 11 nnrpd process have exited on signal 11. A few but not all have
> dumped core as well.
>
> The nnrpd dying on signal 11 seems to be connected with these lines
> appearing news.notice:
>
>   nnrpd[18027]: OVDB: rc: cant write: Broken pipe
>
> At the moment, the are 56 nnrpd procesess that have logged the message
> above. Ten of them have died on signal 11  and three of those have
> dumped core.
>
> If I check the core dump with gdb the backtrace looks like this:
>
> #0  0x283c0a9d in isatty () from /usr/lib/libc.so.4
> #1  0x283c0cfd in isatty () from /usr/lib/libc.so.4
> #2  0x283c1415 in malloc () from /usr/lib/libc.so.4
> #3  0x283bf918 in __smakebuf () from /usr/lib/libc.so.4
> #4  0x283bf8ac in __swsetup () from /usr/lib/libc.so.4
> #5  0x283b9e4c in vfprintf () from /usr/lib/libc.so.4
> #6  0x283b9aa9 in fprintf () from /usr/lib/libc.so.4
> #7  0x283a1101 in vsyslog () from /usr/lib/libc.so.4
> #8  0x283a101d in syslog () from /usr/lib/libc.so.4
> #9  0x806e595 in csend (data=0xbbc01110, n=20) at ovdb/ovdb.c:214
> #10 0x806e824 in client_disconnect () at ovdb/ovdb.c:338
> #11 0x8072819 in ovdb_close () at ovdb/ovdb.c:2812
> #12 0x8066ebb in OVclose () at ov.c:369
> #13 0x283c20bc in exit () from /usr/lib/libc.so.4
> #14 0x806e59f in csend (data=0xbbc011f0, n=20) at ovdb/ovdb.c:215
> #15 0x806e824 in client_disconnect () at ovdb/ovdb.c:338
> #16 0x8072819 in ovdb_close () at ovdb/ovdb.c:2812
> #17 0x8066ebb in OVclose () at ov.c:369
> #18 0x283c20bc in exit () from /usr/lib/libc.so.4
> [the similar lines seem to continue forever]
>
> The system runs FreeBSD 4.9-STABLE. It has been compiled from cvsuped
> sources on 2004-02-06.
>
>
>
> Cheers,
>
> -- 
> - Matti -
>
>



More information about the inn-workers mailing list