Re: [PANIC] page fault -> bremfree: removing a buffer not on a queue

From: Daniel Papasian <dpapasia_at_andrew.cmu.edu>
Date: Wed, 18 Feb 2004 10:28:32 -0500 (EST)
On Wed, 18 Feb 2004, Andreas Kohn wrote:
> Hello,
>
> yesterday my computer crashed with this panic:
>
<snip>
>
> syncing disks, buffers remaining... panic: bremfree: removing a buffer
> not on a queue

Okay, I'm not the only one who has had this panic.  I've been looking at
it, but without essentially zero prior knowledge of the filesystem and no
computer around with a filesystem I can afford to have corrupted,
personally I'm afraid to take any sort of action.

> Before the panic happened, I was compiling/linking some software, and
> watching TV (bttv/xawtv). The linking process gave some strange error

My question is, did you do this on a "dirty" filesystem using
softupdates- that is, one that crashed and came up and fsck was in the
process of reclaiming unused resources?

I believe the easiest solution is to test in bremfree whether there are
less than or equal to 1 locks (BUF_REFCNT) on the buffer and if there
aren't, simply return.  But by no means do I believe this solution to be
correct; bremfree should not be called if this is the case, I suspect, but
it is being called in such circumstances in more than one place (my
crashdump, posted earlier to current_at_, called bremfree at a different
place)

Unless, of course, the if(BUF_REFCNT(bp) <=1) assertion inside of
bremfreel is not correct.

-Dan
Received on Wed Feb 18 2004 - 06:28:21 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:43 UTC