Possible io_uring bug in PA-RISC kernel 6.1.46

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

on my C8000 workstation, I'm getting libuv aborts connected to io_uring
usage. I'm not sure whether this is a libuv bug or a kernel one, but
since libuv is pretty well tested on other archs, it's probably a
PA-RISC issue. I've encountered the problem in kernel versions 6.1.41
and 6.1.46. 6.1.4 seemed fine, but I updated other system packages in
the meantime, so I can't be sure.

The issue is that a call to
`io_uring_enter(fd, 2, 2, IORING_ENTER_GETEVENTS)`
returns 0, and libuv reacts to that by aborting, probably on this line:
https://github.com/libuv/libuv/blob/65dc822d6c20a9130fa100c7b46d751f8cf4d233/src/unix/linux.c#L1252
(I'm saying probably, because gdb seems to be buggy on my machine and I
don't really trust its output, so I rely on strace instead, but that
doesn't support backtraces on the PA-RISC.)

Since min_complete is 2 here and IORING_SETUP_IOPOLL was not specified
during setup (the only flags that can be passed to io_uring_setup are 0
and IORING_SETUP_SQPOLL), the call should (if I understand the docs
correctly) block instead of returning.

The bug manifests as aborts in CMake when compiling KDE packages, as any
call of `cmake -E cmake_autogen ...` fails.

Is this a known issue? I've seen a number of io_uring patches on the ML,
but none seem relevant.




[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux