From owner-freebsd-stable@FreeBSD.ORG Sat Feb 12 04:08:20 2005 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4E97D16A4CE for ; Sat, 12 Feb 2005 04:08:20 +0000 (GMT) Received: from smtp805.mail.sc5.yahoo.com (smtp805.mail.sc5.yahoo.com [66.163.168.184]) by mx1.FreeBSD.org (Postfix) with SMTP id B7DF143D49 for ; Sat, 12 Feb 2005 04:08:19 +0000 (GMT) (envelope-from noackjr@alumni.rice.edu) Received: from unknown (HELO optimator.noacks.org) (noacks@swbell.net@70.240.203.66 with login) by smtp805.mail.sc5.yahoo.com with SMTP; 12 Feb 2005 04:08:19 -0000 Received: from localhost (localhost [127.0.0.1]) by optimator.noacks.org (Postfix) with ESMTP id 4ECB0615B; Fri, 11 Feb 2005 22:08:09 -0600 (CST) Received: from optimator.noacks.org ([127.0.0.1]) by localhost (optimator.noacks.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 00612-03; Fri, 11 Feb 2005 22:08:02 -0600 (CST) Received: from compgeek.noacks.org (compgeek [192.168.1.10]) by optimator.noacks.org (Postfix) with ESMTP id BD77161B8; Fri, 11 Feb 2005 22:08:02 -0600 (CST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by compgeek.noacks.org (8.13.1/8.13.1) with ESMTP id j1C482qH009838; Fri, 11 Feb 2005 22:08:02 -0600 (CST) (envelope-from noackjr@alumni.rice.edu) Message-ID: <420D8122.8090401@alumni.rice.edu> Date: Fri, 11 Feb 2005 22:08:02 -0600 From: Jon Noack User-Agent: Mozilla Thunderbird 1.0 (X11/20050202) X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-stable@freebsd.org Content-Type: multipart/mixed; boundary="------------030703020709030201060601" X-Virus-Scanned: amavisd-new at noacks.org cc: jroberson@chesapeake.net Subject: panic with ULE+PREEMPTION X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: noackjr@alumni.rice.edu List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2005 04:08:20 -0000 This is a multi-part message in MIME format. --------------030703020709030201060601 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit After the recent discussion on stable@, I decided to try ULE again. When attempting to log into Squirrelmail on my RELENG_5 server (sources from late Wednesday night), I got the following panic: Fatal trap 12: page fault while in kernel mode cpuid = 1; apic id = 01 fault virtual address = 0x150 fault code = supervisor read, page not present instruction pointer = 0x8:0xc04e1152 stack pointer = 0x10:0xe4de1a4c frame pointer = 0x10:0xe4de1a70 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = resume, IOPL = 0 current process = 36 (swi1: net) Although I have KDB and DDB configured (see attached kernel config file), I was unable to enter DDB via Ctrl+Alt+Esc. It just hung at the panic message. Any tips on how to get DDB to work? On a related note, I guess swap on gmirror cannot be a dumpdev: dumpon: ioctl(DIOCSKERNELDUMP): Operation not supported swapon: adding /dev/mirror/mirror0s1b as swap device In any case, here's what I got out of gdb: (gdb) l *0xc04e1152 0xc04e1152 is in sched_add_internal (/usr/src/sys/kern/sched_ule.c:1696). 1691 1692 CTR5(KTR_SCHED, "sched_add: %p(%s) prio %d by %p(%s)", 1693 td, td->td_proc->p_comm, td->td_priority, curthread, 1694 curthread->td_proc->p_comm); 1695 mtx_assert(&sched_lock, MA_OWNED); 1696 ke = td->td_kse; 1697 kg = td->td_ksegrp; 1698 if (ke->ke_flags & KEF_ASSIGNED) { 1699 if (ke->ke_flags & KEF_REMOVED) { 1700 SLOT_USE(ke->ke_ksegrp); I use Squirrelmail only for convenience, so I'll leave the config as is in case anyone can help me debug further. Note that this is reproducible *every* time I login to Squirrelmail (click "login" and near instant panic -- sometimes the page starts to load, but never finishes). IMAP access through Thunderbird works perfectly. Thanks, Jon P.S. The gmirror errors at the bottom of the dmesg are due to a failed drive that is being RMA'd. I feel very vulnerable now... ;-) --------------030703020709030201060601 Content-Type: text/plain; name="OPTIMATOR" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="OPTIMATOR" # # OPTIMATOR -- Optimator kernel configuration file # version 4.0 # 2005/02/10 # machine i386 cpu I686_CPU ident OPTIMATOR # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols options SCHED_ULE # ULE scheduler #options SCHED_4BSD # 4BSD scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options MD_ROOT # MD is a potential root device options NFSCLIENT # Network Filesystem Client options NFSSERVER # Network Filesystem Server options NFS_ROOT # NFS usable as /, requires NFSCLIENT options MSDOSFS # MSDOS Filesystem options CD9660 # ISO 9660 Filesystem options PROCFS # Process filesystem (requires PSEUDOFS) options PSEUDOFS # Pseudo-filesystem framework options GEOM_GPT # GUID Partition Tables. options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] options COMPAT_FREEBSD4 # Compatible with FreeBSD4 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options SYSVSHM # SYSV-style shared memory options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev options AHC_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~128k to driver. options AHD_REG_PRETTY_PRINT # Print register bitfields in debug # output. Adds ~215k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. # Debugging for use in -current options KDB # Enable kernel debugger support. options KDB_TRACE # Print a stack trace of the current thread on the console for a panic. options DDB # Support DDB. options GDB # Support remote GDB. #options INVARIANTS # Enable calls of extra sanity checking #options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS #options WITNESS # Enable checks to detect deadlocks and cycles #options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed # Zero copy sockets support. This enables "zero copy" for sending and # receving data via a socket. The send side works for any type of NIC, # the receive side only works for NICs that support MTUs greater than the # page size of your architecture and that support header splitting. See # zero_copy(9) for more details. options ZERO_COPY_SOCKETS # Increase HZ options HZ=1000 # set granularity of operation to 1ms # To make an SMP kernel, the next two are needed options SMP # Symmetric MultiProcessor Kernel device apic # I/O APIC # Bus support. Do not remove isa, even if you have no isa slots device isa device pci # Floppy drives device fdc # ATA and ATAPI devices device ata device atadisk # ATA disk drives device ataraid # ATA RAID drives device atapicd # ATAPI CDROM drives options ATA_STATIC_ID # Static device numbering # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc # AT keyboard controller device atkbd # AT keyboard device psm # PS/2 mouse device vga # VGA video card driver device splash # Splash screen and screen saver support # syscons is the default console driver, resembling an SCO console device sc device agp # support several AGP chipsets # Floating point support - do not disable. device npx # Power management support (see NOTES for more options) #device apm # Add suspend/resume support for the i8254. device pmtimer # Serial (COM) ports device sio # 8250, 16[45]50 based serial ports # PCI Ethernet NICs. device em # Intel PRO/1000 adapter Gigabit Ethernet Card # 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 dc # DEC/Intel 21143 and various workalikes # Pseudo devices - the number indicates how many units to allocate. device loop # Network loopback device mem # Memory and kernel memory devices device io # I/O device device random # Entropy device device ether # Ethernet support device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! device bpf # Berkeley packet filter --------------030703020709030201060601 Content-Type: text/plain; name="dmesg" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dmesg" GDB: no debug ports present KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2005 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 5.3-STABLE #4: Fri Feb 11 20:55:47 CST 2005 root@optimator.noacks.org:/usr/obj/usr/src/sys/OPTIMATOR Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel Pentium III (931.81-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x686 Stepping = 6 Features=0x383fbff real memory = 1072693248 (1023 MB) avail memory = 1040175104 (991 MB) ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 ACPI: overriding DSDT/SSDT with custom table ACPI-0377: *** Info: Table [DSDT] replaced by host OS ioapic0 irqs 0-23 on motherboard npx0: on motherboard npx0: INT 16 interface acpi0: on motherboard acpi0: Power Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0 cpu0: on acpi0 cpu1: on acpi0 acpi_button0: on acpi0 pcib0: port 0x6000-0x607f,0x5000-0x500f,0x4080-0x40ff,0x4000-0x407f,0xcf8-0xcff on acpi0 pci0: on pcib0 agp0: mem 0xd0000000-0xd3ffffff at device 0.0 on pci0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pci1: at device 0.0 (no driver attached) isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0xc000-0xc00f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 7.1 on pci0 ata0: channel #0 on atapci0 ata1: channel #1 on atapci0 pci0: at device 7.4 (no driver attached) em0: port 0xcc00-0xcc3f mem 0xd9000000-0xd901ffff,0xd9020000-0xd903ffff irq 17 at device 11.0 on pci0 em0: Ethernet address: 00:07:e9:0d:67:2c em0: Speed:N/A Duplex:N/A pci0: at device 12.0 (no driver attached) atapci1: port 0xe400-0xe4ff,0xe000-0xe003,0xdc00-0xdc07,0xd800-0xd803,0xd400-0xd407 irq 18 at device 14.0 on pci0 ata2: channel #0 on atapci1 ata3: channel #1 on atapci1 fdc0: port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0 fd0: <1440-KB 3.5" drive> on fdc0 drive 0 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A, console sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 sio1: type 16550A pmtimer0 on isa0 orm0: at iomem 0xd4000-0xd4fff,0xc0000-0xcffff on isa0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 atkbdc0: at port 0x64,0x60 on isa0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 Timecounters tick every 1.000 msec ad6: 190782MB [387621/16/63] at ata3-master UDMA100 GEOM_MIRROR: Device mirror0 created (id=1722699553). GEOM_MIRROR: Device mirror0: provider ad6 detected. GEOM_MIRROR: Force device mirror0 start due to timeout. GEOM_MIRROR: Device mirror0: provider ad6 activated. GEOM_MIRROR: Device mirror0: provider mirror/mirror0 launched. SMP: AP CPU #1 Launched! Mounting root from ufs:/dev/mirror/mirror0s1a WARNING: / was not properly dismounted em0: Link is up 1000 Mbps Full Duplex --------------030703020709030201060601--