On Thu, 2021-05-20 at 00:13 -0400, Olivier Langlois wrote: > I know that my test case isn't conclusive. It is a failed attempt to > capture what my program is doing. > > The priority of investigating my core dump issue has substantially > dropped last week because I did solve my primary issue (A buffer leak > in the provided buffers to io_uring during disconnection). My program > did run for days but it did crash morning without any core dump > again. > It is a very frustrating situation because it would probably be a bug > trivial to diagnostic and fix but without the core, the logs are > opaque > and they just don't give no clue about why the program did crash. > > A key characteristic of my program, it is that it generates at least > 1 > io-worker thread per io_uring instance. As I get more familiar with io_uring source code, I have come to realize that it is practically impossible to not end up with NO io-wq threads. They are created in from io_uring_install_fd() which is called for every instances created. I'm a bit lazy for rebooting my desktop and I am still running 5.11.5 on it. I guess that with this kernel version, the io_uring threads weren't threads belonging to the user process and arent showing with ps by searching for a specific process LWPs. I correctly see all the generated threads when I run the test program on an up-to-date server (5.12.4). I have rewritten the whole test program. It has now become an io_uring multi connection http client (it could make a nice io_uring example program, IMHO). Still no success in reproducing the problem with it. So, I am giving up the idea of reproducing the problem with a showcase program unless I have some clue about how to reproduce it. However, I can reproduce it at will with my real program. So as Linus has suggested, I'll investigate by searching where the PF_IO_WORKER is used. I'll keep the list updated if I discover something. Greetings,