panic: lockmgr: locking against myself (was Panic on very recent -CURRENT)

From: Robin P. Blanchard <robin.blanchard_at_gactr.uga.edu>
Date: Mon, 17 May 2004 15:46:06 -0400
Updated to latest -CURRENT and am getting (what seems to be) the same panic.
Panics are being brought on by heavy building of various ports.

# gdb -k /usr/obj/usr/src/sys/fbsd5.vpn/kernel.debug ./vmcore.7 
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-undermydesk-freebsd"...
panic: lockmgr: locking against myself
panic messages:
---
panic: lockmgr: locking against myself
at line 370 in file /usr/src/sys/kern/kern_lock.c
cpuid = 0; 

syncing disks, buffers remaining... kernel trap 12 with interrupts disabled


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x24
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc04f948e
stack pointer           = 0x10:0xc9567c38
frame pointer           = 0x10:0xc9567c58
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = resume, IOPL = 0
current process         = 28 (swi8: tty:sio clock)
trap number             = 12
panic: page fault
at line 815 in file /usr/src/sys/i386/i386/trap.ccpuid = 0; 
Uptime: 29m7s
Dumping 127 MB
...snip...
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:236
236             dumping++;
(kgdb) bt full
#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:236
No locals.
#1  0xc04cdca6 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:370
No locals.
#2  0xc04ce0dc in __panic () at /usr/src/sys/kern/kern_shutdown.c:548
        td = (struct thread *) 0xc0ec2000
        bootopt = 260
        newpanic = 0
        ap = 0xc9567b84 "Õ_at_fÀ\001"
        buf = "lockmgr: locking against myself", '\0' <repeats 224 times>
#3  0xc061e3cc in trap_fatal (frame=0xc9567bf8, eva=0) at
/usr/src/sys/i386/i386/trap.c:815
        code = 16
        type = 12
        ss = 16
        esp = 0
        softseg = {ssd_base = 0, ssd_limit = 1048575, ssd_type = 27, ssd_dpl
= 0, ssd_p = 1, ssd_xx = 0, 
  ssd_xx1 = 0, ssd_def32 = 1, ssd_gran = 1}
#4  0xc061da23 in trap (frame=
      {tf_fs = 24, tf_es = -1066860528, tf_ds = -1032060912, tf_edi = 0,
tf_esi = -1066762520, tf_ebp = -917078952, tf_isp = -917079004, tf_ebx =
-1030883264, tf_edx = -1058267136, tf_ecx = -1058267136, tf_eax = 36,
tf_trapno = 12, tf_err = 0, tf_eip = -1068526450, tf_cs = 8, tf_eflags =
65683, tf_esp = -1066802016, tf_ss = -1058229392}) at
/usr/src/sys/i386/i386/trap.c:250
        td = (struct thread *) 0xc0ec2000
        p = (struct proc *) 0xc0ecb370
        sticks = 3228165280
        i = 0
        ucode = 0
        type = 12
        code = 0
        eva = 36
#5  0xc04f948e in propagate_priority (td=0xc28df840) at
/usr/src/sys/kern/subr_turnstile.c:225
        tc = (struct turnstile_chain *) 0xc06a7ee8
        ts = (struct turnstile *) 0x0
        td1 = (struct thread *) 0x0
        pri = 36
#6  0xc04f9d14 in turnstile_wait (ts=0xc0ec5080, lock=0xc069c640, owner=0x0)
    at /usr/src/sys/kern/subr_turnstile.c:505
        tc = (struct turnstile_chain *) 0xc06a7dd0
        td = (struct thread *) 0xc0ec2000
        td1 = (struct thread *) 0xc069c640
#7  0xc04c2ec5 in _mtx_lock_sleep (m=0xc069c640, opts=0, file=0x0, line=0)
    at /usr/src/sys/kern/kern_mutex.c:541
        ts = (struct turnstile *) 0x0
        td = (struct thread *) 0xc0ec2000
        v = 0
