Thread (12 messages) 12 messages, 4 authors, 2016-09-19

Re: Crash in btrfs_uuid_tree_iterate during mount

From: Chris Mason <clm@fb.com>
Date: 2016-08-08 14:16:33

On 08/08/2016 06:49 AM, Nikolay Borisov wrote:

On 08/05/2016 06:12 PM, Chris Mason wrote:
Hello Chris,

Indeed it seems that btrfs_uuid_iter_rem returned a ENOENT:

callq  0xffffffffa081f450 <btrfs_uuid_tree_rem>
mov    %eax,%r13d
je     0xffffffffa081f882 <btrfs_uuid_tree_iterate+514> ; if uuid_iter_rem returned -ENOENT; else fall through.

I checked and r13d is not being touched between the invocation of
btrfs_uuid_iter_rem and the btrfs_next_item:
    RIP: ffffffffa081f774  RSP: ffff88034e507e20  RFLAGS: 00010246
    RAX: 0000000000000000  RBX: 0000160000000000  RCX: ffff880000000000
    RDX: 0000000000000001  RSI: ffff8801e3abd140  RDI: ffff88046f027f00
    RBP: ffff88034e507ea8   R8: 000060fb80001760   R9: ffffffffa07ac1de
    R10: ffffe8ffffd41760  R11: ffffea00078eaf40  R12: ffff8801b98ab750
    R13: 00000000fffffffe  R14: ffff8801e3abd140  R15: ffff880049586000
    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018

r13 is clearly -ENOENT. So your assumption was correct.
Fantastic, thanks again for digging through it.  Making the patch is 
much easier than testing the patch in this case.  If you can trigger 
this semi-reliably, we can add some debugging to make sure we're not 
papering over some other problem.

-chris
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help