NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/40947: Thinkpad panics during shutdown



>Number:         40947
>Category:       kern
>Synopsis:       Thinkpad panics, then hangs during shutdown
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Mar 03 12:00:00 +0000 2009
>Originator:     Hauke Fath
>Release:        NetBSD 5.0_RC2
>Organization:
        
>Environment:
        
        
System: NetBSD Kolm 5.0_RC2 NetBSD 5.0_RC2 (TP380D) #0: Mon Mar 2 17:20:34 CET 
2009 hf@Hochstuhl:/var/obj/netbsd-builds/5/i386/sys/arch/i386/compile/TP380D 
i386
Architecture: i386
Machine: i386
>Description:

        A Thinkpad 380D (Pentium 150 MHz, 80 MB RAM) with a DIAGNOSTIC +
        DEBUG kernel panics during shutdown with 

        panic: cpu_switchto: switching above IPL_SCHED (8)

        See output at
        <http://www.spg.tu-darmstadt.de/~hf/netbsd/tp380d-nbsd5-panic.jpg>.

>How-To-Repeat:

        Install DIAGNOSTIC / DEBUG kernel on Thinkpad 380D, reboot.

        'config -x /netbsd' output:

### START CONFIG FILE "/public/netbsd-5/sys/arch/i386/conf/TP380D"
# IBM Thinkpad 380D kernel config

include         "arch/i386/conf/std.i386"

options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary

maxusers        16              # estimated number of users

makeoptions     CPUFLAGS="-Os -pipe -march=pentium"

# CPU-related options.
options         VM86            # virtual 8086 emulation
options         USER_LDT        # user-settable LDT; used by WINE

options         MULTIBOOT       # Multiboot support (see multiboot(8))

# delay between "rebooting ..." message and hardware reset, in milliseconds
#options        CPURESET_DELAY=2000

# Standard system options

options         INSECURE        # disable kernel security levels - X needs this

options         RTC_OFFSET=-60  # hardware clock is this many mins. west of GMT
options         NTP             # NTP phase/frequency locked loop

options         KTRACE          # system call tracing via ktrace(1)

# Note: SysV IPC parameters could be changed dynamically, see sysctl(8).
options         SYSVMSG         # System V-like message queues
options         SYSVSEM         # System V-like semaphores
options         SYSVSHM         # System V-like memory sharing
options         P1003_1B_SEMAPHORE      # p1003.1b semaphore support

options         USERCONF        # userconf(4) support
#options        PIPE_SOCKETPAIR # smaller, but slower pipe(2)
options         SYSCTL_INCLUDE_DESCR    # Include sysctl descriptions in kernel

# Alternate buffer queue strategies for better responsiveness under high
# disk I/O load.
#options        BUFQ_READPRIO
options         BUFQ_PRIOCSCAN

# Diagnostic/debugging support options
options         DIAGNOSTIC      # expensive kernel consistency checks
options         DEBUG           # expensive debugging checks/support
#options        KMEMSTATS       # kernel memory statistics (vmstat -m)
options         DDB             # in-kernel debugger
#options        DDB_ONPANIC=1   # see also sysctl(8): `ddb.onpanic'
options         DDB_HISTORY_SIZE=512    # enable history editing in DDB
#options        DDB_VERBOSE_HELP
#options        KGDB            # remote debugger
#options        KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
#makeoptions    DEBUG="-g"      # compile full symbol table
#options        SYSCALL_STATS   # per syscall counts
#options        SYSCALL_TIMES   # per syscall times
#options        SYSCALL_TIMES_HASCOUNTER        # use 'broken' rdtsc (soekris)

# Compatibility options
options         COMPAT_30       # NetBSD 3.0
options         COMPAT_30_PTHREAD # NetBSD 3.0 pthreads compatibility.
options         COMPAT_40       # NetBSD 4.0

options         COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility
options         COMPAT_LINUX    # binary compatibility with Linux

options         COMPAT_BSDPTY   # /dev/[pt]ty?? ptys.

# Wedge support
options         DKWEDGE_AUTODISCOVER    # Automatically add dk(4) instances
options         DKWEDGE_METHOD_GPT      # Supports GPT partitions as wedges
# The following two options can break /etc/fstab, so handle with care
#options        DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges
#options        DKWEDGE_METHOD_MBR      # Support MBR partitions as wedges

