[Btrfs-devel] Oops

Chris Mason chris.mason at oracle.com
Sun Dec 9 07:09:42 PST 2007


On Sat, 8 Dec 2007 19:50:50 +0100
Christian Hesse <list at eworm.de> wrote:

> On Saturday 08 December 2007, Yan Zheng wrote:
> > 2007/12/8, Christian Hesse <list at eworm.de>:
> > > ======================= Dec  8 13:26:35 revo Code: c6 44 24 23 21
> > > 8b 82 bc 00 00 00 8b 50 10 89 e8 89 74 24 08 89 5c 24 04 89 3c 24
> > > e8 f0 a7 ff ff 83 f8 00 89 44 2 4 14 7c 7b 74 04 <0f> 0b eb fe 8b
> > > 57 20 8b 1f 8d 14 92 8d 54 92 4f 89 d8 e8 6e 44 Dec  8 13:26:35
> > > revo EIP: [<b01c6a1b>] btrfs_inc_extent_ref+0xbb/0x140 SS:ESP
> > > 0068:eea85db4 This time I did not mount twice:
> > > $ mount -o loop /usr/portage.img /mnt/tmp
> > > $ rsync -a /usr/portage/ /mnt/tmp/
> > > $ umount /mnt/tmp
> > > $ mount -o loop,subvol=. /usr/portage.img /mnt/tmp/
> > > $ btrfsctl -s 2007-12-08 /mnt/tmp/default
> > > $ umount /mnt/tmp
> > > $ mount -o loop /usr/portage.img /use/portage
> > > [ suspend and resume the system ]
> > > $ emerge sync
> > > Tuxonice has functions to freeze filesystems, I'll enable debug
> > > information to make shure it is not the cause for the trouble.
> >
> > It's seem that the btrfs is damaged. have you reformatted the image
> > file after the first Oops?
> 
> It's a clean image. After the first oops I deleted it an created a
> new one. After the  second oops I did not delete the image nor
> formatted it, I still use it. The difference is that I unmounted it
> before suspend (or directly after resume without any other access to
> it). The logfiles do not show any hints though.

So we've got a few possible causes:

1) A btrfs bug.

2) A tuxonice bug

3) A tuxonice bug with loopback mounted filesystems

Since the rest of your filesystems aren't corrupted, I think we can
rule out a generic tuxonice problem.  But, have you tried other
loopback mounted filesystems with tuxonice?

Every suspend is going to start with flushing out all the dirty pages
to disk.  Instead of running tuxonice, could you please do:

echo 3 > /proc/sys/vm/drop_caches

With the btrfs FS mounted?  That should do something similar to the
flushing done by suspend.  Then run your emerge command again without
doing a suspend and see what happens.

-chris





More information about the Btrfs-devel mailing list