Re: Unbreakable loop in fuse_fill_write_pages()

From: Vivek Goyal
Date: Tue Oct 13 2020 - 15:57:40 EST


On Tue, Oct 13, 2020 at 03:53:19PM -0400, Qian Cai wrote:
> On Tue, 2020-10-13 at 14:58 -0400, Vivek Goyal wrote:
>
> > I am wondering if virtiofsd still alive and responding to requests? I
> > see another task which is blocked on getdents() for more than 120s.
> >
> > [10580.142571][ T348] INFO: task trinity-c36:254165 blocked for more than 123
> > +seconds.
> > [10580.143924][ T348] Tainted: G O 5.9.0-next-20201013+ #2
> > [10580.145158][ T348] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
> > +disables this message.
> > [10580.146636][ T348] task:trinity-c36 state:D stack:26704 pid:254165
> > ppid:
> > +87180 flags:0x00000004
> > [10580.148260][ T348] Call Trace:
> > [10580.148789][ T348] __schedule+0x71d/0x1b50
> > [10580.149532][ T348] ? __sched_text_start+0x8/0x8
> > [10580.150343][ T348] schedule+0xbf/0x270
> > [10580.151044][ T348] schedule_preempt_disabled+0xc/0x20
> > [10580.152006][ T348] __mutex_lock+0x9f1/0x1360
> > [10580.152777][ T348] ? __fdget_pos+0x9c/0xb0
> > [10580.153484][ T348] ? mutex_lock_io_nested+0x1240/0x1240
> > [10580.154432][ T348] ? find_held_lock+0x33/0x1c0
> > [10580.155220][ T348] ? __fdget_pos+0x9c/0xb0
> > [10580.155934][ T348] __fdget_pos+0x9c/0xb0
> > [10580.156660][ T348] __x64_sys_getdents+0xff/0x230
> >
> > May be virtiofsd crashed and hence no requests are completing leading
> > to a hard lockup?
> Virtiofsd is still working. Once this happened, I manually create a file on the
> guest (in virtiofs) and then I can see the content of it from the host.

Hmm..., So how do I reproduce it. Just run trinity as root and it will
reproduce after some time?

Vivek