SMP turbulence: "kernel trap 12 with interrupts disabled"

David Wolfskill david at catwhisker.org
Sat Jun 26 11:51:23 PDT 2004


Daily builds of -STABLE & -CURRENT went fine today, both on (UP) laptop
and SMP "build machine," but the subsequent boot of -CURRENT on the SMP
machine didn't go so well -- even a single-user boot died thus:

pci0: <display, VGA> at device 10.0 (no driver attached)
pcm0: <CMedia CMI8738> port 0xc800-0xc8ff irq 17 at device 14.0 on pci0
pcm0: Reserved 0x100 bytes for rid 0x10 type 4 at 0xc800
pcm0: [MPSAFE]
pcm0: sndbuf_setmap 201000, 4000; 0xd5509000 -> 201000
pcm0: sndbuf_setmap 205000, 4000; 0xd550d000 -> 205000
atapci0: <CMD 649 UDMA100 controller> port 0xdc00-0xdc0f,0xd800-0xd803,0xd400-0xd407,0xd000-0xd003,0xcc00-0xcc07 irq 18 at device 15.0 on pci0
atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0xdc00
atapci0: [MPSAFE]
atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0xcc00
atapci0: Reserved 0x4 bytes for rid 0x14 type 4 at 0xd000
ata2: reset tp1 mask=03 ostat0=7f ostat1=7f
ata2-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata2-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata2-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata2-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata2-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata2-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata2-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata2-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata2-slave:  stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata2: reset tp2 stat0=ff stat1=ff devices=0x0
ata2: at 0xcc00 on atapci0
ata2: [MPSAFE]
atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0xd400
atapci0: Reserved 0x4 bytes for rid 0x1c type 4 at 0xd800
ata3: reset tp1 mask=03 ostat0=7f ostat1=7f
ata3-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata3-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata3-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata3-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata3-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata3-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata3-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata3-master: stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata3-slave:  stat=0x7f err=0x7f lsb=0x7f msb=0x7f
ata3: reset tp2 stat0=ff stat1=ff devices=0x0
ata3: at 0xd400 on atapci0
ata3: [MPSAFE]
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
atapci1: <VIA 8233 UDMA100 controller> port 0xe000-0xe00f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 17.1 on pci0
atapci1: Reserved 0x10 bytes for rid 0x20 type 4 at 0xe000
atapci1: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
atapci1: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
ata0: reset tp1 mask=03 ostat0=50 ostat1=00
ata0-master: stat=0x50 err=0x01 lsb=0x00 msb=0x00
ata0-slave:  stat=0x00 err=0x01 lsb=0x00 msb=0x00
ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
ata0: at 0x1f0 irq 14 on atapci1
ata0: [MPSAFE]
atapci1: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
atapci1: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
ata1: reset tp1 mask=03 ostat0=50 ostat1=01
ata1-master: stat=0x00 err=0x01 lsb=0x14 msb=0xeb
ata1-slave:  stat=0x00 err=0x04 lsb=0x00 msb=0x00
ata1: reset tp2 stat0=00 stat1=00 devices=0x4<ATAPI_MASTER>
ata1: at 0x170 irq 15 on atapci1
ata1: [MPSAFE]
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0: irq maps: 0x4041 0x4051 0x4041 0x4041
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A, console
kernel trap 12 with interrupts disabled


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x144
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc0624e84
stack pointer           = 0x10:0xc0c21b80
frame pointer           = 0x10:0xc0c21b90
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = resume, IOPL = 0
current process         = 0 (swapper)
kernel: type 12 trap, code=0
Stopped at      siointr1+0x138: cmpl    $0,0x144(%edx)
db> 

Unloading today's kernel & booting from yesterday's works fine:  here's
what I would have expected above:

...[same as above]
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0: irq maps: 0x4041 0x4051 0x4041 0x4041
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A, console
sio1: irq maps: 0x4041 0x4049 0x4041 0x4041
sio1 port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
unknown: not probed (disabled)
ppc0: using extended I/O port range
ppc0: SPP
ppc0 port 0xf78-0xf7b,0xb78-0xb7b,0x778-0x77b,0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (NIBBLE-only) in NIBBLE mode
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
plip0: bpf attached
....[this goes on for a bit....]

Hmmm....  that "unknown: not probed (disabled)" looks a little
suspicious.

The laptop seems OK:

g1-15(5.2-C)[1] uname -a
FreeBSD g1-15.catwhisker.org 5.2-CURRENT FreeBSD 5.2-CURRENT #219: Sat Jun 26 09:54:11 PDT 2004     root at g1-15.catwhisker.org:/common/S3/obj/usr/src/sys/LAPTOP_30W  i386
g1-15(5.2-C)[2] 

And here's a log showing the times I updated my local CVS repo:

freebeast(5.2-C)[1] tail /var/log/cvsup-history.log
CVSup begin from cvsup14.freebsd.org at Thu Jun 24 03:47:02 PDT 2004
CVSup ended from cvsup14.freebsd.org at Thu Jun 24 03:52:25 PDT 2004
CVSup begin from cvsup12.freebsd.org at Fri Jun 25 01:47:15 PDT 2004
CVSup ended from cvsup12.freebsd.org at Fri Jun 25 01:53:09 PDT 2004
CVSup begin from cvsup12.freebsd.org at Fri Jun 25 03:47:15 PDT 2004
CVSup ended from cvsup12.freebsd.org at Fri Jun 25 03:52:33 PDT 2004
CVSup begin from cvsup14.freebsd.org at Sat Jun 26 01:47:02 PDT 2004
CVSup ended from cvsup14.freebsd.org at Sat Jun 26 01:54:52 PDT 2004
CVSup begin from cvsup14.freebsd.org at Sat Jun 26 03:47:03 PDT 2004
CVSup ended from cvsup14.freebsd.org at Sat Jun 26 03:52:44 PDT 2004
freebeast(5.2-C)[2] 

I do the builds after the 2nd CVSup of the day (i.e., starting just
before 0400 hrs.)

I need to get back to helping my wife with a Project pretty soon, or I'd
extract the list of changes in /usr/src/sys since the previous build,
and try to identify whicj changes broke this....

Peace,
david
-- 
David H. Wolfskill				david at catwhisker.org
I do not "unsubscribe" from email "services" to which I have not explicitly
subscribed.  Rather, I block spammers' access to SMTP servers I control,
and encourage others who are in a position to do so to do likewise.


More information about the freebsd-current mailing list