Control: tags -1 +patch On Fri, 2024-01-12 at 01:31 +0100, John Paul Adrian Glaubitz wrote: > This has now been tracked down to the libuv upstream change that introduced > support > for io_uring [1]. This regression is tracked now in a new issue for libuv [2].
The attached patch disables io_uring on ppc64 and ppc64el for the time being until the upstream issue has been resolved. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
From 3b6a1a14caeeeaf5510f2939a8e28ed9ba0ad968 Mon Sep 17 00:00:00 2001 From: Brad King <brad.k...@kitware.com> Date: Sat, 13 Jan 2024 06:04:01 -0500 Subject: [PATCH] linux: disable io_uring on ppc64 and ppc64le (#4285) Since `io_uring` support was added, libuv's signal handler randomly segfaults on ppc64 when interrupting `epoll_pwait`. Disable it pending further investigation. Issue: https://github.com/libuv/libuv/issues/4283 --- src/unix/linux.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/unix/linux.c b/src/unix/linux.c index 3c1313e7..4164e90d 100644 --- a/src/unix/linux.c +++ b/src/unix/linux.c @@ -463,6 +463,9 @@ static int uv__use_io_uring(void) { #elif defined(__arm__) && __SIZEOF_POINTER__ == 4 /* See https://github.com/libuv/libuv/issues/4158. */ return 0; /* All 32 bits kernels appear buggy. */ +#elif defined(__powerpc64__) || defined(__ppc64__) + /* See https://github.com/libuv/libuv/issues/4283. */ + return 0; /* Random SIGSEGV in signal handler. */ #else /* Ternary: unknown=0, yes=1, no=-1 */ static _Atomic int use_io_uring; -- 2.43.0