Kernel BUG: __tree_mod_log_rewind

2013-05-07 Thread Elladan
I can get btrfs to throw a kernel bug easily by running btrfs fi
defrag on some files in 3.9.0:

May  7 01:57:33 caper kernel: [0.00] Linux version
3.9.0-030900-generic (apw@gomeisa) (gcc version 4.6.3 (Ubuntu/Linaro
4.6.3-1ubuntu5) ) #201304291257 SMP Mon Apr 29 16:58:15 UTC 2013
...
May  7 02:09:21 caper kernel: [  726.745485] [ cut here
]
May  7 02:09:21 caper kernel: [  726.745567] Kernel BUG at
a00ea503 [verbose debug info unavailable]
May  7 02:09:21 caper kernel: [  726.745643] invalid opcode:  [#1] SMP
May  7 02:09:21 caper kernel: [  726.745807] Modules linked in:
snd_hrtimer zram(C) bnep rfcomm bluetooth parport_pc ppdev nfsd
nfs_acl auth_rpcgss nfs fscache binfmt_misc lockd sunrpc
snd_hda_codec_hdmi joydev hid_gaff ff_memless snd_usb_
audio snd_usbmidi_lib uvcvideo snd_seq_midi videobuf2_core videodev
snd_rawmidi videobuf2_vmalloc videobuf2_memops snd_seq_midi_event
dm_multipath snd_hda_codec_realtek snd_seq scsi_dh kvm_amd
snd_seq_device snd_hda_intel kvm snd_hda_codec
 snd_hwdep microcode snd_pcm snd_timer k10temp edac_core edac_mce_amd
serio_raw snd sp5100_tco i2c_piix4 soundcore snd_page_alloc mac_hid
wmi it87 hwmon_vid lp parport xfs btrfs raid6_pq zlib_deflate xor
libcrc32c ses enclosure dm_crypt hi
d_generic usbhid hid usb_storage firewire_ohci firewire_core crc_itu_t
ahci pata_acpi pata_atiixp libahci r8169
May  7 02:09:21 caper kernel: [  726.749841] CPU 3
May  7 02:09:21 caper kernel: [  726.749900] Pid: 1703, comm:
btrfs-endio-wri Tainted: G C   3.9.0-030900-generic
#201304291257 Gigabyte Technology Co., Ltd.
GA-MA790GP-UD4H/GA-MA790GP-UD4H
May  7 02:09:21 caper kernel: [  726.750069] RIP:
0010:[a00ea503]  [a00ea503]
__tree_mod_log_rewind+0x253/0x260 [btrfs]
May  7 02:09:21 caper kernel: [  726.750244] RSP:
0018:88011a2e1838  EFLAGS: 00010293
May  7 02:09:21 caper kernel: [  726.750316] RAX: 
RBX: 88004b2798f0 RCX: 88011a2e17d8
May  7 02:09:21 caper kernel: [  726.750390] RDX: 13f3a75c
RSI: 05e8 RDI: 8800172ea880
May  7 02:09:21 caper kernel: [  726.750463] RBP: 88011a2e1868
R08: 1000 R09: 88011a2e17e8
May  7 02:09:21 caper kernel: [  726.750536] R10: 000103db
R11:  R12: 880098cf4d80
May  7 02:09:21 caper kernel: [  726.750609] R13: 002b
R14: 8800172ea700 R15: 0009c7a7
May  7 02:09:21 caper kernel: [  726.750683] FS:
7fa2bc594700() GS:88014fd8()
knlGS:
May  7 02:09:21 caper kernel: [  726.750770] CS:  0010 DS:  ES:
 CR0: 8005003b
May  7 02:09:21 caper kernel: [  726.750841] CR2: fd82c000
CR3: 00014654d000 CR4: 07e0
May  7 02:09:21 caper kernel: [  726.750914] DR0: 
DR1:  DR2: 
May  7 02:09:21 caper kernel: [  726.750987] DR3: 
DR6: 0ff0 DR7: 0400
May  7 02:09:21 caper kernel: [  726.751061] Process btrfs-endio-wri
(pid: 1703, threadinfo 88011a2e, task 88004a6b2ea0)
May  7 02:09:21 caper kernel: [  726.751147] Stack:
May  7 02:09:21 caper kernel: [  726.751212]  88011a2e1858
880104c8de30 0009c7a7 8800
May  7 02:09:21 caper kernel: [  726.751488]  a8598000
880148278000 88011a2e18b8 a00ea5ef
May  7 02:09:21 caper kernel: [  726.751763]  880098cf4d80
88004b2798f0 8800338d3000 0001
May  7 02:09:21 caper kernel: [  726.752038] Call Trace:
May  7 02:09:21 caper kernel: [  726.752135]  [a00ea5ef]
tree_mod_log_rewind+0xdf/0x240 [btrfs]
May  7 02:09:21 caper kernel: [  726.752237]  [a00f25cb]
btrfs_search_old_slot+0x4cb/0x670 [btrfs]
May  7 02:09:21 caper kernel: [  726.752351]  [a016d118]
__resolve_indirect_ref+0xc8/0x150 [btrfs]
May  7 02:09:21 caper kernel: [  726.752462]  [a016d23e]
__resolve_indirect_refs+0x9e/0x200 [btrfs]
May  7 02:09:21 caper kernel: [  726.752573]  [a016da3d]
find_parent_nodes+0x45d/0x6b0 [btrfs]
May  7 02:09:21 caper kernel: [  726.752684]  [a016dd29]
btrfs_find_all_roots+0x99/0x100 [btrfs]
May  7 02:09:21 caper kernel: [  726.752792]  [a0119620] ?
btrfs_submit_direct+0x190/0x190 [btrfs]
May  7 02:09:21 caper kernel: [  726.752901]  [a0119620] ?
btrfs_submit_direct+0x190/0x190 [btrfs]
May  7 02:09:21 caper kernel: [  726.753012]  [a016e977]
iterate_extent_inodes+0x177/0x2c0 [btrfs]
May  7 02:09:21 caper kernel: [  726.753123]  [a016eb52]
iterate_inodes_from_logical+0x92/0xb0 [btrfs]
May  7 02:09:21 caper kernel: [  726.753244]  [a0119620] ?
btrfs_submit_direct+0x190/0x190 [btrfs]
May  7 02:09:21 caper kernel: [  726.753353]  [a0115a68]
record_extent_backrefs+0x78/0xf0 [btrfs]
May  7 02:09:21 caper kernel: [  726.753462]  [a0120a54]
relink_file_extents+0x44/0x180 [btrfs]
May  7 02:09:21 caper kernel: [  726.753571]  

Re: Kernel BUG: __tree_mod_log_rewind

2013-05-07 Thread Jan Schmidt
On Tue, May 07, 2013 at 11:25 (+0200), Elladan wrote:
 I can get btrfs to throw a kernel bug easily by running btrfs fi
 defrag on some files in 3.9.0:

Thanks for reporting. It's a known bug (that ought to be fixed before the 3.9
release in fact). You can either use btrfs-next or apply the commits mentioned
in my previous email today:

