Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Dec 2001 10:02:24 -0800 (PST)
From:      David Wolfskill <david@catwhisker.org>
To:        current@freebsd.org
Subject:   panic: blockable sleep lock (sleep mutex) with today's -CURRENT
Message-ID:  <200112101802.fBAI2O850051@bunrab.catwhisker.org>

next in thread | raw e-mail | index | archive | help
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<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
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: <QUANTUM FIREBALLP AS40.0/A1Y.1500> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200112101802.fBAI2O850051>