Date: Fri, 18 Jun 1999 14:19:04 -0700 (PDT) From: Doug White <dwhite@resnet.uoregon.edu> To: hackers@freebsd.org Subject: 3.1 panic: vm_page_unwire: invalid wire count: 0 Message-ID: <Pine.BSF.4.10.9906181355490.70758-100000@resnet.uoregon.edu>
index | next in thread | raw e-mail
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 <cvtbsdprot.232+717>,
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.9906181355490.70758-100000>