On Tue, May 07, 2013 at 08:08 (+0200), Jan Schmidt wrote:
 In git log order:

 6ced2666 Btrfs: separate sequence numbers for delayed ref tracking and tree
 mod log
 ef9120b1 Btrfs: fix tree mod log regression on root split operations
 2ed098ca Btrfs: fix accessing the root pointer in tree mod log functions
 50723551 Btrfs: fix unlock after free on rewinded tree blocks

 The commit ids are from josef's master branch
 (git://git.kernel.org/pub/scm/linux/kernel/git/josef/btrfs-next.git) which is
 known not to be very stable regarding commit ids.

Either way should fix your problem. An alternative is to wait for a 3.9 stable
release after those fixes are in mainline (which should happen within the next
seven days, I hope). Not using defrag, autodefrag or qgroups might also be an
effective workaround, but no guarantees on that.

-Jan

 May  7 01:57:33 caper kernel: [0.00] Linux version
 3.9.0-030900-generic (apw@gomeisa) (gcc version 4.6.3 (Ubuntu/Linaro
 4.6.3-1ubuntu5) ) #201304291257 SMP Mon Apr 29 16:58:15 UTC 2013
 ...
 May  7 02:09:21 caper kernel: [  726.745485] [ cut here
 ]
 May  7 02:09:21 caper kernel: [  726.745567] Kernel BUG at
 a00ea503 [verbose debug info unavailable]
 May  7 02:09:21 caper kernel: [  726.745643] invalid opcode:  [#1] SMP
 May  7 02:09:21 caper kernel: [  726.745807] Modules linked in:
 snd_hrtimer zram(C) bnep rfcomm bluetooth parport_pc ppdev nfsd
 nfs_acl auth_rpcgss nfs fscache binfmt_misc lockd sunrpc
 snd_hda_codec_hdmi joydev hid_gaff ff_memless snd_usb_
 audio snd_usbmidi_lib uvcvideo snd_seq_midi videobuf2_core videodev
 snd_rawmidi videobuf2_vmalloc videobuf2_memops snd_seq_midi_event
 dm_multipath snd_hda_codec_realtek snd_seq scsi_dh kvm_amd
 snd_seq_device snd_hda_intel kvm snd_hda_codec
  snd_hwdep microcode snd_pcm snd_timer k10temp edac_core edac_mce_amd
 serio_raw snd sp5100_tco i2c_piix4 soundcore snd_page_alloc mac_hid
 wmi it87 hwmon_vid lp parport xfs btrfs raid6_pq zlib_deflate xor
 libcrc32c ses enclosure dm_crypt hi
 d_generic usbhid hid usb_storage firewire_ohci firewire_core crc_itu_t
 ahci pata_acpi pata_atiixp libahci r8169
 May  7 02:09:21 caper kernel: [  726.749841] CPU 3
 May  7 02:09:21 caper kernel: [  726.749900] Pid: 1703, comm:
 btrfs-endio-wri Tainted: G C   3.9.0-030900-generic
 #201304291257 Gigabyte Technology Co., Ltd.
 GA-MA790GP-UD4H/GA-MA790GP-UD4H
 May  7 02:09:21 caper kernel: [  726.750069] RIP:
 0010:[a00ea503]  [a00ea503]
 __tree_mod_log_rewind+0x253/0x260 [btrfs]
 May  7 02:09:21 caper kernel: [  726.750244] RSP:
 0018:88011a2e1838  EFLAGS: 00010293
 May  7 02:09:21 caper kernel: [  726.750316] RAX: 
 RBX: 88004b2798f0 RCX: 88011a2e17d8
 May  7 02:09:21 caper kernel: [  726.750390] RDX: 13f3a75c
 RSI: 05e8 RDI: 8800172ea880
 May  7 02:09:21 caper kernel: [  726.750463] RBP: 88011a2e1868
 R08: 1000 R09: 88011a2e17e8
 May  7 02:09:21 caper kernel: [  726.750536] R10: 000103db
 R11:  R12: 880098cf4d80
 May  7 02:09:21 caper kernel: [  726.750609] R13: 002b
 R14: 8800172ea700 R15: 0009c7a7
 May  7 02:09:21 caper kernel: [  726.750683] FS:
 7fa2bc594700() GS:88014fd8()
 knlGS:
 May  7 02:09:21 caper kernel: [  726.750770] CS:  0010 DS:  ES:
  CR0: 8005003b
 May  7 02:09:21 caper kernel: [  726.750841] CR2: fd82c000
 CR3: 00014654d000 CR4: 07e0
 May  7 02:09:21 caper kernel: [  726.750914] DR0: 
 DR1:  DR2: 
 May  7 02:09:21 caper kernel: [  726.750987] DR3: 
 DR6: 0ff0 DR7: 0400
 May  7 02:09:21 caper kernel: [  726.751061] Process btrfs-endio-wri
 (pid: 1703, threadinfo 88011a2e, task 88004a6b2ea0)
 May  7 02:09:21 caper kernel: [  726.751147] Stack:
 May  7 02:09:21 caper kernel: [  726.751212]  88011a2e1858
 880104c8de30 0009c7a7 8800
 May  7 02:09:21 caper kernel: [  726.751488]  a8598000
 880148278000 88011a2e18b8 a00ea5ef
 May  7 02:09:21 caper kernel: [  726.751763]  880098cf4d80
 88004b2798f0 8800338d3000 0001
 May  7 02:09:21 caper kernel: [  726.752038] Call Trace:
 May  7 02:09:21 caper kernel: [  726.752135]  [a00ea5ef]
 tree_mod_log_rewind+0xdf/0x240 [btrfs]
 May  7 02:09:21 caper kernel: [  726.752237]  [a00f25cb]
 btrfs_search_old_slot+0x4cb/0x670 [btrfs]
 May  7 02:09:21 caper kernel: [  726.752351]  [a016d118]