From owner-freebsd-hackers Fri Jun 18 14:19:28 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from resnet.uoregon.edu (resnet.uoregon.edu [128.223.144.32]) by hub.freebsd.org (Postfix) with ESMTP id 9196A1584E for ; Fri, 18 Jun 1999 14:19:26 -0700 (PDT) (envelope-from dwhite@resnet.uoregon.edu) Received: from localhost (dwhite@localhost) by resnet.uoregon.edu (8.9.3/8.9.3) with ESMTP id OAA91229 for ; Fri, 18 Jun 1999 14:19:04 -0700 (PDT) (envelope-from dwhite@resnet.uoregon.edu) Date: Fri, 18 Jun 1999 14:19:04 -0700 (PDT) From: Doug White To: hackers@freebsd.org Subject: 3.1 panic: vm_page_unwire: invalid wire count: 0 Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hello .. I'm getting the following panic on a P90 running 3.1-RELEASE. This system is one of our routers and crashes every week or so. I can't find any reference if this was fixed or not. If someone's been playing in this area recently I can schedule an upgrade to 3.2 or -STABLE if it would help. The panic appears to be a problem inside of procfs, although I'm not sure it's just an innocent victim to a previous corruption. It doesn't help that the kernel can't keep time on this box; see PR 12022. I can make the core files and debugged kernel available if desired. Some time before this (in this case ~4hrs) this message is logged: /kernel: vm_page_free: freeing wired page Here is ye olde stack trace: #0 boot (howto=256) at ../../kern/kern_shutdown.c:285 285 dumppcb.pcb_cr3 = rcr3(); (kgdb) bt #0 boot (howto=256) at ../../kern/kern_shutdown.c:285 #1 0xf012abf8 in at_shutdown (function=0xf0209c25 , arg=0x0, queue=-193525184) at ../../kern/kern_shutdown.c:446 #2 0xf01cf3f3 in vm_page_unwire (m=0xf043f594, activate=1) at ../../vm/vm_page.c:1346 #3 0xf0157851 in procfs_rwmem (curp=0xf4861ba0, p=0xf476c3c0, uio=0xf4868f40) at ../../miscfs/procfs/procfs_mem.c:256 #4 0xf0157928 in procfs_domem (curp=0xf4861ba0, p=0xf476c3c0, pfs=0xf0c1c900, uio=0xf4868f40) at ../../miscfs/procfs/procfs_mem.c:305 #5 0xf01581cf in procfs_rw (ap=0xf4868efc) at ../../miscfs/procfs/procfs_subr.c:279 #6 0xf0153de1 in vn_read (fp=0xf0bebf80, uio=0xf4868f40, cred=0xf0c15900) at vnode_if.h:303 #7 0xf0135469 in read (p=0xf4861ba0, uap=0xf4868f94) at ../../kern/sys_generic.c:121 #8 0xf01ed07b in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = -272642048, tf_esi = 4096, tf_ebp = -272644136, tf_isp = -192507932, tf_ebx = 0, tf_edx = 0, tf_ecx = -272642048, tf_eax = 3, tf_trapno = 8, tf_err = 2, tf_eip = 134548752, tf_cs = 31, tf_eflags = 659, tf_esp = -272645204, tf_ss = 39}) at ../../i386/i386/trap.c:1100 #9 0xf01e145c in Xint0x80_syscall () #10 0x804b002 in ?? () #11 0x804b2c0 in ?? () #12 0x804b30a in ?? () #13 0x8049dd7 in ?? () #14 0x8049eb9 in ?? () #15 0x8049b03 in ?? () #16 0x80480e9 in ?? () And here be the screwy part: (kgdb) frame 2 #2 0xf01cf3f3 in vm_page_unwire (m=0xf043f594, activate=1) at ../../vm/vm_page.c:1346 1346 panic("vm_page_unwire: invalid wire count: %d\n", m->wire_count); (kgdb) print *m $6 = {pageq = {tqe_next = 0x705f6d76, tqe_prev = 0x5f656761}, hashq = { tqe_next = 0x69776e75, tqe_prev = 0x203a6572}, listq = { tqe_next = 0x61766e69, tqe_prev = 0x2064696c}, object = 0x65726977, pindex = 1970234144, phys_addr = 540701806, queue = 25637, flags = 10, pc = 28022, wire_count = 28767, hold_count = 26465, act_count = 101 'e', busy = 95 '_', valid = 99 'c', dirty = 97 'a'} (kgdb) print m $7 = (struct vm_page *) 0xf0209c25 (kgdb) frame 3 #3 0xf0157851 in procfs_rwmem (curp=0xf4861ba0, p=0xf476c3c0, uio=0xf4868f40) at ../../miscfs/procfs/procfs_mem.c:256 256 vm_page_unwire(m, 1); (kgdb) print m $8 = (struct vm_page *) 0x100 Thoughts? Hints? Buttons to push? Thanks! Doug White Internet: dwhite@resnet.uoregon.edu | FreeBSD: The Power to Serve http://gladstone.uoregon.edu/~dwhite | www.freebsd.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message