Linux Btrfs filesystem development
 help / color / mirror / Atom feed
From: Adam Borowski <kilobyte@angband.pl>
To: Jeff Mahoney <jeffm@suse.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: Transaction aborted in btrfs_rename2
Date: Fri, 29 Jul 2016 18:13:11 +0200	[thread overview]
Message-ID: <20160729161311.GA15356@angband.pl> (raw)
In-Reply-To: <9373294e-c59b-0360-8481-328f03216926@suse.com>

On Fri, Jul 29, 2016 at 11:43:29AM -0400, Jeff Mahoney wrote:
> On 6/6/16 10:13 AM, Jeff Mahoney wrote:
> > On 6/6/16 7:47 AM, Adam Borowski wrote:
> >> Hi!
> >> I just got this thrice, in 4.7-rc1 and 4.7-rc2:
> >>
> >> [ 1836.672368] ------------[ cut here ]------------
> >> [ 1836.672382] WARNING: CPU: 1 PID: 16348 at fs/btrfs/inode.c:9820 btrfs_rename2+0xcd2/0x2a50
> >> [ 1836.672385] BTRFS: Transaction aborted (error -2)
> >> [ 1836.672396] CPU: 1 PID: 16348 Comm: gcc-6 Tainted: P           O    4.7.0-rc2-debug+ #3
> >> [ 1836.672415] Call Trace:
> >> [ 1836.672423]  [<ffffffff8165be6d>] dump_stack+0x4e/0x71
> >> [ 1836.672429]  [<ffffffff81110c1c>] __warn+0x10c/0x150
> >> [ 1836.672433]  [<ffffffff81110caa>] warn_slowpath_fmt+0x4a/0x50
> >> [ 1836.672437]  [<ffffffff814f4842>] btrfs_rename2+0xcd2/0x2a50
> >> [ 1836.672443]  [<ffffffff814dfcfb>] ? btrfs_permission+0x5b/0xc0
> >> [ 1836.672448]  [<ffffffff81d288c8>] ? down_write+0x18/0x60
> >> [ 1836.672453]  [<ffffffff8133a0cc>] vfs_rename+0x7cc/0xc30
> >> [ 1836.672457]  [<ffffffff8133dc8b>] SyS_rename+0x32b/0x420
> >> [ 1836.672461]  [<ffffffff81d2ab9f>] entry_SYSCALL_64_fastpath+0x17/0x93
> >> [ 1836.672464] ---[ end trace 6405b6e3d0e6c945 ]---
> >> [ 1836.672468] BTRFS warning (device sda1): btrfs_rename:9820: Aborting unused transaction(No such entry).
> >> [ 1836.675505] BTRFS warning (device sda1): btrfs_rename:9820: Aborting unused transaction(No such entry).
> >> <repeated 1152 times>
> > 
> > Oh, interesting.  We're seeing this on our 4.4-based kernels as well but
> > only on arm64.  That it's triggering on x86_64 is a good data point.
> > I'm hunting this one today.
> 
> I was finally able to track down what this was on arm64, and I'm afraid
> the news won't help you much.  It was a bug in gcc 4.8.5 instruction
> scheduling around function return that caused the stack pointer to be
> restored to the position at the beginning of the function while the
> stack was still being used via a separate register.  If an interrupt
> arrived between those two instructions, you'd get stack corruption that
> would present as bad hash values.
> 
> Are you still able to reproduce this on x86_64?

Nope, not in quite a while.  I haven't used middle 4.7 rcs so I don't know
when it went away.

I use gcc-6, too.

-- 
An imaginary friend squared is a real enemy.

  reply	other threads:[~2016-07-29 16:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-06 11:47 Transaction aborted in btrfs_rename2 Adam Borowski
2016-06-06 14:13 ` Jeff Mahoney
2016-07-29 15:43   ` Jeff Mahoney
2016-07-29 16:13     ` Adam Borowski [this message]
2016-07-29 16:20       ` Jeff Mahoney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160729161311.GA15356@angband.pl \
    --to=kilobyte@angband.pl \
    --cc=jeffm@suse.com \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox