From owner-freebsd-threads@FreeBSD.ORG Tue Nov 2 05:14:50 2004 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 72EA516A4CE for ; Tue, 2 Nov 2004 05:14:50 +0000 (GMT) Received: from mail.ntplx.net (mail.ntplx.net [204.213.176.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1FD1F43D2F for ; Tue, 2 Nov 2004 05:14:50 +0000 (GMT) (envelope-from deischen@freebsd.org) Received: from sea.ntplx.net (sea.ntplx.net [204.213.176.11]) iA25Em7p022051; Tue, 2 Nov 2004 00:14:48 -0500 (EST) Date: Tue, 2 Nov 2004 00:14:48 -0500 (EST) From: Daniel Eischen X-X-Sender: eischen@sea.ntplx.net To: Kris Kennaway In-Reply-To: <20041102031124.GA69552@xor.obsecurity.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by AMaViS and Clam AntiVirus (mail.ntplx.net) cc: threads@freebsd.org Subject: Re: [kris@obsecurity.org: named and KSE] X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Daniel Eischen List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Nov 2004 05:14:50 -0000 On Mon, 1 Nov 2004, Kris Kennaway wrote: > Ping There's not a lot to go on by that comment. David Xu has been working on a patch to fix a race condition that may prevent loss of wakeup in pthread_cond_{timed}wait() so that may fix the problem. -- Dan Eischen > > ----- Forwarded message from Kris Kennaway ----- > > Date: Sun, 24 Oct 2004 19:40:34 -0700 > From: Kris Kennaway > To: current@freeBSD.org > Subject: named and KSE > User-Agent: Mutt/1.4.2.1i > > This SMP 5.3-STABLE system updated yesterday acts as a resolver for a > bunch of package clients. I just got this message in the logs: > > Oct 25 01:45:00 pointyhat named[281]: *** POKED TIMER *** > > This comes from contrib/bind9/lib/isc/timer.c: > > /* > * This is a temporary (probably) hack to fix a bug on tru64 5.1 > * and 5.1a. Sometimes, pthread_cond_timedwait() doesn't actually > * return when the time expires, so here, we check to see if > * we're 15 seconds or more behind, and if we are, we signal > * the dispatcher. This isn't such a bad idea as a general purpose > * watchdog, so perhaps we should just leave it in here. > */ > if (signal_ok && timedwait) { > isc_interval_t fifteen; > isc_time_t then; > > isc_interval_set(&fifteen, 15, 0); > isc_time_add(&manager->due, &fifteen, &then); > > if (isc_time_compare(&then, now) < 0) { > SIGNAL(&manager->wakeup); > signal_ok = ISC_FALSE; > isc_log_write(isc_lctx, ISC_LOGCATEGORY_GENERAL, > ISC_LOGMODULE_TIMER, ISC_LOG_WARNING, > "*** POKED TIMER ***"); > } > } > > and suggests it could be a threading bug. > > Kris > > > > ----- End forwarded message ----- > -- Dan Eischen