Date: Thu, 17 Jan 2002 12:37:20 +0100 (CET) From: Ruben van Staveren <ruben@verweg.com> To: FreeBSD-gnats-submit@freebsd.org Subject: i386/33986: SMP and audio causes hard lockups (random) Message-ID: <200201171137.g0HBbK708374@helium-vw.xs4all.nl>
next in thread | raw e-mail | index | archive | help
>Number: 33986
>Category: i386
>Synopsis: SMP and audio causes hard lockups (random)
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Jan 17 03:40:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Ruben van Staveren
>Release: FreeBSD 4.5-RC i386
>Organization:
Verweg dot Com
>Environment:
System: FreeBSD helium.verweg.com 4.5-RC FreeBSD 4.5-RC #1: Sat Jan 12 14:08:38 CET 2002 root@helium.verweg.com:/usr/obj/usr/cvsup/4.0-stable/src/sys/GENERIC-SMP i386
Motherboard is a ASUS P2B-DS, Bios rev. 1012B
Copyright (c) 1992-2002 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.5-RC #1: Sat Jan 12 14:08:38 CET 2002
root@helium.verweg.com:/usr/obj/usr/cvsup/4.0-stable/src/sys/GENERIC-SMP
Timecounter "i8254" frequency 1193182 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (400.91-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x652 Stepping = 2
Features=0x183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory = 268423168 (262132K bytes)
avail memory = 257302528 (251272K bytes)
Programming 24 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
FreeBSD/SMP: Multiprocessor motherboard
cpu0 (BSP): apic id: 1, version: 0x00040011, at 0xfee00000
cpu1 (AP): apic id: 0, version: 0x00040011, at 0xfee00000
io0 (APIC): apic id: 2, version: 0x00170011, at 0xfec00000
Preloaded elf kernel "kernel" at 0xc0398000.
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 7 entries at 0xc00f0d20
apm0: <APM BIOS> on motherboard
apm: found APM BIOS v1.2, connected at v1.2
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on motherboard
IOAPIC #0 intpin 19 -> irq 2
IOAPIC #0 intpin 18 -> irq 9
IOAPIC #0 intpin 17 -> irq 11
pci0: <PCI bus> on pcib0
pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device 1.0 on pci0
IOAPIC #0 intpin 16 -> irq 13
pci1: <PCI bus> on pcib1
pci1: <VGA-compatible display device> at 0.0 irq 13
isab0: <Intel 82371AB PCI to ISA bridge> at device 4.0 on pci0
isa0: <ISA bus> on isab0
pci0: <Intel PIIX4 ATA controller> at 4.1
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xd400-0xd41f irq 2 at device 4.2 on pci0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
Timecounter "PIIX" frequency 3579545 Hz
chip1: <Intel 82371AB Power management controller> port 0xe800-0xe80f at device 4.3 on pci0
ahc0: <Adaptec aic7890/91 Ultra2 SCSI adapter> port 0xd000-0xd0ff mem 0xe0800000-0xe0800fff irq 2 at device 6.0 on pci0
aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/255 SCBs
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0xb800-0xb81f mem 0xe0000000-0xe00fffff,0xe3000000-0xe3000fff irq 2 at device 9.0 on pci0
fxp0: Ethernet address 00:90:27:35:f5:2f
inphy0: <i82555 10/100 media interface> on miibus0
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp1: <Intel Pro 10/100B/100+ Ethernet> port 0xb400-0xb43f mem 0xdf000000-0xdf0fffff,0xdf800000-0xdf800fff irq 9 at device 10.0 on pci0
fxp1: Ethernet address 00:90:27:90:19:ba
inphy1: <i82555 10/100 media interface> on miibus1
inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pci0: <unknown card> (vendor=0x1274, dev=0x5000) at 11.0 irq 11
orm0: <Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff 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 MouseMan+, device ID 0
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
ppi0: <Parallel I/O> on ppbus0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: routing 8254 via IOAPIC #0 intpin 2
DUMMYNET initialized (011031)
IPv6 packet filtering initialized, logging disabled
IP packet filtering initialized, divert enabled, rule-based forwarding enabled, default to deny, logging disabled
Waiting 5 seconds for SCSI devices to settle
SMP: AP CPU #1 Launched!
Mounting root from ufs:/dev/da0s1a
da0 at ahc0 bus 0 target 6 lun 0
da0: <IBM DDRS-39130D DC1B> Fixed Direct Access SCSI-2 device
da0: 80.000MB/s transfers (40.000MHz, offset 15, 16bit), Tagged Queueing Enabled
da0: 8715MB (17850000 512 byte sectors: 255H 63S/T 1111C)
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
# http://www.FreeBSD.org/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ./LINT configuration file. If you are
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.37 2001/12/19 18:34:45 iedowse Exp $
machine i386
cpu I586_CPU
cpu I686_CPU
ident GENERIC-SMP
maxusers 0
#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
options MATH_EMULATE #Support for x87 emulation
options INET #InterNETworking
options INET6 #IPv6 communications protocols
options FFS #Berkeley Fast Filesystem
options FFS_ROOT #FFS usable as root device [keep this!]
options SOFTUPDATES #Enable FFS soft updates support
options UFS_DIRHASH #Improve performance on big directories
options MFS #Memory Filesystem
options MD_ROOT #MD is a potential root device
options NFS #Network Filesystem
options NFS_ROOT #NFS usable as root device, NFS required
options MSDOSFS #MSDOS Filesystem
options CD9660 #ISO 9660 Filesystem
options CD9660_ROOT #CD-ROM usable as root, CD9660 required
options PROCFS #Process filesystem
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI
options UCONSOLE #Allow users to grab the console
options USERCONFIG #boot -c editor
options VISUAL_USERCONFIG #visual boot -c editor
options KTRACE #ktrace(1) support
options SYSVSHM #SYSV-style shared memory
options SYSVMSG #SYSV-style message queues
options SYSVSEM #SYSV-style semaphores
options P1003_1B #Posix P1003_1B real-time extensions
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM #Rate limit bad replies
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
# To make an SMP kernel, the next two are needed
options SMP # Symmetric MultiProcessor Kernel
options APIC_IO # Symmetric (APIC) I/O
device isa
device eisa
device pci
# Floppy drives
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
device fd1 at fdc0 drive 1
#
# If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,
# don't use the above line for fdc0 but the following one:
#device fdc0
device ahc # AHA2940 and onboard AIC7xxx devices
# SCSI peripherals
device scbus # SCSI bus (required)
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12
device vga0 at isa?
# splash screen/screen saver
pseudo-device splash
# syscons is the default console driver, resembling an SCO console
device sc0 at isa? flags 0x100
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device vt0 at isa?
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options PCVT_SCANSET=2 # IBM keyboards are non-std
# Floating point support - do not disable.
device npx0 at nexus? port IO_NPX irq 13
# Power management support (see LINT for more options)
# device apm0 at nexus? disable flags 0x20 # Advanced Power Management
device apm0
# Serial (COM) ports
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? disable port IO_COM3 irq 5
device sio3 at isa? disable port IO_COM4 irq 9
# Parallel port
device ppc0 at isa? irq 7
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
device ppi # Parallel port interface device
#device vpo # Requires scbus and da
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
# Pseudo devices - the number indicates how many units to allocate.
pseudo-device loop # Network loopback
pseudo-device ether # Ethernet support
pseudo-device sl 1 # Kernel SLIP
pseudo-device ppp 1 # Kernel PPP
pseudo-device tun # Packet tunnel.
pseudo-device pty # Pseudo-ttys (telnet etc)
pseudo-device md # Memory "disks"
pseudo-device gif # IPv6 and IPv4 tunneling
pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)
# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device bpf #Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
device ugen # Generic
device uhid # "Human Interface Devices"
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device uscanner # Scanners
device urio # Diamond Rio MP3 Player
# USB Ethernet, requires mii
device aue # ADMtek USB ethernet
device cue # CATC USB ethernet
device kue # Kawasaki LSI USB ethernet
options IPFIREWALL #firewall
options IPFIREWALL_FORWARD #enable transparent proxy support
options IPV6FIREWALL #firewall for IPv6
options IPDIVERT #divert sockets
options IPSTEALTH #support for stealth forwarding
options DUMMYNET
options USER_LDT #allow user-level control of i386 ldt
# Disk quotas are supported when this option is enabled.
options QUOTA #enable disk quotas
===============================================================================
MPTable, version 2.0.15
looking for EBDA pointer @ 0x040e, found, searching EBDA @ 0x0009f800
searching CMOS 'top of mem' @ 0x0009f400 (637K)
searching default 'top of mem' @ 0x0009fc00 (639K)
searching BIOS @ 0x000f0000
MP FPS found in BIOS @ physical addr: 0x000f6ed0
-------------------------------------------------------------------------------
MP Floating Pointer Structure:
location: BIOS
physical address: 0x000f6ed0
signature: '_MP_'
length: 16 bytes
version: 1.4
checksum: 0x59
mode: Virtual Wire
-------------------------------------------------------------------------------
MP Config Table Header:
physical address: 0x000f6ace
signature: 'PCMP'
base table length: 268
version: 1.4
checksum: 0x41
OEM ID: 'OEM00000'
Product ID: 'PROD00000000'
OEM table pointer: 0x00000000
OEM table size: 0
entry count: 25
local APIC address: 0xfee00000
extended table length: 124
extended table checksum: 192
-------------------------------------------------------------------------------
MP Config Base Table Entries:
--
Processors: APIC ID Version State Family Model Step Flags
1 0x11 BSP, usable 6 5 2 0x183fbff
0 0x11 AP, usable 6 5 2 0x183fbff
--
Bus: Bus ID Type
0 PCI
1 PCI
2 ISA
--
I/O APICs: APIC ID Version State Address
2 0x11 usable 0xfec00000
--
I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN#
ExtINT conforms conforms 2 0 2 0
INT conforms conforms 2 1 2 1
INT conforms conforms 2 0 2 2
INT conforms conforms 2 3 2 3
INT conforms conforms 2 4 2 4
INT conforms conforms 2 5 2 5
INT conforms conforms 2 6 2 6
INT conforms conforms 2 7 2 7
INT conforms conforms 2 8 2 8
INT conforms conforms 2 10 2 10
INT conforms conforms 2 12 2 12
INT active-lo level 1 0:A 2 16
INT active-lo level 0 4:D 2 19
INT active-lo level 0 6:A 2 19
INT active-lo level 0 9:A 2 19
INT active-lo level 0 10:A 2 18
INT active-lo level 0 11:A 2 17
--
Local Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN#
ExtINT active-hi edge 2 0 255 0
NMI active-hi edge 2 0 255 1
-------------------------------------------------------------------------------
MP Config Extended Table Entries:
--
System Address Space
bus ID: 0 address type: I/O address
address base: 0x0
address range: 0x10000
--
System Address Space
bus ID: 0 address type: memory address
address base: 0x10000000
address range: 0xd2e00000
--
System Address Space
bus ID: 0 address type: prefetch address
address base: 0xe2e00000
address range: 0x5200000
--
System Address Space
bus ID: 0 address type: memory address
address base: 0xe8000000
address range: 0x18000000
--
System Address Space
bus ID: 0 address type: memory address
address base: 0xa0000
address range: 0x20000
--
Bus Heirarchy
bus ID: 2 bus info: 0x01 parent bus ID: 0
--
Compatibility Bus Address
bus ID: 0 address modifier: add
predefined range: 0x00000000
--
Compatibility Bus Address
bus ID: 0 address modifier: add
predefined range: 0x00000001
===============================================================================
/boot/loader.conf
#snd_es137x_load="YES" # es1370/es1371/es1373/ct5880 pci
>Description:
Message-ID: <20020116092057.GA11305@erg.verweg.com>
References: <20020104101054.A26506@mikea.ath.cx> <20020104160606.F46320-100000@galatea.internal.lustygrapes.net>
On Mon, Jan 07, 2002 at 07:55:14PM +0100, Ruben van Staveren wrote:
> These hangs seem very similar to what I am experiencing and wrote earlier
> about in message id's <20011115205310.A13588@erg.verweg.com> and
> <20011226235825.A9317@erg.verweg.com>
> > I've recompiled almost everything on my system that possibly could interact
> with kernel internals. I set my bios to MPS 1.4 specification (I still wonder
> what it does, has something to do with interrupt assignment ?) but still
> these lockups while running a SMP kernel. Uniprocessor is just fine.
> > For the moment I have unloaded my audio device drivers from loader.conf
> (FYI, it is an AudioPCI ES1370 card (SB 128 PCI))
System is running just fine ever since, putting back in the audio support
makes it unstable again.
Lockups show up in a couple of minutes or after several hours and always when
running a X session.
>How-To-Repeat:
Load audiodrivers, run GENERIC-SMP kernel on a ASUS P2B-DS
start a xsession with either a windowmaker or gnome desktop and
your lockup will show up sooner or later. Not necessarely when playing audio,
and load does not seem to be a factor too. System lockups hard and good.
No break to serial debugger possible. Sometimes the system may unlock to lockup
again after a few minutes
Trying to hog the system with either mplayer or xmms may speed things up
It was also mentioned by other people that running a dnetc client made the
system unstable, but my case seems to be the audio <-> SMP interaction.
The hard lockups where introduced sometime after 4.3-RELEASE, and it worked
with no instability issues before.
>Fix:
I haven't the faintest idea, but a good starting point would be scrutinizing
the changelogs/changes of the SMP and (new)pcm subsystems.
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200201171137.g0HBbK708374>
