qemu-riscv
[Top][All Lists]
Advanced

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

Re: [PATCH v2 1/1] linux-user/signal: Decode waitid si_code


From: Andreas K . Hüttel
Subject: Re: [PATCH v2 1/1] linux-user/signal: Decode waitid si_code
Date: Thu, 21 Jan 2021 17:15:20 +0200

Am Mittwoch, 20. Januar 2021, 22:12:30 EET schrieb Andreas K. Hüttel:
> > This patch just passes the waitid status directly back to the guest.
> 
> This works at least as well as the previous versions, so ++ from me.
> 
> Will do more testing over the next days to see if it maybe also improves the
> additional oddities I observed.
> 

So the patch is good since it clearly resolves the linked bug. 

However, something else is still broken (maybe related; unchanged compared to 
the previous patch version). I keep seeing hanging "qemu-riscv32 /bin/bash 
..." processes using 100% cpu. If I attach strace (on the host arch x86-64) to 
qemu, I see an infinite loop:

waitid(P_ALL, -1, {}, WNOHANG|WEXITED, NULL) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
waitid(P_ALL, -1, {}, WNOHANG|WEXITED, NULL) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
...

Unfortunately I do not have a simple reproducer. This is somewhere in the 
middle of our build system...

Otherwise, I can re-build glibc, gcc, binutils, make  in the qemu chroot 
without obvious problems, with one striking strange detail - "make" refuses to 
run more than one concurrent process (even with MAKEOPTS="-j9"). Something is 
off there.

-- 
Andreas K. Hüttel
dilfridge@gentoo.org
Gentoo Linux developer 
(council, qa, toolchain, base-system, perl, libreoffice)

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]