Date: Tue, 30 Jul 2002 23:55:08 +1000 From: Mark.Andrews@isc.org To: greg.panula@dolaninformation.com Cc: stable@FreeBSD.ORG Subject: Re: bind crash Message-ID: <200207301355.g6UDt8Je094799@drugs.dv.isc.org> In-Reply-To: Your message of "Tue, 30 Jul 2002 08:18:45 EST." <3D469235.D58E4A4@dolaninformation.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Howdy,
>
> My bind daemon crashed yesterday and I was curious if anyone had any
> suggestions to reason why. The box is running freebsd 4.6-stable, code
> from 07/11/2002.
>
> Here are the syslog messages that were generated:
> Jul 29 14:19:42 named[64031]:
> /usr2/src-tree/freebsd-stable/July-11th-2002/prefix/src/usr.sbin/named/../../
> contrib/bind/bin/named/ns_main.c:559:
> INSIST(errno == EINTR): Invalid argument failed.
> Jul 29 14:19:42 /kernel: Jul 29 14:19:42 named[64031]:
> /usr2/src-tree/freebsd-stable/July-11th-2002/prefix/src/usr.sbin/named/../../
> contrib/bind/bin/named/ns_main.c:559:
> INSIST(errno == EINTR): Invalid argument failed.
> Jul 29 14:19:42 /kernel: pid 64031 (named), uid 53: exited on signal 6
> Jul 29 14:19:42 /kernel: Jul 29 14:19:42 /kernel: pid 64031 (named), uid
> 53: exited on signal 6
>
>
> Here is the snippit of code from ns_main.c referenced in the syslog
> message:
>
> ns_notice(ns_log_default, "Ready to answer queries.");
> gettime(&tt);
> prime_cache();
> while (!needs_exit) {
> evEvent event;
>
> ns_debug(ns_log_default, 15, "main loop");
> if (needs != 0)
> handle_needs();
> else if (evGetNext(ev, &event, EV_WAIT) != -1)
> INSIST_ERR(evDispatch(ev, event) != -1);
> else
> line 559 ----> INSIST_ERR(errno == EINTR);
> }
>
> I cvsup'd down the latest version of ns_main.c and there weren't
> difference between today's version and 07/11/2002's version.
>
> Previously the bind daemon had been up for about 7-8 days until this
> crash. This is the first time bind has crashed on this machine(it has
> been doing dns duties for close to two years now, without a crash).
>
> Thanks,
> Greg
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-stable" in the body of the message
This is symptomatic of gettimeofday() returning a out of range
tv_usec value. There should be a wrapper around the calls to
gettimeofday() to correct tv_usec however when I run nm on the
objects in the build tree they are calling gettimeofday directly.
From src/freebsd/include/port_after.h as distributed by ISC.
int isc__gettimeofday(struct timeval *tp, struct timezone *tzp);
#define gettimeofday isc__gettimeofday
Mark
--
Mark Andrews, Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: Mark.Andrews@isc.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200207301355.g6UDt8Je094799>
