linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Oops with a "degraded" volume
@ 2012-09-15 14:17 Antoine Sirinelli
  2012-09-17  6:46 ` Liu Bo
  0 siblings, 1 reply; 3+ messages in thread
From: Antoine Sirinelli @ 2012-09-15 14:17 UTC (permalink / raw)
  To: Btrfs mailing list

[-- Attachment #1: Type: text/plain, Size: 812 bytes --]

Hi,

I have experienced a very reproducible Oops within the btrfs driver. On
a linux 3.5.4, if I mount a volume with the option "degraded" because
one of the device is missing, I would get an Oops when I unmount it (or
even before). You can see attached the kernel log.

Here is how I create my btrfs volume:

# mkfs.btrfs /dev/vdb /dev/vdc
# mount /dev/vdb /mnt
# dd if=/dev/zero of=/mnt/zeros count=1M
# umount /mnt
# shutdown -h now

I am then wiping one volume (/dev/vdc) and restarting the system. To
get a crash, here is what I am doing:

# mount -o degraded /dev/vdb /mnt
# umount /mnt

I recognise the volume is not usable after having erased one drive but I
would expect no to crash the kernel in such circumstances. I am not an
expert, I am just reporting a crash from an user point of view.

Antoine


[-- Attachment #2: Oops_btrfs_3.5.4.txt --]
[-- Type: text/plain, Size: 4212 bytes --]

[   15.171761] btrfs: error reading free space cache
[   15.171969] btrfs: failed to load free space cache for block group 29360128
[   15.173078] btrfs: error reading free space cache
[   15.173587] btrfs: failed to load free space cache for block group 351404032
[   15.175348] btrfs: error reading free space cache
[   15.175734] btrfs: failed to load free space cache for block group 136708096
[   15.181790] btrfs: error reading free space cache
[   15.182240] btrfs: failed to load free space cache for block group 566099968
[   15.189808] btrfs: error reading free space cache
[   15.190270] btrfs: failed to load free space cache for block group 780795904
[   15.485925] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
[   15.487131] IP: [<ffffffffa014018f>] rcu_string_strdup.constprop.64+0xd/0x3d [btrfs]
[   15.487915] PGD 37218067 PUD 3732e067 PMD 0 
[   15.489022] Oops: 0000 [#1] SMP 
[   15.489132] CPU 0 
[   15.489132] Modules linked in:[   15.489132]  netconsole configfs nfsd nfs nfs_acl auth_rpcgss fscache lockd sunrpc loop joydev hid_generic usbhid hid microcode virtio_balloon snd_pcm snd_page_alloc snd_timer processor psmouse serio_raw i2c_piix4 thermal_sys i2c_core snd soundcore pcspkr evdev button ext4 crc16 jbd2 mbcache btrfs crc32c libcrc32c zlib_deflate sg sr_mod cdrom ata_generic virtio_net virtio_blk floppy ata_piix uhci_hcd ehci_hcd libata usbcore scsi_mod virtio_pci virtio_ring virtio usb_common [last unloaded: scsi_wait_scan]

[   15.489132] Pid: 2255, comm: umount Not tainted 3.5.4 #2 Bochs Bochs
[   15.489132] RIP: 0010:[<ffffffffa014018f>]  [<ffffffffa014018f>] rcu_string_strdup.constprop.64+0xd/0x3d [btrfs]
[   15.489132] RSP: 0018:ffff880037213dd8  EFLAGS: 00010286
[   15.489132] RAX: 0000000000000000 RBX: ffff88003747cc00 RCX: ffffffffffffffff
[   15.489132] RDX: 00000000000001d8 RSI: ffff88003747cdd8 RDI: 0000000000000010
[   15.489132] RBP: ffff880037356900 R08: 0000000000000050 R09: 0000000000000800
[   15.489132] R10: ffff880037628a38 R11: ffff8800376289f0 R12: 0000000000000010
[   15.489132] R13: ffff880037356958 R14: ffff880037356978 R15: ffff880037213f38
[   15.489132] FS:  00007fbc72b877e0(0000) GS:ffff88003fc00000(0000) knlGS:0000000000000000
[   15.489132] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[   15.489132] CR2: 0000000000000010 CR3: 000000003b8c7000 CR4: 00000000000006f0
[   15.489132] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[   15.489132] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[   15.489132] Process umount (pid: 2255, threadinfo ffff880037212000, task ffff8800376289f0)
[   15.489132] Stack:
[   15.489132]  ffff88003747cc00 ffff880037356900 ffff88003747ca00 ffffffffa01406af
[   15.489132]  0000000000000000 ffff880037356900 ffffffffa0168230 ffff88003b6801e0
[   15.489132]  ffff88003b6801c0 ffffffffa0141931 ffff88003759e000 ffff88003ca85400
[   15.489132] Call Trace:
[   15.489132]  [<ffffffffa01406af>] ? __btrfs_close_devices+0xb1/0x192 [btrfs]
[   15.489132]  [<ffffffffa0141931>] ? btrfs_close_devices+0x1d/0x70 [btrfs]
[   15.489132]  [<ffffffffa011da62>] ? close_ctree+0x2a3/0x2d4 [btrfs]
[   15.489132]  [<ffffffff81112833>] ? dispose_list+0x27/0x31
[   15.489132]  [<ffffffff811134c7>] ? evict_inodes+0xe7/0xf4
[   15.489132]  [<ffffffff811018f5>] ? generic_shutdown_super+0x4d/0xc5
[   15.489132]  [<ffffffff811019d3>] ? kill_anon_super+0x9/0x11
[   15.489132]  [<ffffffffa0100697>] ? btrfs_kill_super+0xd/0x13 [btrfs]
[   15.489132]  [<ffffffff811014a8>] ? deactivate_locked_super+0x1c/0x4a
[   15.489132]  [<ffffffff81116483>] ? sys_umount+0x304/0x31f
[   15.489132]  [<ffffffff81049a91>] ? __set_current_blocked+0x2d/0x43
[   15.489132]  [<ffffffff81363a39>] ? system_call_fastpath+0x16/0x1b
[   15.489132] Code: eb 05 bd f4 ff ff ff 48 83 c4 38 89 e8 5b 5d 41 5c 41 5d c3 be 50 80 00 00 e9 90 19 fb e0 41 54 31 c0 48 83 c9 ff 49 89 fc 55 53 <f2> ae 48 89 cb 48 f7 d3 48 8d 7b 10 e8 d8 ff ff ff 48 85 c0 48 
[   15.489132] RIP  [<ffffffffa014018f>] rcu_string_strdup.constprop.64+0xd/0x3d [btrfs]
[   15.489132]  RSP <ffff880037213dd8>
[   15.489132] CR2: 0000000000000010
[   15.545817] ---[ end trace ae1b95a7dc8c0612 ]---

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Oops with a "degraded" volume
  2012-09-15 14:17 Oops with a "degraded" volume Antoine Sirinelli
@ 2012-09-17  6:46 ` Liu Bo
  2012-09-17 20:29   ` Antoine Sirinelli
  0 siblings, 1 reply; 3+ messages in thread
From: Liu Bo @ 2012-09-17  6:46 UTC (permalink / raw)
  To: Antoine Sirinelli; +Cc: Btrfs mailing list

On 09/15/2012 10:17 PM, Antoine Sirinelli wrote:
> Hi,
> 
> I have experienced a very reproducible Oops within the btrfs driver. On
> a linux 3.5.4, if I mount a volume with the option "degraded" because
> one of the device is missing, I would get an Oops when I unmount it (or
> even before). You can see attached the kernel log.
> 

Thanks for the report.  And this has been fixed by

commit 99f5944b8477914406173b47b4f261356286730b
    Btrfs: do not strdup non existent strings

You can find this commit in 3.6.0-rc5. :)

thanks,
liubo

> Here is how I create my btrfs volume:
> 
> # mkfs.btrfs /dev/vdb /dev/vdc
> # mount /dev/vdb /mnt
> # dd if=/dev/zero of=/mnt/zeros count=1M
> # umount /mnt
> # shutdown -h now
> 
> I am then wiping one volume (/dev/vdc) and restarting the system. To
> get a crash, here is what I am doing:
> 
> # mount -o degraded /dev/vdb /mnt
> # umount /mnt
> 
> I recognise the volume is not usable after having erased one drive but I
> would expect no to crash the kernel in such circumstances. I am not an
> expert, I am just reporting a crash from an user point of view.
> 
> Antoine
> 




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Oops with a "degraded" volume
  2012-09-17  6:46 ` Liu Bo
