Re: syslog() blocks on glibc 2.1.3 with kernel 2.2.x

From: Patrick J. LoPresti (patl@cag.lcs.mit.edu)
Date: Mon Oct 23 2000 - 15:19:14 EST


Ricky Beam <jfbeam@bluetopia.net> writes:

> I would suggest disabling name resolution for syslog, but that's an
> ugly option. There's no way to stop a glibc system from doing a DNS
> query for a reverse lookup. HOWEVER, you can set the DNS timeout to
> 1 second and set the resolver options to prevent recursion (answer
> from cache only.)

Recursion has nothing to do with it; as I said, the named on this
system is itself authoritative for all of the reverse lookups.

Turning down the DNS timeout would affect *all* name resolution on the
system, right? That is not acceptable.

As I said, I already have a workaround, which is to have named log to
a flat file. I agree that this is a poor workaround, and the "right
fix" is to modify syslogd not to perform blocking operations. My only
quibble is that SOCK_DGRAM is an odd transport to use here, even over
AF_UNIX.

> PS: Technically, this is not a lockup. syslogd should eventually
> timeout waiting for the DNS query and go about it's business. Of
> course, that may be upwards of 45 seconds -- very annoying.

Yes. We are able to log in to the machine eventually and restart the
offending processes. But that is little consolation to our users who
notice the hang and the fallout afterward.

 - Pat
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Oct 23 2000 - 21:00:21 EST