On Sun, Sep 3, 2023 at 10:04 PM Mateusz Guzik <mjguzik@xxxxxxxxx> wrote: > > On 9/3/23, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > On Sun, Sep 03, 2023 at 08:57:23PM +0200, Mateusz Guzik wrote: > > > >> This does not dump backtraces, just a list of tasks + some stats. > >> > >> The closest to useful here I found are 'w' ("Dumps tasks that are in > >> uninterruptable (blocked) state.") and 'l' ("Shows a stack backtrace > >> for all active CPUs."), both of which can miss the task which matters > >> (e.g., stuck in a very much *interruptible* state with f_pos_lock > >> held). > >> > >> Unless someone can point at a way to get all these stacks, I'm going > >> to hack something up in the upcoming week, if only for immediate > >> syzbot usage. > > > > Huh? Sample of output here: > > 2023-09-03T15:34:36.271833-04:00 duke kernel: [87367.574459] task:ssh-agent > > state:S stack:0 pid:3949 ppid:3947 flags:0x < .. > > > 2023-09-03T15:34:36.457355-04:00 duke kernel: [87367.759981] </TASK> > > > > Looks like a stack trace to me; seeing one of the callers of fdget_pos() > > in that would tell you who's currently holding *some* ->f_pos_lock. > > > > That - on 6.1.42, with fairly bland .config (minimal debugging; > > I need that box for fast builds, among other things). Enable > > lockdep and you'll get who's holding which logs in addition > > to those stack traces... > > > > That's my bad, the only content which survived for me in terminal > buffer was a spew for the scheduler and a ps-like task list. > Stacktraces are indeed there. Sorry for the noise on this one. I > verified stack dumps are not gated by any defines either btw, so it's > all good on this front. > > All this brainos aside, I added Aleksandr Nogikh to To: in my previous > e-mail. From short poking around I found he was responsive to some > queries concerning Linux vs syzbot and I figured would a good person > to ask. > > So, Aleksandr, tl;dr would it be a problem to add the 't' sysrq to > syzbot in order to dump backtraces from all threads? Either break t > over a serial port or t written to /proc/sysrq-trigger. Lack of this > info blocks progress on the issue reported here > (https://syzkaller.appspot.com/bug?extid=e245f0516ee625aaa412) That's a good suggestion, thanks! I think it should be doable and would indeed simplify debugging of our reports (even if not for this particular one, judging by the conversation below :) ). I've filed https://github.com/google/syzkaller/issues/4200 -- Aleksandr > > -- > Mateusz Guzik <mjguzik gmail.com> >