Re: git: 61194e9852e6 - main - Add kqueue1() syscall
On Fri, Mar 31, 2023 at 01:27:54PM -0400, Ed Maste wrote: > On Fri, 31 Mar 2023 at 12:38, Charlie Li wrote: > > > > Konstantin Belousov wrote: > > > The branch main has been updated by kib: > > > > > > URL: > > > https://cgit.FreeBSD.org/src/commit/?id=61194e9852e641d1533cd04a5679d6042ff975d3 > > > > > > commit 61194e9852e641d1533cd04a5679d6042ff975d3 > > > Author: Konstantin Belousov > > > AuthorDate: 2023-03-25 23:39:02 + > > > Commit: Konstantin Belousov > > > CommitDate: 2023-03-27 23:39:26 + > > > > > > Add kqueue1() syscall > > > > > > It takes the flags argument. Immediate use is to provide the > > > KQUEUE_CLOEXEC > > > flag for kqueue(2). > > > > > This commit series causes x11/libinput to hit an assert (which also > > silently crashes X on launch): > > > Assertion failed: (libinput->refcount > 0), function libinput_unref, file > > > ../src/libinput.c, line 1957. > > > > devel/libepoll-shim, x11/libinput's prime dependency, has its own > > kqueue1() implementation, which is used when the system does not already > > have one. Reverting this series and rebuilding devel/libepoll-shim to > > use its included implementation allows x11/libinput to work again. > > Ah, NetBSD added kqueue1 some time ago, and it uses the already > existing flags (O_CLOEXEC etc.) > If it's easy to test, can you try changing libepoll-shim to call > kqueue1(KQUEUE_CLOEXEC)? Overloading open(2) flags this way is not wise IMO. Not to mention that a lot of them do not make sense in kqueue(2) context, and that we might want to add other flags which would put even more pressure on the limited O_* bit set. Please see https://reviews.freebsd.org/D39377 for my attempt to somewhat mitigate the mess.
Re: git: 61194e9852e6 - main - Add kqueue1() syscall
On Fri, 31 Mar 2023 at 12:38, Charlie Li wrote: > > Konstantin Belousov wrote: > > The branch main has been updated by kib: > > > > URL: > > https://cgit.FreeBSD.org/src/commit/?id=61194e9852e641d1533cd04a5679d6042ff975d3 > > > > commit 61194e9852e641d1533cd04a5679d6042ff975d3 > > Author: Konstantin Belousov > > AuthorDate: 2023-03-25 23:39:02 + > > Commit: Konstantin Belousov > > CommitDate: 2023-03-27 23:39:26 + > > > > Add kqueue1() syscall > > > > It takes the flags argument. Immediate use is to provide the > > KQUEUE_CLOEXEC > > flag for kqueue(2). > > > This commit series causes x11/libinput to hit an assert (which also > silently crashes X on launch): > > Assertion failed: (libinput->refcount > 0), function libinput_unref, file > > ../src/libinput.c, line 1957. > > devel/libepoll-shim, x11/libinput's prime dependency, has its own > kqueue1() implementation, which is used when the system does not already > have one. Reverting this series and rebuilding devel/libepoll-shim to > use its included implementation allows x11/libinput to work again. Ah, NetBSD added kqueue1 some time ago, and it uses the already existing flags (O_CLOEXEC etc.) If it's easy to test, can you try changing libepoll-shim to call kqueue1(KQUEUE_CLOEXEC)?
Re: git: 61194e9852e6 - main - Add kqueue1() syscall
Konstantin Belousov wrote: The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=61194e9852e641d1533cd04a5679d6042ff975d3 commit 61194e9852e641d1533cd04a5679d6042ff975d3 Author: Konstantin Belousov AuthorDate: 2023-03-25 23:39:02 + Commit: Konstantin Belousov CommitDate: 2023-03-27 23:39:26 + Add kqueue1() syscall It takes the flags argument. Immediate use is to provide the KQUEUE_CLOEXEC flag for kqueue(2). This commit series causes x11/libinput to hit an assert (which also silently crashes X on launch): Assertion failed: (libinput->refcount > 0), function libinput_unref, file ../src/libinput.c, line 1957. devel/libepoll-shim, x11/libinput's prime dependency, has its own kqueue1() implementation, which is used when the system does not already have one. Reverting this series and rebuilding devel/libepoll-shim to use its included implementation allows x11/libinput to work again. -- Charlie Li …nope, still don't have an exit line. OpenPGP_signature Description: OpenPGP digital signature