[email protected]
[Top] [All Lists]

Re: bin/43336: fsck wapbl assertion failure after crash

Subject: Re: bin/43336: fsck wapbl assertion failure after crash
From: David Holland
Date: Thu, 27 May 2010 07:25:02 +0000 UTC
The following reply was made to PR bin/43336; it has been noted by GNATS.

From: David Holland <[email protected]>
To: [email protected]
Cc: 
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:
  > <http://www.spg.tu-darmstadt.de/~hf/netbsd/netbsd-5-wapbl.jpg>
 
 For the record, the transcript is:
 
    # fsck -f
    ** /dev/rwd0a
    assertion "wr->wr_blkhashcnt > 0" failed: file 
"/public/netbsd-5/sys/kern/vfs_wapbl.c", line 2156, function 
"wapbl_blkhash_clear"
    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
 your wd0a?
 
 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
 or thereabouts.
 
  >     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
 [email protected]
 

<Prev in Thread] Current Thread [Next in Thread>