Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Jun 2004 21:57:13 -0400 (EDT)
From:      Robert Watson <rwatson@freebsd.org>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        current@freebsd.org
Subject:   Re: SMP turbulence: "kernel trap 12 with interrupts disabled"
Message-ID:  <Pine.NEB.3.96L.1040626215516.58671O-100000@fledge.watson.org>
In-Reply-To: <20040627111227.V1642@gamplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Sun, 27 Jun 2004, Bruce Evans wrote:

> > I ran into this also -- I got a panic when I hit a key on the serial
> > console, as that caused the sio intr to preempt the ACPI idle loop and
> > resulted in unhappiness somehow.  I found that when I disabled the tunable
> > that turns off HTT, it worked fine.  Likewise, if I used 4BSD it was fine.
> > It's unclear to me what the cause is.
> 
> This looks like phk's roto-tilling of com->hotchar to
> com->tp->t_hotchar.  Hitting a key on a serial console that has not been
> opened from userland is the most deterministic way to demonstrate the
> brokenness of this change in practice.  com->tp is NULL until first
> open, and the null pointer access is especially easy to reach using a
> serial console since it is in the interrupt handler and interrupts are
> enabled before open on serial consoles to support trapping to the
> debugger on them.  You probably need the options that give this early
> enabling to see the bug.  They are: 

Ah, indeed, and with the ULE+HTT+machdep.hlt_logical_cpus bug, it would
hangs very early, opening up the window for the race.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert@fledge.watson.org      Principal Research Scientist, McAfee Research


> 
> %%%
> #if defined(DDB) && (defined(BREAK_TO_DEBUGGER) || \
>     defined(ALT_BREAK_TO_DEBUGGER))
> %%%
> 
> Bruce
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1040626215516.58671O-100000>