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