@ 2012-09-17 20:29   ` Antoine Sirinelli
  0 siblings, 0 replies; 3+ messages in thread
From: Antoine Sirinelli @ 2012-09-17 20:29 UTC (permalink / raw)
  To: Liu Bo; +Cc: Btrfs mailing list

[-- Attachment #1: Type: text/plain, Size: 716 bytes --]

On Mon, Sep 17, 2012 at 02:46:00PM +0800, Liu Bo wrote:
> On 09/15/2012 10:17 PM, Antoine Sirinelli wrote:
> > I have experienced a very reproducible Oops within the btrfs driver. On
> > a linux 3.5.4, if I mount a volume with the option "degraded" because
> > one of the device is missing, I would get an Oops when I unmount it (or
> > even before). You can see attached the kernel log.
> 
> Thanks for the report.  And this has been fixed by
> 
> commit 99f5944b8477914406173b47b4f261356286730b
>     Btrfs: do not strdup non existent strings
> 
> You can find this commit in 3.6.0-rc5. :)

That's right, I have done the same test with rc6 and it does not crash
anymore.

Many thanks,

Antoine

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-09-17 20:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-15 14:17 Oops with a "degraded" volume Antoine Sirinelli
2012-09-17  6:46 ` Liu Bo
2012-09-17 20:29   ` Antoine Sirinelli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).