# File systems
file-system     FFS             # UFS
file-system     NFS             # Network File System client
file-system     NTFS            # Windows/NT file system (experimental)
file-system     CD9660          # ISO 9660 + Rock Ridge file system
file-system     MSDOSFS         # MS-DOS file system
file-system     FDESC           # /dev/fd
file-system     KERNFS          # /kern
file-system     NULLFS          # loopback file system
file-system     PROCFS          # /proc
file-system     PTYFS           # /dev/ptm support
file-system     TMPFS           # Efficient memory file-system
file-system     PUFFS           # Userspace file systems (e.g. ntfs-3g & sshfs)

# File system options
options         WAPBL           # File system journaling support - Experimental
options         NFSSERVER       # Network File System server

# Networking options
options         INET            # IP + ICMP + TCP + UDP
options         INET6           # IPV6
#options        IPSEC           # IP security
#options        IPSEC_ESP       # IP security (encryption part; define w/IPSEC)
#options        IPSEC_NAT_T     # IPsec NAT traversal (NAT-T)
#options        IPSEC_DEBUG     # debug for IP security
#options        MROUTING        # IP multicast routing
#options        PIM             # Protocol Independent Multicast
options         PPP_BSDCOMP     # BSD-Compress compression support for PPP
options         PPP_DEFLATE     # Deflate compression support for PPP
options         PPP_FILTER      # Active filter support for PPP (requires bpf)
options         PFIL_HOOKS      # pfil(9) packet filter hooks
options         IPFILTER_LOG    # ipmon(8) log support
options         IPFILTER_LOOKUP # ippool(8) support
#options        IPFILTER_DEFAULT_BLOCK  # block all packets by default
#options        TCP_DEBUG       # Record last TCP_NDEBUG packets with SO_DEBUG

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
options         MIIVERBOSE      # verbose PHY autoconfig messages
options         PCIVERBOSE      # verbose PCI device autoconfig messages
#options        PCI_CONFIG_DUMP # verbosely dump PCI config space
options         PCMCIAVERBOSE   # verbose PCMCIA configuration messages
options         SCSIVERBOSE     # human readable SCSI error messages

options         NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM

#
# wscons options
#
# builtin terminal emulations
options         WSEMUL_VT100            # VT100 / VT220 emulation
# customization of console and kernel output - see dev/wscons/wsdisplayvar.h
options         WSDISPLAY_CUSTOM_OUTPUT # color customization from wsconsctl(8)
#options        WS_DEFAULT_FG=WSCOL_WHITE
#options        WS_DEFAULT_BG=WSCOL_BLACK
#options        WS_DEFAULT_COLATTR="(0)"
#options        WS_DEFAULT_MONOATTR="(0)"
options         WS_KERNEL_FG=WSCOL_GREEN
#options        WS_KERNEL_BG=WSCOL_BLACK
#options        WS_KERNEL_COLATTR=""
#options        WS_KERNEL_MONOATTR=""
# customization of console border color
options         WSDISPLAY_CUSTOM_BORDER # custom border colors via wsconsctl(8)
#options        WSDISPLAY_BORDER_COLOR=WSCOL_BLUE       # default color
# compatibility to other console drivers
options         WSDISPLAY_COMPAT_PCVT           # emulate some ioctls
options         WSDISPLAY_COMPAT_SYSCONS        # emulate some ioctls
options         WSDISPLAY_COMPAT_USL            # VT handling
options         WSDISPLAY_COMPAT_RAWKBD         # can get raw scancodes
#options        WSKBD_EVENT_AUTOREPEAT          # auto repeat in event mode
# don't attach pckbd as the console if no PS/2 keyboard is found
options         PCKBD_CNATTACH_MAY_FAIL
# see dev/pckbport/wskbdmap_mfii.c for implemented layouts
options         PCKBD_LAYOUT="(KB_DE | KB_NODEAD)" # for pckbd driver
options         UKBD_LAYOUT="(KB_DE | KB_NODEAD)"  # for ukbd driver
# allocate a number of virtual screens at autoconfiguration time
#options        WSDISPLAY_DEFAULTSCREENS=4
# use a large software cursor that doesn't blink
options         PCDISPLAY_SOFTCURSOR
# console scrolling support.
options         WSDISPLAY_SCROLLSUPPORT

