From owner-freebsd-current Mon Dec 10 10: 2:34 2001 Delivered-To: freebsd-current@freebsd.org Received: from bunrab.catwhisker.org (adsl-63-193-123-122.dsl.snfc21.pacbell.net [63.193.123.122]) by hub.freebsd.org (Postfix) with ESMTP id D9E9437B416 for ; Mon, 10 Dec 2001 10:02:25 -0800 (PST) Received: (from david@localhost) by bunrab.catwhisker.org (8.11.6/8.11.6) id fBAI2O850051 for current@freebsd.org; Mon, 10 Dec 2001 10:02:24 -0800 (PST) (envelope-from david) Date: Mon, 10 Dec 2001 10:02:24 -0800 (PST) From: David Wolfskill Message-Id: <200112101802.fBAI2O850051@bunrab.catwhisker.org> To: current@freebsd.org Subject: panic: blockable sleep lock (sleep mutex) with today's -CURRENT Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I managed to get a panic on my (SMP) "build machine" on the first reboot after building -CURRENT with sources updated from cvsup13 at around 4:22 AM US/Pacific (8 hrs. west of GMT/UTC) today. (My laptop is still working on the build from the same sources; it is nearing the end of the "buildworld" phase, and then will be going on to making a new kernel. Scratch that; it's building the kernel now.) Here's the part of what I see so far that appears relevant. This is a build machine (as noted); it is underutilized otherwise, so I can let it sit there in the debugger & try things out, if that would be of interest; I can also try patches & whatnot -- it has a local copy of the FreeBSD CVS repository, so that's no problem... as long as it's responsive at least to its serial console. (It's at home; I'm at work.) I can also make more detailed information available on a Web site, if folks would prefer that to spamming -current. OK, as promised: Mon Dec 10 05:41:01 PST 2001 FreeBSD/i386 (freebeast.catwhisker.org) (cuaa0) login: boot() called on cpu#1 Waiting (max 60 seconds) for system process `bufdaemon' to stop...stopped Waiting (max 60 seconds) for system process `syncer' to stop...stopped syncing disks... 66 66 60 60 53 53 45 45 37 37 29 29 23 23 17 17 9 9 2 2 done Uptime: 3h46m45s Rebooting... cpu_reset called on cpu#1 cpu_reset: Stopping other CPUs cpu_reset: Restarting BSP cpu_reset_proxy: Stopped CPU 1 Console: serial port BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 639kB/523200kB available memory FreeBSD/i386 bootstrap loader, Revision 1.0 (root@freebeast.catwhisker.org, Mon Dec 10 07:10:55 PST 2001) Loading /boot/defaults/loader.conf /boot/kernel/kernel text=0x1ff450 data=0x2b58c+0x627e8 syms=[0x4+0x33960+0x4+0x3f0a4] / Hit [Enter] to boot immediately, or any other key for command prompt. Booting [/boot/kernel/kernel]... /boot/kernel/acpi.ko text=0x34dfc data=0x1090+0xbf8 syms=[0x4+0x4c90+0x4+0x64c9] ... Copyright (c) 1992-2001 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.0-CURRENT #4: Mon Dec 10 07:38:06 PST 2001 root@freebeast.catwhisker.org:/common/S4/obj/usr/src/sys/FREEBEAST Preloaded elf kernel "/boot/kernel/kernel" at 0xc0445000. Preloaded elf module "/boot/kernel/acpi.ko" at 0xc04450a8. Calibrating clock(s) ... TSC clock: 876477435 Hz, i8254 clock: 1193298 Hz CLK_USE_I8254_CALIBRATION not specified - using default frequency Timecounter "i8254" frequency 1193182 Hz CLK_USE_TSC_CALIBRATION not specified - using old calibration method CPU: Pentium III/Pentium III Xeon/Celeron (876.40-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x68a Stepping = 10 Features=0x383fbff real memory = 536805376 (524224K bytes) Physical memory chunk(s): 0x00001000 - 0x0009efff, 647168 bytes (158 pages) 0x0046f000 - 0x1ffe7fff, 532123648 bytes (129913 pages) avail memory = 518000640 (505860K bytes) Programming 24 pins in IOAPIC #0 IOAPIC #0 intpin 2 -> irq 0 SMP: CPU0 apic_initialize(): lint0: 0x00000700 lint1: 0x00010400 TPR: 0x00000010 SVR: 0x000001ff FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): apic id: 0, version: 0x00040011, at 0xfee00000 cpu1 (AP): apic id: 1, version: 0x00040011, at 0xfee00000 io0 (APIC): apic id: 2, version: 0x00178011, at 0xfec00000 bios32: Found BIOS32 Service Directory header at 0xc00faf20 bios32: Entry = 0xfb390 (c00fb390) Rev = 0 Len = 1 ... ad0: success setting UDMA5 on VIA chip Creating DISK ad0 ad0: ATA-5 disk at ata0-master ad0: 39203MB (80288480 sectors), 79651 C, 16 H, 63 S, 512 B ad0: 16 secs/int, 1 depth queue, UDMA100 ad0: piomode=4 dmamode=2 udmamode=5 cblid=1 ... Mounting root from ufs:/dev/ad0s4a ad0s1: type 0xa5, start 63, end = 4192964, size 4192902 : OK ad0s2: type 0xa5, start 4192965, end = 8385929, size 4192965 : OK ad0s3: type 0xa5, start 8385930, end = 12578894, size 4192965 : OK ad0s4: type 0xa5, start 12578895, end = 80276804, size 67697910 : OK yMP: AP CPUs t#a1r tL_aiunnicth:e dt!r _SnMgP :/ sCbPiUn1/ ianpiitc initialize(): lint0: 0x00010700 lint1: 0x00010400 TPR: 0x00000010 SVR: 0x000001ff lock order reversal 1st 0xc038aa80 sched lock @ /usr/src/sys/kern/kern_intr.c:544 2nd 0xc0375120 sio @ /usr/src/sys/dev/sio/sio.c:3100 kernel trap 12 with interrupts disabled Fatal trap 12: page fault while in kernel mode cpuid = 1; lapic.id = 01000000 fault virtual address = 0x486 fault code = supervisor write, page not present instruction pointer = 0x8:0xc0365250 stack pointer = 0x10:0xff805f74 frame pointer = 0x10:0xc01b7d5f code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = resume, IOPL = 0 current process = 10 (idle: cpu1) kernel: type 12 trap, code=0 timeout stopping cpus Stopped at 0xc0365250: addb %dl,0(%ecx) db> trace w_locklistdata(1c03408,68000000,4f5,2d77a068,68006ac0) at 0xc0365250 db> show witness Sleep locks: 0 Giant -- last acquired @ /usr/src/sys/kern/kern_intr.c:531 1 taskqueue list -- last acquired @ /usr/src/sys/kern/subr_taskqueue.c:85 1 mbuf PCPU list lock -- last acquired @ /usr/src/sys/kern/subr_mbuf.c:784 1 eventhandler -- last acquired @ /usr/src/sys/kern/subr_eventhandler.c:78 3 lockmgr -- last acquired @ /usr/src/sys/kern/kern_lock.c:505 3 malloc -- last acquired @ /usr/src/sys/kern/kern_malloc.c:153 3 zone -- last acquired @ /usr/src/sys/vm/vm_zone.c:475 1 sf_bufs list lock -- last acquired @ /usr/src/sys/kern/uipc_syscalls.c:1530 3 lockmgr -- last acquired @ /usr/src/sys/kern/kern_lock.c:505 3 malloc -- last acquired @ /usr/src/sys/kern/kern_malloc.c:153 3 zone -- last acquired @ /usr/src/sys/vm/vm_zone.c:475 1 rl0 -- last acquired @ /usr/src/sys/pci/if_rl.c:842 2 rman -- last acquired @ /usr/src/sys/kern/subr_rman.c:129 3 malloc -- last acquired @ /usr/src/sys/kern/kern_malloc.c:153 2 bpf global lock -- last acquired @ /usr/src/sys/net/bpf.c:1223 2 ithread -- last acquired @ /usr/src/sys/kern/kern_intr.c:269 3 lockmgr -- last acquired @ /usr/src/sys/kern/kern_lock.c:505 3 malloc -- last acquired @ /usr/src/sys/kern/kern_malloc.c:153 3 zone -- last acquired @ /usr/src/sys/vm/vm_zone.c:475 3 fork list -- last acquired @ /usr/src/sys/kern/kern_fork.c:646 3 proctree -- last acquired @ /usr/src/sys/kern/kern_fork.c:573 4 allproc -- last acquired @ /usr/src/sys/vm/vm_glue.c:405 5 process lock -- last acquired @ /usr/src/sys/kern/kern_exec.c:129 6 ucred -- last acquired @ /usr/src/sys/kern/kern_prot.c:1587 6 uidinfo hash -- last acquired @ /usr/src/sys/kern/kern_resource.c:844 7 uidinfo struct -- last acquired @ /usr/src/sys/kern/kern_resource.c:955 1 zone subsystem -- last acquired @ /usr/src/sys/vm/vm_zone.c:179 1 mntvnode -- last acquired @ /usr/src/sys/kern/vfs_subr.c:752 1 pseudofs -- last acquired @ /usr/src/sys/fs/pseudofs/pseudofs_fileno.c:87 1 spechash -- last acquired @ /usr/src/sys/kern/vfs_subr.c:2157 1 rman head -- last acquired @ /usr/src/sys/kern/subr_rman.c:107 1 taskqueue -- last acquired @ /usr/src/sys/kern/subr_taskqueue.c:190 1 random reseed -- last acquired @ /usr/src/sys/dev/random/yarrow.c:266 1 ifsvgt -- last acquired @ /usr/src/sys/ufs/ffs/ffs_vfsops.c:1213 1 vnode interlock -- last acquired @ /usr/src/sys/kern/vfs_subr.c:1616 2 vnode_free_list -- last acquired @ /usr/src/sys/kern/vfs_subr.c:601 1 ufs ihash -- last acquired @ /usr/src/sys/ufs/ufs/ufs_ihash.c:134 1 pbuf mutex -- last acquired @ /usr/src/sys/vm/swap_pager.c:316 1 buftime lock -- last acquired @ /usr/src/sys/sys/buf.h:276 1 mntid -- last acquired @ /usr/src/sys/kern/vfs_subr.c:434 2 mountlist -- last acquired @ /usr/src/sys/kern/vfs_syscalls.c:413 Spin locks: 0 ap boot -- last acquired @ /usr/src/sys/i386/i386/mp_machdep.c:2249 1 com -- last acquired @ order list:0 2 sio -- last acquired @ /usr/src/sys/dev/sio/sio.c:3100 3 cy -- last acquired @ order list:0 4 ng_node -- last acquired @ order list:0 5 ng_worklist -- last acquired @ order list:0 6 ithread table lock -- last acquired @ /usr/src/sys/i386/isa/intr_machdep.c:613 7 sched lock -- last acquired @ /usr/src/sys/kern/kern_intr.c:544 8 callout -- last acquired @ /usr/src/sys/kern/kern_timeout.c:256 9 imen -- last acquired @ /usr/src/sys/i386/i386/mpapic.c:262 10 smp rendezvous -- last acquired @ order list:0 11 clk -- last acquired @ /usr/src/sys/i386/isa/clock.c:412 Locks which were never acquired: vnode pollinfo arp_inq ip6_inq ip_inq pseudofs_vncache pseudofs_fileno ppp ppp_rawq ppp_fastq ppp_inq lo msdosfs dehash cd9660_ihash lp bpf interface lock rl ACPI global lock mbuf subsystem general lists lock phys_pager list dev_pager list dev_pager create swap_pager list vm object_list vm buckets hash mutexes vm pageq mutex vm86 lock db> show lockedvnodes Locked vnodes panic: blockable sleep lock (sleep mutex) mountlist @ /usr/src/sys/kern/vfs_subr.c:2241 cpuid = 1; lapic.id = 01000000 Debugger("panic") Stopped at 0xc0365250: loopne 0xc03652a3 db> And there it sits, for now. Note that the reboot was clean. I was about to look in the archives for cvs-all, but I'm not making much progress there. Thoughts? Thanks, david -- David H. Wolfskill david@catwhisker.org As a computing professional, I believe it would be unethical for me to advise, recommend, or support the use (save possibly for personal amusement) of any product that is or depends on any Microsoft product. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message