https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: sys-fs/mount-zip-1.0.10 fails tests. Discovered on: amd64 (internal ref: ci)
Created attachment 870838 [details] build.log build log and emerge --info
Error(s) that match a know pattern in addition to what has been reported in the summary: ERROR:root:Cannot test absolute-path.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test bad-archive.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test bad-crc.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test bzip2.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test comment-utf8.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test comment.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test cp437.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test cp866.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test dos-perm.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test empty.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test extrafld.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test fifo.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test file-dir-same-name.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test foobar.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test hlink-before-target.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test hlink-chain.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test hlink-dir.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test hlink-recursive-one.zip: mount-zip: Cannot find target for hardlink Unknown [0] '/hlink' -> 'hlink' ERROR:root:Cannot test hlink-recursive-two.zip: mount-zip: Cannot find target for hardlink Unknown [0] '/hlink1' -> 'hlink2' ERROR:root:Cannot test hlink-relative.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test hlink-symlink.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test hlink-without-target.zip: mount-zip: Cannot find target for hardlink Unknown [0] '/hlink1' -> '0regular' ERROR:root:Cannot test issue-43.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test no-owner-info.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test not-full-path-deep.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test not-full-path.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test parent-relative-paths.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test pkware-specials.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test pkware-symlink.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test sjis-filename.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test symlink.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test unix-perm.zip: fuse: failed to open /dev/fuse: Permission denied ERROR:root:Cannot test with-and-without-precise-time.zip: fuse: failed to open /dev/fuse: Permission denied fuse: failed to open /dev/fuse: Permission denied subprocess.CalledProcessError: Command '['/var/tmp/portage/sys-fs/mount-zip-1.0.10/work/mount-zip-1.0.10/tests/blackbox/../../mount-zip', '/var/tmp/portage/sys-fs/mount-zip-1.0.10/work/mount-zip-1.0.10/tests/blackbox/data/pkware-specials.zip', '/var/tmp/portage/sys-fs/mount-zip-1.0.10/temp/tmp46q041z9']' returned non-zero exit status 1.
According to the logs, mount-zip cannot open the character device file /dev/fuse and the underlying error is "Permission denied". I'm a bit in the dark as to what could be causing this issue. I don't have any Gentoo instance to reproduce the issue. A couple of things to check on the system where the issue is occurring are: * Does the /dev/fuse file exist, and what are its access bits? Example (on a working ARM-32 ChromeOS device): ``` $ ls -lh /dev/fuse crw-rw-rw-. 1 root root 10, 229 Sep 27 15:48 /dev/fuse ``` * Which version of libfuse does mount-zip use? Example (on a working ARM-32 ChromeOS device): ``` $ mount-zip --version mount-zip version: 1.0.10 libzip version: 1.10.0 FUSE library version: 2.9.8 fusermount version: 2.9.8 using FUSE kernel interface version 7.19 $ ldd $(which mount-zip) linux-vdso.so.1 (0xf22c8000) libfuse.so.2 => /usr/lib/libfuse.so.2 (0xf2210000) libzip.so.5 => /usr/lib/libzip.so.5 (0xf21d0000) libc++.so.1 => /usr/lib/libc++.so.1 (0xf2100000) libc++abi.so.1 => /usr/lib/libc++abi.so.1 (0xf20c0000) libm.so.6 => /lib/libm.so.6 (0xf207f000) libc.so.6 => /lib/libc.so.6 (0xf1f73000) /lib/ld-linux-armhf.so.3 (0xf22c9000) libbz2.so.1 => /usr/lib/libbz2.so.1 (0xf1f40000) libcrypto.so.3 => /usr/lib/libcrypto.so.3 (0xf1cf0000) libz.so.1 => /usr/lib/libz.so.1 (0xf1cc0000) libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xf1c90000) ```
>According to the logs, mount-zip cannot open the character device file /dev/fuse and the underlying error is "Permission denied". I'm a bit in the dark as to what could be causing this issue. This is probably due the containerized nature of ago's tinderbox (CI system). You could maybe src_test() { if [[ ! -w /dev/fuse ]]; then ewarn "Skipping tests, /dev/fuse is not writable or does not exist" return 0 fi default } A quick search of ::gentoo for prior art did only reveal tests for /dev/fuse's existence. However, the logs of this bug make it appear that /dev/fuse exists but is not accessible due to permissions. > I don't have any Gentoo instance to reproduce the issue. I don't know how I feel about this. You are a maintainer of Gentoo packages, but don't have a Gentoo instance to test the packages you maintain? I know ChromeOS very similar to Gentoo. But then again, it is not the same. For example, I believe portage-tool from ChromeOS does not exactly track the latest portage version. Do you test your packages only with ChromeOS? If so, does it, for example, support the latest EAPI?
It just occurred to me that it is potentially a sandbox violation. So maybe addwrite /dev/fuse helps.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3699bc992024e70391941c9c2ff2d80eb683fcf4 commit 3699bc992024e70391941c9c2ff2d80eb683fcf4 Author: François Degros <fdegros@chromium.org> AuthorDate: 2024-02-08 09:15:13 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2024-02-08 09:16:04 +0000 sys-fs/mount-zip: add 1.0.12 Bug: https://bugs.gentoo.org/914374 Bug: https://bugs.gentoo.org/914375 Signed-off-by: François Degros <fdegros@chromium.org> Closes: https://github.com/gentoo/gentoo/pull/33307 Signed-off-by: Joonas Niilola <juippis@gentoo.org> sys-fs/mount-zip/Manifest | 1 + sys-fs/mount-zip/mount-zip-1.0.12.ebuild | 46 ++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+)