# Kernel root file system and dump configuration.
config          netbsd  root on wd0a type ffs

#
# Device configuration
#

apm0    at mainbus0                     # Advanced power management

# Tuning for power management, see apm(4) for more details.
#options        APM_NO_IDLE             # Don't call BIOS CPU idle function
#options        APM_V10_ONLY            # Use only the APM 1.0 calls
#options        APM_NO_POWEROFF         # Don't power off on halt(8)
#options        APM_POWER_PRINT         # Print stats on the console

# For IBM Thinkpads
options         APM_DISABLE_INTERRUPTS=0 # Don't disable interrupts
options         APMDEBUG

# Basic Bus Support

options         VGA_POST                # in-kernel support for VGA POST


# PCI bus support
pci*    at mainbus? bus ?
pci*    at pchb? bus ?

# Configure PCI using BIOS information
#options        PCIBIOS                 # PCI BIOS support
#options        PCIBIOSVERBOSE          # PCI BIOS verbose info
#options        PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11
#options        PCIBIOS_INTR_GUESS      # see pcibios(4)
#options        PCIBIOS_LIBRETTO_FIXUP  # this code makes the Toshiba Libretto
                                        # L2/L3 work, but should not be enabled
                                        # on anything else.
#options        PCIBIOS_SHARP_MM20_FIXUP # this code makes the Sharp MM 20
                                        # work, but should not be enabled
                                        # on anything else.
#options        PCIINTR_DEBUG           # super-verbose PCI interrupt fixup

# PCI fixups, for both PCIBIOS and ACPI
#options        PCI_ADDR_FIXUP          # fixup PCI I/O addresses
#options        PCI_BUS_FIXUP           # fixup PCI bus numbering
#options        PCI_INTR_FIXUP          # fixup PCI interrupt routing

pchb*   at pci? dev ? function ?        # PCI-Host bridges
pcib*   at pci? dev ? function ?        # PCI-ISA bridges

# ISA bus support
isa0    at pcib?

# PCMCIA bus support
pcmcia* at pcic? controller ? socket ?

# PCI PCMCIA controllers
pcic0   at pci? dev? function ?

# Coprocessor Support

# Math Coprocessor support
npx0    at isa? port 0xf0 irq 13        # x86 math coprocessor


# Console Devices

# wscons
pckbc0          at isa?                 # pc keyboard controller
pckbd*          at pckbc?               # PC keyboard
pms*            at pckbc?               # PS/2 mouse for wsmouse
#options        PMS_DISABLE_POWERHOOK   # Disable PS/2 reset on resume

vga*            at pci? dev ? function ?
wsdisplay*      at vga? console ?
wskbd*          at pckbd? console ?
wsmouse*        at pms? mux 0

attimer0        at isa?
pcppi0          at isa?
sysbeep0        at pcppi?


# Serial Devices

# PCMCIA serial interfaces
com*    at pcmcia? function ?           # Modems and serial cards

pcmcom* at pcmcia? function ?           # PCMCIA multi-port serial cards
com*    at pcmcom? slave ?              # ...and the slave devices

# ISA serial interfaces
com0    at isa? port 0x3f8 irq 4        # Standard PC serial ports
com1    at isa? port 0x2f8 irq 3

# Parallel Printer Interfaces

# ISA parallel printer interfaces
#lpt0   at isa? port 0x378 irq 7        # standard PC parallel ports
#lpt1   at isa? port 0x278
lpt2    at isa? port 0x3bc

# SCSI Controllers and Devices

# PCMCIA SCSI controllers
aic*    at pcmcia? function ?           # Adaptec APA-1460 SCSI
#esp*   at pcmcia? function ?           # Qlogic ESP406/FAS408 SCSI
#spc*   at pcmcia? function ?           # Fujitsu MB87030/MB89352 SCSI

# SCSI bus support
scsibus* at scsi?

# SCSI devices
sd*     at scsibus? target ? lun ?      # SCSI disk drives
#st*    at scsibus? target ? lun ?      # SCSI tape drives
#cd*    at scsibus? target ? lun ?      # SCSI CD-ROM drives
#ch*    at scsibus? target ? lun ?      # SCSI autochangers
#ses*   at scsibus? target ? lun ?      # SCSI Enclosure Services devices
#ss*    at scsibus? target ? lun ?      # SCSI scanners
uk*     at scsibus? target ? lun ?      # SCSI unknown


