From: Brian Foster <bfoster@redhat.com>
To: Dave Chinner <david@fromorbit.com>
Cc: fstests@vger.kernel.org
Subject: Re: [whacky issue] xfs/277 endlessly looping in _require_xfs_io_command
Date: Wed, 11 Oct 2017 06:39:37 -0400 [thread overview]
Message-ID: <20171011103937.GE32909@bfoster.bfoster> (raw)
In-Reply-To: <20171011080047.GE15067@dastard>
On Wed, Oct 11, 2017 at 07:00:47PM +1100, Dave Chinner wrote:
> HI folks,
>
> I was wondering if anyone else had seen this problem, because it's
> got me absolutely stumped. One of my test VMs is having a really
> weird livelock in xfs/277. It's getting stuck in an endless loop
> burning the entire CPU in a the 277 process (i.e. running bash).
> What it is stuck on makes no sense to me, nor does the looping
> behaviour, and I can only reproduce it on this one machine.
>
> The code in question:
>
> "fsmap" )
> testio=`$XFS_IO_PROG -f -c "fsmap" $testfile 2>&1`
> echo $testio | grep -q "Inappropriate ioctl" && \
> _notrun "xfs_io $command support is missing"
>
Oh, so it looks like you're in _require_xfs_io_command(). I was hunting
around for this code in xfs/277. :P
> Is pretty simple and obvious - not a lot to go wrong. set -x
> shows the last command in the output file to be the fsmap command.
> $test_io has about 5000 lines of output in it.
>
> I did some testing to isolate the problem. This exits having
> executed the fsmap command just fine:
>
>
> "fsmap" )
> testio=`$XFS_IO_PROG -f -c "fsmap" $testfile 2>&1`
> exit
>
> But this never exits and it starts burning down teh CPU:
>
> "fsmap" )
> testio=`$XFS_IO_PROG -f -c "fsmap" $testfile 2>&1`
> echo $testio
> exit
>
> Yeah, echoing the output of the fsmap command seems to cause bash to
> enter an endless loop of some kind. Well, it's not endless, because
> every 30s or so the process dies and a new child process runs the
> same loop again. Attaching strace to one of these processes:
>
...
>
> bash is running around in a tight loop running readdir() on some
> unknown directory over and over again. I can't work it out - this is
> the only machine that does it, and it I can't reproduce it outside
> of running xfs/277 from xfstests...
>
> I'm outta ideas - I've got no idea what the hell is going wrong
> here. Anyone got any ideas?
>
Heh, that sounds pretty strange. Does your test dev have a pre-existing
$testfile? Have you tried to execute the associated code in an
independent bash script? E.g., I'd probably try to do something like
mount your test dev then run:
XFS_IO_PROG=...
testfile=...
testio=`$XFS_IO_PROG -f -c "fsmap" $testfile 2>&1`
echo $testio
... from a separate script using hardcoded values from the xfstests
environment, and see what happens..?
Brian
> Cheers,
>
> Dave.
> --
> Dave Chinner
> david@fromorbit.com
> --
> To unsubscribe from this list: send the line "unsubscribe fstests" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-10-11 10:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-11 8:00 [whacky issue] xfs/277 endlessly looping in _require_xfs_io_command Dave Chinner
2017-10-11 8:13 ` Dave Chinner
2017-10-11 12:20 ` Dave Chinner
2017-10-11 10:39 ` Brian Foster [this message]
2017-10-11 10:48 ` Dave Chinner
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=20171011103937.GE32909@bfoster.bfoster \
--to=bfoster@redhat.com \
--cc=david@fromorbit.com \
--cc=fstests@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.