SMP turbulence: "kernel trap 12 with interrupts disabled"

Robert Watson rwatson at freebsd.org
Sat Jun 26 18:59:05 PDT 2004


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 at fledge.watson.org      Principal Research Scientist, McAfee Research


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



More information about the freebsd-current mailing list