Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 07 Dec 1996 11:57:21 -0800
From:      David Greenman <dg@root.com>
To:        Gregory_D_Moncreaff@ccmail.ed.ray.com
Cc:        hackers@freebsd.org
Subject:   Re: FreeBSD 2.1: panic: vm_page_free: invalid wire count 
Message-ID:  <199612071957.LAA00979@root.com>
In-Reply-To: Your message of "Sat, 07 Dec 1996 14:18:00 EST." <01ICQCYVD3KY003875@ZEUS.ED.RAY.COM> 

next in thread | previous in thread | raw e-mail | index | archive | help
>     
>     One of my FreeBSD 2.1 machines died Friday.  It got caught
>     in a panic - reboot loop with the following message:
>     
>     panic: vm_page_free: invalid wire count
>     
>     It seems to coincide with file-system check activity.
>     [The file system claimed to have been beat up around the same
>      time]
>     
>     I tried to reinstall assuming the file system was toast, but
>     got the same message when the installer tried to create the
>     file-systems.
>     
>     When I looked at the source code that was panicing it seemed
>     that someone was trying to free a page that someone else was
>     still referencing?
>     
>     Does anyone have any idea what kind of error this is?  I'm 
>     guessing that its either a fault with the RAM or the processor
>     chip since the machine worked fine for a couple of months
>     before it died.  I tried swapping the two memory modules, 
>     but it didn't help, and I don't have any spare machines to 
>     canabalize for other substitutions
>     
>     Machine was a P5-166 with 32M RAM

   There was a bug in 2.1 that would cause this when doing certain physio. It
usually didn't show up with fsck, however, but probably could given the
right conditions. It was fixed in rev 1.17 of kern_physio.c:

----------------------------
revision 1.17
date: 1996/06/26 05:52:15;  author: dyson;  state: Exp;  lines: +11 -6
Fix a problem that caused system crashes after physio.  This problem
was due to non-aligned 64K transfers taking 17 pages.  We currently
do not support >16 page transfers.  The transfer is unfortunately truncated,
but since buffers are usually malloced, this is a problem only once in
a while.  Savecore is a culprit, but tar/cpio usually aren't.  This
is NOT the final fix (which is likely a bouncing scheme), but will at
least keep the system from crashing.
----------------------------

   Your best solution is to upgrade to 2.1.6; we've fixed a lot of bugs like
this since 2.1.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project



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