# ISA ST506, ESDI, and IDE controllers
# Use flags 0x01 if you want to try to use 32bits data I/O (the driver will
# fall back to 16bits I/O if 32bits I/O are not functional).
# Some controllers pass the initial 32bit test, but will fail later.
wdc0    at isa? port 0x1f0 irq 14 flags 0x00
wdc1    at isa? port 0x170 irq 15 flags 0x00

# ATA (IDE) bus support
atabus* at ata?
options ATADEBUG

# IDE drives
# Flags are used only with controllers that support DMA operations
# and mode settings (e.g. some pciide controllers)
# The lowest order four bits (rightmost digit) of the flags define the PIO
# mode to use, the next set of four bits the DMA mode and the third set the
# UltraDMA mode. For each set of four bits, the 3 lower bits define the mode
# to use, and the last bit must be 1 for this setting to be used.
# For DMA and UDMA, 0xf (1111) means 'disable'.
# 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'.
# (0xc=1100, 0xa=1010, 0xf=1111)
# 0x0000 means "use whatever the drive claims to support".
wd*     at atabus? drive ? flags 0x0000

# ATA RAID configuration support, as found on some Promise controllers.
pseudo-device   ataraid
ld*     at ataraid? vendtype ? unit ?

# ATAPI bus support
atapibus* at atapi?

# ATAPI devices
# flags have the same meaning as for IDE drives.
cd*     at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives
sd*     at atapibus? drive ? flags 0x0000       # ATAPI disk drives
st*     at atapibus? drive ? flags 0x0000       # ATAPI tape drives
uk*     at atapibus? drive ? flags 0x0000       # ATAPI unknown


# Miscellaneous mass storage devices

# ISA floppy
fdc0    at isa? port 0x3f0 irq 6 drq 2  # standard PC floppy controllers
fd*     at fdc? drive ?                 # the drives themselves

# Network Interfaces

# PCMCIA network interfaces
#an*    at pcmcia? function ?           # Aironet PC4500/PC4800 (802.11)
#awi*   at pcmcia? function ?           # BayStack 650/660 (802.11FH/DS)
cnw*    at pcmcia? function ?           # Xircom/Netwave AirSurfer
cs*     at pcmcia? function ?           # CS89xx Ethernet
ep*     at pcmcia? function ?           # 3Com 3c589 and 3c562 Ethernet
mbe*    at pcmcia? function ?           # MB8696x based Ethernet
ne*     at pcmcia? function ?           # NE2000-compatible Ethernet
#ray*   at pcmcia? function ?           # Raytheon Raylink (802.11)
sm*     at pcmcia? function ?           # Megahertz Ethernet
wi*     at pcmcia? function ?           # Lucent/Intersil WaveLan IEEE (802.11)
xirc*   at pcmcia? function ?           # Xircom CreditCard Ethernet
com*    at xirc?
xi*     at xirc?
mhzc*   at pcmcia? function ?           # Megahertz Ethernet/Modem combo cards
com*    at mhzc?
sm*     at mhzc?

# MII/PHY support
ukphy*  at mii? phy ?                   # generic unknown PHYs


# Audio Devices

# ISA audio devices
sb0     at isa? port 0x220 irq 5 drq 1 drq2 5   # SoundBlaster

# OPL[23] FM synthesizers
opl*    at sb?

# Audio support
audio*  at audiobus?

# MIDI support
midi*   at midibus?
midi*   at pcppi?               # MIDI interface to the PC speaker

# The spkr driver provides a simple tone interface to the built in speaker.
spkr0   at pcppi?               # PC speaker


# Pseudo-Devices

pseudo-device   crypto          # /dev/crypto device
pseudo-device   swcrypto        # software crypto implementation

# disk/mass storage pseudo-devices
pseudo-device   cgd             4       # cryptographic disk devices
pseudo-device   fss             4       # file system snapshot device

pseudo-device   md              1       # memory disk device (ramdisk)
options         MEMORY_DISK_HOOKS       # enable root ramdisk
options         MEMORY_DISK_DYNAMIC     # loaded via kernel module

pseudo-device   vnd                     # disk-like interface to files
options         VND_COMPRESSION         # compressed vnd(4)

