New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
multilib: test-event & test-firewall-util time out #19052
Comments
Currently this does build, but two tests fail with timeout... systemd/systemd#19052 git-svn-id: file:///srv/repos/svn-community/svn@894544 9fca08f4-af9d-4005-b8df-a31f2cc04f65
Currently this does build, but two tests fail with timeout... systemd/systemd#19052 git-svn-id: file:///srv/repos/svn-community/svn@894544 9fca08f4-af9d-4005-b8df-a31f2cc04f65
Most likely related to #19042. |
That explains the timeout in |
"lib32"? is that x32 stuff? or proper i386? |
@eworm-de Could you provide logs of both tests? Especially, test-firewall-util. |
No x32 stuff, it's just i686 libraries to make proprietary 32 bit binaries run on x86_64 systems. |
I think the I will investigate what is not supported for the firewall. BTW, building the x86_64 package works without issue, including the tests. |
Is it possible to run |
About I cannot find any reason why #19042 does not work... |
Ha, my test to disable For |
Looks like
I do not see a difference with |
@eworm-de |
Hmm, several logs are added, but still I cannot find anything...
|
It's the default Arch Linux kernel, so yes it is enabled. Even using it on the host. Build is done inside |
So by multilib you mean that 32bit userpace runs on a 64bit kernel? |
Yes. But not the whole system is 32bit. This is 64bit kernel with 64bit userspace, with 32bit libraries for specific 32bit applications. |
This reverts the gist of commit 798445a. Unfortunately the new syscall causes test-event to hang. 32 bit architectures seem affected: i686 and arm32 in fedora koji. 32 bit build of test-event hangs reliably under valgrind: $ PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig meson build-32 -Dc_args=-m32 -Dc_link_args=-m32 -Dcpp_args=-m32 -Dcpp_link_args=-m32 && ninja -C build-32 test-event && valgrind build/test-event If I set epoll_pwait2_absent=true, so the new function is never called, then the issue does not reproduce. It seems to be strictly tied to the syscall. On amd64, the syscall is not used, at least with the kernel that Fedora provides. The kernel patch 58169a52ebc9a733aeb5bea857bc5daa71a301bb says: For timespec, only support this new interface on 2038 aware platforms that define __kernel_timespec_t. So no CONFIG_COMPAT_32BIT_TIME. And Fedora sets CONFIG_COMPAT_32BIT_TIME=y. I expect most other distros will too. On amd64: epoll_wait_usec: epoll_pwait2: ret=-1 / errno=38 On i686 (same kernel): epoll_wait_usec: epoll_pwait2: ret=2 / errno=0 Is this some kind of emulation? Anyway, it seems that this is what is going wrong. So let's disable the syscall until it becomes more widely available and the kinks have been ironed out. Fixes test-event issue in systemd#19052.
Does it help if I provide a strace log? |
Given that the |
Yes, please. |
And here we go... |
Unfortunately the new syscall causes test-event to hang. 32 bit architectures seem affected: i686 and arm32 in fedora koji. 32 bit build of test-event hangs reliably under valgrind: $ PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig meson build-32 -Dc_args=-m32 -Dc_link_args=-m32 -Dcpp_args=-m32 -Dcpp_link_args=-m32 && ninja -C build-32 test-event && valgrind build/test-event Fixes test-event issue in systemd#19052.
Thanks. |
FirewallContext is used by networkd and nspawn. Both allocates the context when it is really necessary. Hence, it is not necessary to delay probing backend. Moreover, if iptables backend is not enabled on build, and nftables is not supported by kernel, previously `fw_nftables_init()` is called everytime when we try to configure masquerade or dnat. It causes significant paformance loss. Fixes test-firewall-util issue in systemd#19052.
FirewallContext is used by networkd and nspawn. Both allocates the context when it is really necessary. Hence, it is not necessary to delay probing backend. Moreover, if iptables backend is not enabled on build, and nftables is not supported by kernel, previously `fw_nftables_init()` is called everytime when we try to configure masquerade or dnat. It causes significant performance loss. Fixes test-firewall-util issue in systemd#19052.
This reverts the gist of commit 798445a. Unfortunately the new syscall causes test-event to hang. 32 bit architectures seem affected: i686 and arm32 in fedora koji. 32 bit build of test-event hangs reliably under valgrind: $ PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig meson build-32 -Dc_args=-m32 -Dc_link_args=-m32 -Dcpp_args=-m32 -Dcpp_link_args=-m32 && ninja -C build-32 test-event && valgrind build/test-event If I set epoll_pwait2_absent=true, so the new function is never called, then the issue does not reproduce. It seems to be strictly tied to the syscall. On amd64, the syscall is not used, at least with the kernel that Fedora provides. The kernel patch 58169a52ebc9a733aeb5bea857bc5daa71a301bb says: For timespec, only support this new interface on 2038 aware platforms that define __kernel_timespec_t. So no CONFIG_COMPAT_32BIT_TIME. And Fedora sets CONFIG_COMPAT_32BIT_TIME=y. I expect most other distros will too. On amd64: epoll_wait_usec: epoll_pwait2: ret=-1 / errno=38 On i686 (same kernel): epoll_wait_usec: epoll_pwait2: ret=2 / errno=0 Is this some kind of emulation? Anyway, it seems that this is what is going wrong. So let's disable the syscall until it becomes more widely available and the kinks have been ironed out. Fixes test-event issue in #19052.
systemd version the issue has been seen with
Used distribution
Linux kernel version used (
uname -a
)CPU architecture issue was seen on
Expected behaviour you didn't see
Unexpected behaviour you saw
Steps to reproduce the problem
Additional program output to the terminal or log subsystem illustrating the issue
The text was updated successfully, but these errors were encountered: