From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Brivio To: passt-user@passt.top Subject: Re: qemu couldn't connect the unix domain socket Date: Thu, 03 Feb 2022 21:47:05 +0100 Message-ID: <20220203214705.49a30ae0@elisabeth> In-Reply-To: <20211029135231.78c55afe@elisabeth> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2201714246935055299==" --===============2201714246935055299== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello again, On Fri, 29 Oct 2021 13:52:31 +0200 Stefano Brivio wrote: > On Fri, 29 Oct 2021 19:02:15 +0800 > Li Feng wrote: > >=20 > > [...] > > > > clone(child_stack=3DNULL, > > flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLDstrace: Process > > 172939 attached > > , child_tidptr=3D0x7f7b89b1da10) =3D 172939 > > [pid 172921] exit_group(0 > > [pid 172939] set_robust_list(0x7f7b89b1da20, 24 > > [pid 172921] <... exit_group resumed>) =3D ? > > [pid 172921] +++ exited with 0 +++ > > <... set_robust_list resumed>) =3D ? > > +++ killed by SIGSYS (core dumped) +++ > > ``` > > Which is the bad syscall? =20 >=20 > Oh, it's set_robust_list(), it's normal that exit_group() doesn't > return. That new usage probably comes from: > https://sourceware.org/git/?p=3Dglibc.git;a=3Dcommit;h=3D9a7565403758f65c0= 7fe3705e966381d9cfd35b6 >=20 > and that code path is not really needed for passt, so I would have a > quick try at avoiding it rather than adding a syscall, perhaps with a > small replacement of daemon() using clone() instead of fork(). I forgot to follow up here: in the end I pushed a change that, among other calls, allows set_robust_list() unconditionally: https://passt.top/passt/commit/?id=3D33b1bdd079f1b40dffb040e40579d7434c28d10a alternatives looked quite awkward, a replacement of daemon() also didn't look very small, other suggestions warmly welcome. By the way, the new tests checking build and basic functionality also cover Fedora 35. --=20 Stefano --===============2201714246935055299==--