## ------------- ## ## Test results. ## ## ------------- ## ERROR: 65 tests were run, 5 failed unexpectedly. 30 tests were skipped. ## -------------------------- ## ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_desktop_plasma_systemd-j5_test-20230603-114005 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-13 * clang/llvm (if any): /usr/lib/llvm/15 15.0.7 Python 3.11.3 Available Rust versions: [1] rust-bin-1.69.0 * php cli (if any): go version go1.20.4 linux/amd64 HEAD of ::gentoo commit 1e579fe3c1aec9f36bfa51ab452ac0885a025004 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Sat Jun 3 11:31:56 2023 +0000 2023-06-03 11:31:55 UTC emerge -qpvO sys-apps/sandbox [ebuild U ] sys-apps/sandbox-2.30-r1 [2.29] USE="nnp" ABI_X86="(32) (64) (-x32)"
Created attachment 863132 [details] emerge-info.txt
Created attachment 863133 [details] emerge-history.txt
Created attachment 863134 [details] environment
Created attachment 863135 [details] etc.clang.tar.bz2
Created attachment 863136 [details] etc.portage.tar.bz2
Created attachment 863137 [details] logs.tar.bz2
Created attachment 863138 [details] sys-apps:sandbox-2.30-r1:20230603-170053.log.bz2
Created attachment 863139 [details] temp.tar.bz2
The file size of ./files/tests.tar.bz2 is too big (4.2M) for an upload. For about 8 weeks the link http://tinderbox.zwiebeltoralf.de:31560/17.1_desktop_plasma_systemd-j5_test-20230603-114005/var/tmp/tb/issues/20230603-170131-sys-apps_sandbox-2.30-r1/files/tests.tar.bz2 is valid.
Created attachment 863140 [details] tests.tar.xz
It looks like the utime-related functions are returning ENOSYS. FAIL: futimesat(-100, ".", (nil)) = -1 (wanted 0); errno = ENOSYS:38 [Function not implemented] (wanted Success:0 [Success]) FAIL: futimesat(3, "(null)", (nil)) = -1 (wanted 0); errno = ENOSYS:38 [Function not implemented] (wanted Success:0 [Success]) FAIL: utimensat(-100, ".", (nil), 0) = -1 (wanted 0); errno = ENOSYS:38 [Function not implemented] (wanted Success:0 [Success]) FAIL: utimensat(-100, "sym", 0x57e111a0, 100) = -1 (wanted -1); errno = ENOSYS:38 [Function not implemented] (wanted EINVAL:22 [Invalid argument]) FAIL: utimensat(-100, ".", (nil), 0) = -1 (wanted 0); errno = ENOSYS:38 [Function not implemented] (wanted Success:0 [Success]) I suspect this is being caused by a container manager blocking these syscalls. Please look into that and report back if you find something.
(In reply to Mike Gilbert from comment #11) > It looks like the utime-related functions are returning ENOSYS. > > FAIL: futimesat(-100, ".", (nil)) = -1 (wanted 0); errno = ENOSYS:38 > [Function not implemented] (wanted Success:0 [Success]) > I suspect this is being caused by a container manager blocking these > syscalls. Please look into that and report back if you find something. upstream says no [1] and I do not block any special calls[2] [1] https://github.com/containers/bubblewrap/issues/584 [2] https://github.com/toralf/tinderbox/blob/main/bin/bwrap.sh#L115
Regardless, I am unable to reproduce this.
*** Bug 910599 has been marked as a duplicate of this bug. ***
Please try to reproduce this manually in a similar environment. After the tests fail, please run the following from the build directory. strace -o strace-nosandbox.log -f tests/utimensat-0 0 AT_FDCWD . NULL 0 strace -o strace-sandbox.log -f ./src/sandbox.sh tests/utimensat-0 0 AT_FDCWD . NULL 0 Then attach the resulting strace logs.
(In reply to Mike Gilbert from comment #13) > Regardless, I am unable to reproduce this. with USE=nnp ?
(In reply to Mike Gilbert from comment #15) > Please try to reproduce this manually in a similar environment. > > After the tests fail, please run the following from the build directory. > > strace -o strace-nosandbox.log -f tests/utimensat-0 0 AT_FDCWD . NULL 0 > > strace -o strace-sandbox.log -f ./src/sandbox.sh tests/utimensat-0 0 > AT_FDCWD . NULL 0 > > Then attach the resulting strace logs. I found that utimensat-0 only in the _32 directory: 17-1-desktop-plasma-systemd-test-20230720-150508 /var/tmp/portage/sys-apps/sandbox-2.37/work/sandbox-2.37-abi_x86_32.x86 # strace -o strace-nosandbox.log -f tests/utimensat-0 0 AT_FDCWD . NULL 0 FAIL: utimensat(-100, ".", (nil), 0) = -1 (wanted 0); errno = ENOSYS:38 [Function not implemented] (wanted Success:0 [Success]) 17-1-desktop-plasma-systemd-test-20230720-150508 /var/tmp/portage/sys-apps/sandbox-2.37/work/sandbox-2.37-abi_x86_32.x86 # strace -o strace-sandbox.log -f ./src/sandbox.sh tests/utimensat-0 0 AT_FDCWD . NULL 0 FAIL: utimensat(-100, ".", (nil), 0) = -1 (wanted 0); errno = ENOSYS:38 [Function not implemented] (wanted Success:0 [Success])
(In reply to Toralf Förster from comment #17) Please attach the strace log files.
(In reply to Toralf Förster from comment #16) > (In reply to Mike Gilbert from comment #13) > > Regardless, I am unable to reproduce this. > > with USE=nnp ? I am unable to reproduce the issue with either USE=-nnp or USE=nnp.
(In reply to Mike Gilbert from comment #13) > Regardless, I am unable to reproduce this. Are you trying under bubblewrap, as toralf is?
Created attachment 865898 [details] strace-sandbox.log
(In reply to Sam James from comment #20) > (In reply to Mike Gilbert from comment #13) > > Regardless, I am unable to reproduce this. > > Are you trying under bubblewrap, as toralf is? Yes, I have tried to reproduce it under bubblewrap with no success.
Recapping toralf's results: 1. utimensat fails with ENOSYS both inside and outside the sandbox. 2. The strace log shows that the kernel is setting errno to ENOSYS. 18149 utimensat(AT_FDCWD, ".", NULL, 0) = -1 ENOSYS (Function not implemented) It's clear that there is something wrong in toralf's environment, but I'm pretty sure sys-apps/sandbox is not to blame.
I would be interested to see if you get the same test results on the host system, outside of any tinderbox environment.
Created attachment 865899 [details] sys-apps:sandbox-2.37:20230721-175600.log.gz log from host system
Ok, so the tests work on the host. That rules out a buggy kernel. My best guess still is that there is a seccomp filter being applied at some stage in the tinderbox setup process that is causing an ENOSYS result for utimensat.
(In reply to Mike Gilbert from comment #26) > Ok, so the tests work on the host. That rules out a buggy kernel. Test fails using chroot too - that rules out bubblewrap IMO.
Are you using some exotic filesystem for the tinderbox images? Maybe it's a filesystem bug.
(In reply to Mike Gilbert from comment #28) > Are you using some exotic filesystem for the tinderbox images? Maybe it's a > filesystem bug. It is a striped BTRFS using 2 drives (/dev/nvme0n1p4 and /dev/nvme1n1p4)
Ok, I use btrfs myself so that's probably not it.
In IRC, we determined that the CONFIG_COMPAT_32BIT_TIME kernel option is disabled, which means the 32-bit version of utimensat is not defined in the kernel.
This series of glibc changes basically makes CONFIG_COMPAT_32BIT_TIME a required option. If it is disabled, all sorts of syscalls with time parameters may stop working for 32-bit ABIs. https://sourceware.org/git/?p=glibc.git;a=log;h=6d97330d7acc47898b3a2bf4c8588d4bd7114269 I don't really see a good workaround, so I'm closing this as CANTFIX.