Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Jul 2002 00:24:31 -0700
From:      Alfred Perlstein <bright@mu.org>
To:        Peter Wemm <peter@wemm.org>
Cc:        current@freebsd.org
Subject:   Re: Is it just me or has -current suddenly got massively unstable?
Message-ID:  <20020722072431.GZ77219@elvis.mu.org>
In-Reply-To: <20020722071517.D0C733924@overcee.wemm.org>
References:  <20020722071517.D0C733924@overcee.wemm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
* Peter Wemm <peter@wemm.org> [020722 00:16] wrote:
> It might be just me because I swapped an ISA 'si' card for a PCI version, but
> the problems I've been seeing are pretty spectacular.  I'm regularly seeing
> the following panics:
> 
> - selwakeup() taking fatal traps (always while running postfix/smtpd,
> presumably this is happening during the traditional 'select collision'
> window - the locking looks rather suspect there too).  This killed my box
> 3 times today alone.

What's suspect about the locking?

> This is happening on this line:
> 
> 1182            if (td == NULL) {
> 1183                    mtx_unlock(&sellock);
> 1184                    return;
> 1185            }
> 1186 >>>HERE>>> TAILQ_REMOVE(&td->td_selq, sip, si_thrlist);
> 1187            sip->si_thread = NULL;
> 1188            mtx_lock_spin(&sched_lock);
> 1189            if (td->td_wchan == (caddr_t)&selwait) {
> 1190                    if (td->td_state == TDS_SLP)
> 
> All of these panics have been at this identical location -it isn't random.
> I briefly went looking and I'm wondering if the locking is adequate here.

I was hoping it was, what problem do you see here?  All the td->td_selq
accesses should be protected by the select mutex.  Perhaps selwakeup()
is being called on an uninitialized selinfo structure?  I guess adding
some sort of diagnostic checks for initialized selinfos might help.

Yes, I've been seeing some instability, but not of the magnitude you're
seeing. :)

-- 
-Alfred Perlstein [alfred@freebsd.org] [#bsdcode/efnet/irc.prison.net]
'Instead of asking why a piece of software is using "1970s technology,"
 start asking why software is ignoring 30 years of accumulated wisdom.'

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020722072431.GZ77219>