#8  0xc04e0482 in softclock (dummy=0x0) at
/usr/src/sys/kern/kern_timeout.c:246
        c_func = (void (*)(void *)) 0xc06007f0 <scrn_timer>
        c_arg = (void *) 0xc06cae60
        c_flags = 7
        c = (struct callout *) 0x0
        bucket = (struct callout_tailq *) 0xc4d87950
        curticks = 174662
        steps = 7
        depth = 1
        mpcalls = 0
        gcalls = 0
        wakeup_cookie = 7
#9  0xc04b74f8 in ithread_loop (arg=0xc2572280) at
/usr/src/sys/kern/kern_intr.c:574
        ithd = (struct ithd *) 0xc2572280
        ih = (struct intrhand *) 0xc0ec4240
        td = (struct thread *) 0xc0ec2000
        p = (struct proc *) 0xc0ecb370
        count = 1
        warned = 0
#10 0xc04b6118 in fork_exit (callout=0xc04b72c0 <ithread_loop>, arg=0x0,
frame=0x0)
    at /usr/src/sys/kern/kern_fork.c:816
        p = (struct proc *) 0xc0ecb370
        td = (struct thread *) 0x0
(kgdb) 

---------------------------------------
Robin P. Blanchard
Systems Integration Specialist
Georgia Center for Continuing Education
fon: 706.542.2404 < > fax: 706.542.6546
---------------------------------------
 

