Machine Freezes with SMP+APIC enabled.

Doug White dwhite at gumbysoft.com
Tue Nov 11 18:14:07 PST 2003


On Sun, 9 Nov 2003, Lefteris Tsintjelis wrote:

> I have been experiencing random machine freezes when using SMP (Hyper
> threading) the past week. There are no core dumps or error messages
> displayed anywhere. Load is very minimum.  When SMP/Hyperthreading is
> disabled machine works with no problems at full load.

Hm, smells like Giant deadlock.

dwhite's Form Letter on Debugging Giant Deadlocks

If you are experiencing problems with CURRENT locking up hard, it may be
due to a deadlock against the Giant mutex, which controls large parts of
the kernel.  Symptoms include:

. No response to any input
	. System video console
	. Network (ping)

To debug this, you will need to set up a serial console with some special
kernel options.  Instructions for booting with serial console are in the
Handbook, but you will have to compile with the following kernel options:

options DDB
options BREAK_TO_DEBUGGER
options WITNESS
options INVARIANTS
options INVARIANTS_SUPPORT

Make sure your serial console is capable of sending a Break signal. If
not, use "ALT_BREAK_TO_DEBUGGER" instead of "BREAK_TO_DEBUGGER".

Enable the serial console and boot the system. Turn on terminal logging.
In loader, stop the boot and type "boot -v" at the OK prompt to get
additional info during the boot process.

Once the system is up, trigger the hang. When the system hangs, issue the
Break signal (or if you have used ALT_BREAK_TO_DEBUGGER, press Enter ~ ^E
b (tilde, Ctrl-E, b)).

If you get the db> prompt, then your hang is probably due to a Giant
deadlock. If not, then something else may be at fault.

Once in db>, run the following two commands and capture their output using
your terminal's logging capability:

show locks
tr

Take these and the boot -v output, put them on a webpage, and send a
message to current at freebsd.org carefully explaining what you did to
trigger the hang.

Good luck!

