NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/50159: "panic: ifree: freeing free inode" mounting root fs
The following reply was made to PR kern/50159; it has been noted by GNATS.
From: David Holland <dholland-bugs%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: kern/50159: "panic: ifree: freeing free inode" mounting root fs
Date: Sat, 5 Sep 2015 23:35:29 +0000
On Fri, Aug 21, 2015 at 07:50:00AM +0000, Andreas Gustafsson wrote:
> One of my NetBSD/amd64 machines is failing to reboot after a crash.
> When remounting the root file system read/write after fsck, it panics
> with "panic: ifree: freeing free inode", apparently while replaying
> the wapbl log.
>
> Backtrace:
>
> http://www.gson.org/netbsd/bugs/ifree/ifree2.jpg
wd0a is the / on that machine? Because it's rather curious that it
would go through fsck, remount read-write, and croak at that point.
After all, fsck is supposed to leave volumes in a good state.
I am guessing that fsck and wapbl are both completing the same
partially-finished unlink, with the result that the second try
panics.
This obviously shouldn't be happening; however, it's not all that
unlikely. (With physical block journaling, you can't record arbitrary
loose information in the journal, so instead you generally build extra
on-disk structures for things like keeping track of which files have
been unlinked but not reclaimed. wapbl has such a scheme; however, I
don't know how it works. Someone who does ought to look into this.)
> This looks somewhat similar to kern/49419, but there the panic
> occurred during an unlink() syscall, not mount().
It's more likely than not the same underlying issue. That one didn't
run fsck though, so perhaps my theory's not so great.
Alternate theory that would explain both: the code that enters
unlinked files into the structure of unlinked but not reclaimed files
has a bug or race such that it (maybe sometimes) enters the wrong
inode number.
--
David A. Holland
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index