RE: panic: lockmgr: locking against myself (kern/64206)

From: Robin P. Blanchard (robin.blanchard_at_gactr.uga.edu)
Date: 05/17/04

  • Next message: Mike Tancsa: "sio / puc wedging on both -current and -stable"
    Date: Mon, 17 May 2004 16:31:15 -0400
    To: <current@freebsd.org>
    
    

    After some googling around, I found kern/64206, which indicates disabling
    softupdates as a work-around for this problem...Disabled softupdates across
    the board and wound up witht the following instead. I have dumps available...

    # gdb -k /usr/obj/usr/src/sys/fbsd5.vpn/kernel.debug ./vmcore.8
    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: page fault
    panic messages:
    #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 0xc04cdca6 in boot (howto=256) 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 *) 0xc26c5b00
            bootopt = 256
            newpanic = 0
            ap = 0xd25296d8 "Õ@fÀ\001"
            buf = "page fault", '\0' <repeats 245 times>
    #3 0xc061e3cc in trap_fatal (frame=0xd252977c, 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 0xc061e052 in trap_pfault (frame=0xd252977c, usermode=0, eva=3833069557)
        at /usr/src/sys/i386/i386/trap.c:733
            va = 3833065472
            vm = (struct vmspace *) 0x0
            map = 0x1
            rv = 1
            ftype = 1 '\001'
            td = (struct thread *) 0xc26c5b00
            p = (struct proc *) 0xc28ad000
    #5 0xc061dc0d in trap (frame=
          {tf_fs = -766377960, tf_es = -1068236784, tf_ds = -766377968, tf_edi =
    -1033086208, tf_esi = -1030546384, tf_ebp = 1847621996, tf_isp = -766339160,
    tf_ebx = -1030546384, tf_edx = 0, tf_ecx = -1030546384, tf_eax = 0, tf_trapno
    = 12, tf_err = 0, tf_eip = -461897739, tf_cs = 8, tf_eflags = 66178, tf_esp =
    -1030546384, tf_ss = 65554}) at /usr/src/sys/i386/i386/trap.c:420
            td = (struct thread *) 0xc26c5b00
            p = (struct proc *) 0xc28ad000
            sticks = 3264420912
            i = 0
            ucode = 0
            type = 12
            code = 0
            eva = 3833069557
    #6 0xe477fff5 in ?? ()
    No symbol table info available.
    ---Can't read userspace from dump, or kernel process---

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

    > -----Original Message-----
    > From: owner-freebsd-current@freebsd.org
    > [mailto:owner-freebsd-current@freebsd.org] On Behalf Of Robin
    > P. Blanchard
    > Sent: Monday, May 17, 2004 3:46 PM
    > To: current@freebsd.org
    > Subject: panic: lockmgr: locking against myself (was Panic on
    > very recent-CURRENT)
    >
    > 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 "Õ@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@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
    > > ---------------------------------------
    > >
    > _______________________________________________
    > freebsd-current@freebsd.org mailing list
    > http://lists.freebsd.org/mailman/listinfo/freebsd-current
    > To unsubscribe, send any mail to
    > "freebsd-current-unsubscribe@freebsd.org"
    >
    _______________________________________________
    freebsd-current@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-current
    To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"


  • Next message: Mike Tancsa: "sio / puc wedging on both -current and -stable"

    Relevant Pages

    • panic: bundirty (nfs related)
      ... We're running into regular panics on our webserver after upgrading ... GNU gdb 6.1.1 [FreeBSD] ... Copyright 2004 Free Software Foundation, ... GDB is free software, covered by the GNU General Public License, and you are ...
      (freebsd-stable)
    • Four -CURRENT panics (backtrace included)
      ... I have encounted several panics in recent kernels. ... GNU gdb 5.2.1 ... Copyright 2002 Free Software Foundation, ... No locals. ...
      (freebsd-current)
    • ffs_blkfree panic w/ sources from late last night (est)
      ... Copyright 2002 Free Software Foundation, ... GDB is free software, covered by the GNU General Public License, and you are ... No locals. ...
      (freebsd-current)
    • New panics
      ... I'm not sure if this has come up already, but I'm seeing new panics on my ... GDB is free software, covered by the GNU General Public License, and you are ... page fault while in kernel mode ... No locals. ...
      (freebsd-current)
    • Re: kernel panic. pppoe
      ... Copyright 2004 Free Software Foundation, ... GDB is free software, covered by the GNU General Public License, and you are ... No locals. ... > Strange panic occurs in the kernel every time i'm trying to make PPPoE ...
      (freebsd-current)