>
> Best,
> Lefteris Tsintjelis
>
> # dmesg
> Copyright (c) 1992-2003 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>         The Regents of the University of California. All rights reserved.
> FreeBSD 4.9-STABLE #0: Sat Nov  8 01:02:24 EET 2003
>     ASUS at P4T533-C:/usr/obj/usr/src/sys/CUSTOM-SMP
> Timecounter "i8254"  frequency 1193182 Hz
> CPU: Intel(R) Pentium(R) 4 CPU 3.06GHz (3073.65-MHz 686-class CPU)
>   Origin = "GenuineIntel"  Id = 0xf27  Stepping = 7
>   Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
>   Hyperthreading: 2 logical CPUs
> real memory  = 536788992 (524208K bytes)
> avail memory = 517226496 (505104K bytes)
> Programming 24 pins in IOAPIC #0
> IOAPIC #0 intpin 2 -> irq 0
> FreeBSD/SMP: Multiprocessor motherboard: 2 CPUs
>  cpu0 (BSP): apic id:  0, version: 0x00050014, at 0xfee00000
>  cpu1 (AP):  apic id:  1, version: 0x00050014, at 0xfee00000
>  io0 (APIC): apic id:  4, version: 0x00178020, at 0xfec00000
> Preloaded elf kernel "kernel" at 0xc04da000.
> Preloaded elf module "agp.ko" at 0xc04da09c.
> Warning: Pentium 4 CPU: PSE disabled
> VESA: v3.0, 131072k memory, flags:0x1, mode table:0xc04308c2 (1000022)
> VESA: NVidia
> Pentium Pro MTRR support enabled
> md0: Malloc disk
> Using $PIR table, 9 entries at 0xc00f1be0
> npx0: <math processor> on motherboard
> npx0: INT 16 interface
> pcib0: <Host to PCI bridge> on motherboard
> IOAPIC #0 intpin 19 -> irq 2
> IOAPIC #0 intpin 23 -> irq 5
> IOAPIC #0 intpin 17 -> irq 9
> pci0: <PCI bus> on pcib0
> agp0: <Intel 82850 host to AGP bridge> mem 0xf8000000-0xfbffffff at device 0.0 on pci0
> pcib1: <PCI to PCI bridge (vendor=8086 device=2532)> at device 1.0 on pci0
> IOAPIC #0 intpin 16 -> irq 10
> pci1: <PCI bus> on pcib1
> pci1: <NVidia model 0171 graphics accelerator> at 0.0 irq 10
> pcib2: <Intel 82801BA/BAM (ICH2) Hub to PCI bridge> at device 30.0 on pci0
> IOAPIC #0 intpin 21 -> irq 11
> IOAPIC #0 intpin 22 -> irq 16
> pci2: <PCI bus> on pcib2
> ohci0: <NEC uPD 9210 USB controller> mem 0xed800000-0xed800fff irq 11 at device 4.0 on pci2
> usb0: OHCI version 1.0
> usb0: <NEC uPD 9210 USB controller> on ohci0
> usb0: USB revision 1.0
> uhub0: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub0: 3 ports with 3 removable, self powered
> ohci1: <NEC uPD 9210 USB controller> mem 0xed000000-0xed000fff irq 16 at device 4.1 on pci2
> usb1: OHCI version 1.0
> usb1: <NEC uPD 9210 USB controller> on ohci1
> usb1: USB revision 1.0
> uhub1: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub1: 2 ports with 2 removable, self powered
> pci2: <USB controller> at 4.2 irq 5
> ahc0: <Adaptec 29160 Ultra160 SCSI adapter> port 0xd800-0xd8ff mem 0xec000000-0xec000fff irq 16 at device 10.0 on pci2
> aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
> fxp0: <Intel 82559 Pro/100 Ethernet> port 0xd400-0xd43f mem 0xeb000000-0xeb0fffff,0xeb800000-0xeb800fff irq 5 at device 11.0 on pci2
> fxp0: Ethernet address 00:d0:b7:23:19:8c
> inphy0: <i82555 10/100 media interface> on miibus0
> inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> isab0: <Intel 82801BA/BAM (ICH2) PCI to LPC bridge> at device 31.0 on pci0
> isa0: <ISA bus> on isab0
> atapci0: <Intel ICH2 ATA100 controller> port 0xb800-0xb80f at device 31.1 on pci0
> ata0: at 0x1f0 irq 14 on atapci0
> ata1: at 0x170 irq 15 on atapci0
> uhci0: <Intel 82801BA/BAM (ICH2) USB controller USB-A> port 0xb400-0xb41f irq 2 at device 31.2 on pci0
> usb2: <Intel 82801BA/BAM (ICH2) USB controller USB-A> on uhci0
> usb2: USB revision 1.0
> uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub2: 2 ports with 2 removable, self powered
> uhci1: <Intel 82801BA/BAM (ICH2) USB controller USB-B> port 0xb000-0xb01f irq 5 at device 31.4 on pci0
> usb3: <Intel 82801BA/BAM (ICH2) USB controller USB-B> on uhci1
> usb3: USB revision 1.0
> uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
> uhub3: 2 ports with 2 removable, self powered
> pcm0: <Intel ICH2 (82801BA)> port 0xa400-0xa43f,0xa800-0xa8ff irq 9 at device 31.5 on pci0
> pcm0: <Avance Logic ALC650 AC97 Codec>
> orm0: <Option ROM> at iomem 0xd8000-0xd97ff on isa0
> pmtimer0 on isa0
> fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
> fdc0: FIFO enabled, 8 bytes threshold
> fd0: <1440-KB 3.5" drive> on fdc0 drive 0
> atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
> atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
> kbd0 at atkbd0
> psm0: <PS/2 Mouse> irq 12 on atkbdc0
> psm0: model IntelliMouse, device ID 3
> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
> sc0: <System console> at flags 0x100 on isa0
> sc0: VGA <16 virtual consoles, flags=0x300>
> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
> sio0: type 16550A
> sio1 at port 0x2f8-0x2ff irq 3 on isa0
> sio1: type 16550A
> ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
> ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
> ppc0: FIFO with 16/16/9 bytes threshold
> plip0: <PLIP network interface> on ppbus0
> lpt0: <Printer> on ppbus0
> lpt0: Interrupt-driven port
> ppi0: <Parallel I/O> on ppbus0
> APIC_IO: Testing 8254 interrupt delivery
> APIC_IO: routing 8254 via IOAPIC #0 intpin 2
> IPv6 packet filtering initialized, default to accept, logging disabled
> IP packet filtering initialized, divert disabled, rule-based forwarding enabled, default to accept, logging disabled
> IPsec: Initialized Security Association Processing.
> Waiting 15 seconds for SCSI devices to settle
> SMP: AP CPU #1 Launched!
> sa0 at ahc0 bus 0 target 6 lun 0
> sa0: <HP HP35470A T603> Removable Sequential Access SCSI-2 device
> sa0: 5.000MB/s transfers (5.000MHz, offset 8)
> da0 at ahc0 bus 0 target 0 lun 0
> da0: <IBM DDYS-T18350N SA2A> Fixed Direct Access SCSI-3 device
> da0: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled
> da0: 17501MB (35843670 512 byte sectors: 64H 32S/T 17501C)
> da1 at ahc0 bus 0 target 1 lun 0
> da1: <IBM DDYS-T18350N S96H> Fixed Direct Access SCSI-3 device
> da1: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled
> da1: 17501MB (35843670 512 byte sectors: 64H 32S/T 17501C)
> Mounting root from ufs:/dev/da0s1a
> cd0 at ahc0 bus 0 target 4 lun 0
> cd0: <PLEXTOR CD-ROM PX-40TS 1.14> Removable CD-ROM SCSI-2 device
> cd0: 20.000MB/s transfers (20.000MHz, offset 15)
> cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
> WARNING: / was not properly dismounted
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
>

-- 
Doug White                    |  FreeBSD: The Power to Serve
dwhite at gumbysoft.com          |  www.FreeBSD.org


More information about the freebsd-stable mailing list