# network pseudo-devices
pseudo-device   bpfilter                # Berkeley packet filter
pseudo-device   ipfilter                # IP filter (firewall) and NAT
pseudo-device   loop                    # network loopback
pseudo-device   ppp                     # Point-to-Point Protocol
pseudo-device   pppoe                   # PPP over Ethernet (RFC 2516)
pseudo-device   sl                      # Serial Line IP
pseudo-device   irframetty              # IrDA frame line discipline
pseudo-device   tap                     # virtual Ethernet
pseudo-device   tun                     # network tunneling over tty
pseudo-device   gre                     # generic L3 over IP tunnel
pseudo-device   gif                     # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device  faith                   # IPv[46] tcp relay translation i/f
pseudo-device   stf                     # 6to4 IPv6 over IPv4 encapsulation
pseudo-device   agr                     # IEEE 802.3ad link aggregation
#pseudo-device  pf                      # PF packet filter
#pseudo-device  pflog                   # PF log if

# miscellaneous pseudo-devices
pseudo-device   pty                     # pseudo-terminals
pseudo-device   sequencer       1       # MIDI sequencer
pseudo-device   rnd                     # /dev/random and in-kernel generator
pseudo-device   clockctl                # user control of clock subsystem
pseudo-device   ksyms                   # /dev/ksyms
pseudo-device   lockstat                # lock profiling

# wscons pseudo-devices
pseudo-device   wsmux                   # mouse & keyboard multiplexor
pseudo-device   wsfont

# cmos(4) pseudo-device
pseudo-device   cmos

# pseudo audio device driver
pseudo-device   pad

# userland interface to drivers, including autoconf and properties retrieval
pseudo-device   drvctl

# Pass-to-Userspace TransporTER, required for puffs(4) and pud(4)
pseudo-device   putter

options         FILEASSOC               # fileassoc(9) - required for Veriexec
### END CONFIG FILE "/public/netbsd-5/sys/arch/i386/conf/TP380D"
### (included from "arch/i386/conf/std.i386")
###> # $NetBSD: std.i386,v 1.28 2008/04/30 15:29:12 ad Exp $
###> #
###> # standard, required NetBSD/i386 'options'
###> 
###> machine i386 x86
###> include            "conf/std"      # MI standard options
###> 
###> options    EXEC_AOUT       # exec a.out binaries
###> options    EXEC_ELF32      # exec ELF binaries
###> options    EXEC_SCRIPT     # exec #! scripts
###> options    CPU_IN_CKSUM
###> #options   CRYPTO_MD_DES_ENC       # machine-dependant code for DES
###> #options   CRYPTO_MD_DES_CBC       # machine-dependant DES CBC code
###> #options   CRYPTO_MD_BF_ENC        # machine-dependant code for BF_encrypt
###> #options   CRYPTO_MD_BF_CBC        # careful: uses bswapl, requires 486
###> options            MULTIPROCESSOR          # multiprocessor supprot
###> options    MPBIOS                  # configure CPUs and APICs using MPBIOS
###> 
###> mainbus0 at root
###> cpu* at mainbus?
###> ioapic* at mainbus?
### (end include "arch/i386/conf/std.i386")
### (included from "conf/std")
###> # $NetBSD: std,v 1.9 2007/08/04 11:03:00 ad Exp $
###> #
###> # standard MI 'options'
###> #
###> # this file is for options which can't be off-by-default for some reasons.
###> # "it's commonly used" is NOT a good reason to enable options here.
###> 
###> # the following options are on-by-default to keep
###> # kernel config file compatibility.
###> options    VMSWAP          # Swap device/file support
###> options    BUFQ_FCFS       # First-come First-serve strategy
###> options    BUFQ_DISKSORT   # Traditional min seek sort strategy
###> options    RFC2292         # Previous version of Adv. Sockets API for IPv6 
###> options    PTRACE          # Include ptrace(2)
###> options    COREDUMP        # allow processes to coredump.
###> 
###> #
###> # Security model.
###> #
###> options secmodel_bsd44     # Traditional 4.4BSD security model
###> 
###> #
###> # Scheduling algorithm
###> #
###> options    SCHED_4BSD
###> 
###> pseudo-device      cpuctl
### (end include "conf/std")


>Fix:
        None.

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index