The following reply was made to PR bin/43336; it has been noted by GNATS.
From: David Holland <[email protected]>
To: [email protected]
Subject: Re: bin/43336: fsck wapbl assertion failure after crash
Date: Thu, 27 May 2010 07:24:01 +0000
On Fri, May 21, 2010 at 04:05:00PM +0000, Hauke Fath wrote:
For the record, the transcript is:
# fsck -f
assertion "wr->wr_blkhashcnt > 0" failed: file
"/public/netbsd-5/sys/kern/vfs_wapbl.c", line 2156, function
fsck: /dev/rwd0a: Abort trap
Examining the code I don't see any way this can happen (besides memory
corruption) except by having more than 2^31 items in the hash
table. This seems improbable but I guess one never knows. How big is
Can you patch your copy to print the value of wr_blkhashcnt before
crashing? It would be interesting to know if it's 0 or if it's -2^31
> Manuel Bouyer suggested changing the assertion into a warning,
> so that fsck can clean up the log.
Given that it's an in-memory construct and the assertion checks a
fairly simple invariant of a data structure, failure suggests that
something pretty bad is wrong; continuing might well just cause fsck
to munge the volume. So I'm not sure this is a good idea.
David A. Holland