> -----Original Message-----
> From: Robin P. Blanchard 
> Sent: Monday, May 17, 2004 11:40 AM
> To: current_at_freebsd.org
> Subject: Panic on very recent -CURRENT
> 
> Ident of kernel at:
> http://people.gactr.uga.edu/robin/kernel_ident.txt
> 
> 
> # gdb -k /usr/obj/usr/src/sys/fbsd5.vpn/kernel.debug 
> ./vmcore.5 GNU gdb 5.2.1 (FreeBSD) Copyright 2002 Free 
> Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public 
> License, and you are welcome to change it and/or distribute 
> copies of it under certain conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB.  Type "show 
> warranty" for details.
> This GDB was configured as "i386-undermydesk-freebsd"...
> panic: lockmgr: locking against myself
> panic messages:
> ---
> panic: lockmgr: locking against myself
> at line 370 in file /usr/src/sys/kern/kern_lock.c cpuid = 0; 
> 
> syncing disks, buffers remaining... 1401 1401 1400 panic: 
> bremfree: removing a buffer not on a queue at line 649 in 
> file /usr/src/sys/kern/vfs_bio.ccpuid = 0;
> Uptime: 3h52m23s
> Dumping 127 MB
>  16 32 48 64 80 96 112
> 
> #0  doadump () at /usr/src/sys/kern/kern_shutdown.c:236
> 236             dumping++;
> (kgdb) exec-file /boot/kernel/kernel
> (kgdb) bt full
> #0  doadump () at /usr/src/sys/kern/kern_shutdown.c:236
> No locals.
> #1  0xc04cdcc6 in boot (howto=260) at 
> /usr/src/sys/kern/kern_shutdown.c:370
> No locals.
> #2  0xc04ce0fc in __panic () at /usr/src/sys/kern/kern_shutdown.c:548
>         td = (struct thread *) 0xc27dc6e0
>         bootopt = 260
>         newpanic = 0
>         ap = 0xd255d834 
> "(\025ãÄ(\025ãÄTØUÒ»ÎQÀ(\025ãÄ(\025ãÄ(\025ãÄ\""
>         buf = "lockmgr: locking against myself", '\0' 
> <repeats 224 times>
> #3  0xc051cfc1 in bremfreel (bp=0xc4e31528) at 
> /usr/src/sys/kern/vfs_bio.c:649
>         old_qindex = 0
> #4  0xc051cebb in bremfree (bp=0x0) at 
> /usr/src/sys/kern/vfs_bio.c:631 No locals.
> #5  0xc052193e in getblk (vp=0xc26ea924, blkno=12000, 
> size=2048, slpflag=0, slptimeo=0, flags=0)
>     at /usr/src/sys/kern/vfs_bio.c:2472
>         lockflags = 0
>         bp = (struct buf *) 0xc4e31528
> #6  0xc05b2b59 in ffs_sbupdate (mp=0xc2686300, waitfor=2) at 
> /usr/src/sys/ufs/ffs/ffs_vfsops.c:1482
>         fs = (struct fs *) 0xc269d800
>         bp = (struct buf *) 0x0
>         blks = 1
>         space = (void *) 0xc26cb000
>         i = 0
>         size = 2048
>         error = 0
>         allerror = 0
> #7  0xc05b24c2 in ffs_sync (mp=0xc263d400, waitfor=2, 
> cred=0xc0eb9200, td=0xc0698ae0)
>     at /usr/src/sys/ufs/ffs/ffs_vfsops.c:1207
>         nvp = (struct vnode *) 0x0
>         vp = (struct vnode *) 0xc26ea924
>         devvp = (struct vnode *) 0xc26ea924
>         ip = (struct inode *) 0x0
>         ump = (struct ufsmount *) 0xc2686300
>         fs = (struct fs *) 0xc269d800
>         error = 0
>         count = 0
>         lockreq = 65554
>         allerror = 0
> #8  0xc05363de in sync (td=0xc0698ae0, uap=0x0) at 
> /usr/src/sys/kern/vfs_syscalls.c:136
>         mp = (struct mount *) 0xc263d400
>         nmp = (struct mount *) 0x0
>         asyncflag = 0
> #9  0xc04cd854 in boot (howto=256) at 
> /usr/src/sys/kern/kern_shutdown.c:302
>         bp = (struct buf *) 0xc4dadd68
>         iter = 0
>         nbusy = 1400
>         pbusy = 1400
>         subiter = 50
> #10 0xc04ce0fc in __panic () at /usr/src/sys/kern/kern_shutdown.c:548
>         td = (struct thread *) 0xc27dc6e0
>         bootopt = 256
>         newpanic = 0 
>         ap = 0xd255da1c "\""
>         buf = "lockmgr: locking against myself", '\0' 
> <repeats 224 times>
> #11 0xc04bfe65 in lockmgr (lkp=0xc0ece5c4, flags=2, 
> interlkp=0x1000000, td=0xc27dc6e0)
>     at /usr/src/sys/kern/kern_lock.c:439
>         error = 0
>         thr = (struct thread *) 0xc27dc6e0
>         extflags = 16777216
>         lockflags = 2
> #12 0xc05cd70a in _vm_map_lock_read (map=0x0, file=0x0, 
> line=0) at machine/pcpu.h:156 No locals.
> #13 0xc05d1508 in vm_map_lookup (var_map=0xd255db1c, vaddr=0, 
> fault_typea=1 '\001', out_entry=0xd255db20, 
>     object=0x0, pindex=0x0, out_prot=0x0, wired=0xd255daf8) 
> at /usr/src/sys/vm/vm_map.c:2867
>         entry = 0x0
>         map = 0xc0ece588
>         prot = 0 '\0'
>         fault_type = 1 '\001'
> #14 0xc05c716f in vm_fault (map=0xc0ece588, vaddr=0, 
> fault_type=1 '\001', fault_flags=0)
>     at /usr/src/sys/vm/vm_fault.c:232
>         prot = 192 'À'
>         is_first_object_locked = -766125352
>         result = 0
>         growstack = 1
>         wired = -766125288
>         map_generation = -1033337320
>         next_object = 0x0
>         marray = {0x0, 0x0, 0xc0d30820, 0xc0532e4c, 
> 0xc2688618, 0x10002, 0xc8989070, 0xc27ccf00, 0x8051000,
>   0xc0e75af8, 0xc0ece628, 0xd255db6c, 0xc06164dd, 0xc0c381c0, 
> 0x0, 0x246}
>         hardfault = 0
>         faultcount = -1058216568
>         fs = {m = 0xd255db34, object = 0xc05402b0, pindex = 
> 14014576280821825536, first_m = 0xc0e6edd8,
>   first_object = 0xc2688618, first_pindex = 
> 14014576280821825536, map = 0xc0ece588, entry = 0xc0dde568,
>   lookup_still_valid = 0, vp = 0xd255db34}
> #15 0xc061a995 in trap_pfault (frame=0xd255dbf4, usermode=0, 
> eva=16) at /usr/src/sys/i386/i386/trap.c:710
>         va = 0
>         vm = (struct vmspace *) 0x0
>         map = 0xc0ece588
>         rv = -1058216568
>         ftype = 1 '\001'
>         td = (struct thread *) 0xc27dc6e0
>         p = (struct proc *) 0xc27dd1b8
> #16 0xc061a65d in trap (frame=
>       {tf_fs = 672530456, tf_es = 16, tf_ds = 16, tf_edi = 
> -1058216568, tf_esi = -1032160388, tf_ebp = -766124984, 
> tf_isp = -766125024, tf_ebx = 0, tf_edx = 0, tf_ecx = 0, 
> tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1067654093, 
> tf_cs = 8, tf_eflags = 66118, tf_esp = 3, tf_ss = 0}) at 
> /usr/src/sys/i386/i386/trap.c:420
>         td = (struct thread *) 0xc27dc6e0
>         p = (struct proc *) 0xc27dd1b8
>         sticks = 3528842444
>         i = 0
>         ucode = 0
>         type = 12
>         code = 0
>         eva = 16
> #17 0xc05ce433 in vm_map_simplify_entry (map=0xc0ece588, 
> entry=0xc27a7b7c) at /usr/src/sys/vm/vm_map.c:1041
>         next = 0x0
>         prev = 0x0
>         prevsize = 0
>         esize = 0
> #18 0xc05ce064 in vm_map_insert (map=0xc27a7b7c, 
> object=0xc0ece588, offset=0, start=134553600, 
>     end=134557696, prot=7 '\a', max=7 '\a', cow=0) at 
> /usr/src/sys/vm/vm_map.c:815
>         new_entry = 0x0
>         prev_entry = 0xc27a7b7c
>         temp_entry = 0xc27a7b7c
>         protoeflags = 0
> #19 0xc05dd536 in obreak (td=0x0, uap=0x0) at 
> /usr/src/sys/vm/vm_unix.c:119
>         vm = (struct vmspace *) 0xc0ece588
>         new = 0
>         old = 134553600
>         base = 0
>         datalim = -4545005548382553220
>         vmemlim = 9223372036854775807
>         rv = 0
>         error = 0
>         do_map_wirefuture = 0
> #20 0xc061b200 in syscall (frame=
>       {tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 
> 134557696, tf_esi = 134553600, tf_ebp = -1077942680, tf_isp = 
> -766124684, tf_ebx = 672459276, tf_edx = 672449032, tf_ecx = 
> 672449028, tf_eax = 17, tf_trapno = 12, tf_err = 2, tf_eip = 
> 671988075, tf_cs = 31, tf_eflags = 643, tf_esp = -1077942708, 
> tf_ss = 47})
>     at /usr/src/sys/i386/i386/trap.c:1004
>         params = 0xbfbfe650---Can't read userspace from dump, 
> or kernel process---
> 
> (kgdb)
> 
> 
> ---------------------------------------
> Robin P. Blanchard
> Systems Integration Specialist
> Georgia Center for Continuing Education
> fon: 706.542.2404 < > fax: 706.542.6546
> ---------------------------------------
> 
Received on Mon May 17 2004 - 10:46:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:54 UTC