Re: Still a pretty bad time on 5.4.6 with fuse_request_end.

From: Miklos Szeredi
Date: Tue Feb 11 2020 - 05:55:59 EST


On Sun, Feb 9, 2020 at 9:09 AM <michael+lkml@xxxxxxxxxxxxx> wrote:
>
> From: Michael Stapelberg <michael+lkml@xxxxxxxxxxxxx>
>
> Hey,
>
> I recently ran into this, too. The symptom for me is that processes using the
> affected FUSE file system hang indefinitely, sync(2) system calls hang
> indefinitely, and even triggering an abort via echo 1 >
> /sys/fs/fuse/connections/*/abort does not get the file system unstuck (there is
> always 1 request still pending). Only removing power will get the machine
> unstuck.
>
> Iâm triggering this when building packages for https://distr1.org/, which uses a
> FUSE daemon (written in Go using the jacobsa/fuse package) to provide package
> contents.
>
> I bisected the issue to commit
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2b319d1f6f92a4ced9897678113d176ee16ae85d
>
> With that commit, I run into a kernel oops within â1 minute after starting my
> batch build. With the commit before, I can batch build for many minutes without
> issues.

Pretty weird. I'm not seeing how this could change behavior, as the
args->end value is not changed after being initialized, and so moving
the test later should not make a difference.

Could you print out the complete contents of req->args?

Thanks,
Miklos