Created attachment 925645 [details] build.log ``` ====================================================================== ERROR: test_elliptic_curve_data_exchange (kitty_tests.crypto.TestCrypto.test_elliptic_curve_data_exchange) ---------------------------------------------------------------------- Traceback (most recent call last): File "/var/tmp/portage/x11-terms/kitty-0.41.1/work/kitty-0.41.1/kitty/launcher/../../kitty_tests/crypto.py", line 31, in test_elliptic_curve_data_exchange alice_secret = alice.derive_secret(bob.public) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AES256GCMDecrypt = <class 'fast_data_types.AES256GCMDecrypt'> AES256GCMEncrypt = <class 'fast_data_types.AES256GCMEncrypt'> CryptoError = <class 'fast_data_types.CryptoError'> EllipticCurveKey = <class 'fast_data_types.EllipticCurveKey'> alice = <fast_data_types.EllipticCurveKey object at 0x727d80b216d0> bob = <fast_data_types.EllipticCurveKey object at 0x727d80b201f0> self = <kitty_tests.crypto.TestCrypto testMethod=test_elliptic_curve_data_exchange> PermissionError: [Errno 1] Operation not permitted ---------------------------------------------------------------------- Ran 138 tests in 4.112s FAILED (errors=1, skipped=2) All Go tests succeeded, ran in 27.5 seconds Error: Some tests failed! * ERROR: x11-terms/kitty-0.41.1::gentoo failed (test phase): * (no error message) ``` --- # emerge --info Portage 3.0.67 (python 3.12.9-final-0, default/linux/amd64/23.0/desktop/plasma/systemd, gcc-14, glibc-2.40-r8, 6.14.3 x86_64) ================================================================= System uname: Linux-6.14.3-x86_64-AMD_Ryzen_9_3950X_16-Core_Processor-with-glibc2.40 KiB Mem: 65737644 total, 3062508 free KiB Swap: 16662520 total, 107668 free Timestamp of repository gentoo: Tue, 22 Apr 2025 03:35:10 +0000 sh bash 5.2_p37 ld GNU ld (Gentoo 2.44 p1) 2.44.0 app-misc/pax-utils: 1.3.8::gentoo app-shells/bash: 5.2_p37::gentoo dev-build/autoconf: 2.72-r1::gentoo dev-build/automake: 1.17-r1::gentoo dev-build/cmake: 3.31.5::gentoo dev-build/libtool: 2.5.4::gentoo dev-build/make: 4.4.1-r100::gentoo dev-build/meson: 1.7.0::gentoo dev-lang/perl: 5.40.0-r1::gentoo dev-lang/python: 3.12.9::gentoo, 3.13.2::gentoo dev-lang/rust: 1.85.1::gentoo dev-lang/rust-bin: 1.84.1-r2::gentoo, 1.85.1::gentoo llvm-core/clang: 19.1.7::gentoo llvm-core/llvm: 19.1.7::gentoo sys-apps/baselayout: 2.17::gentoo sys-apps/sandbox: 2.39::gentoo sys-apps/systemd: 256.10::gentoo sys-devel/binutils: 2.44::gentoo sys-devel/binutils-config: 5.5.2::gentoo sys-devel/gcc: 11.5.0::gentoo, 12.4.1_p20241219::gentoo, 13.3.1_p20241220::gentoo, 14.2.1_p20241221::gentoo sys-devel/gcc-config: 2.12.1::gentoo sys-kernel/linux-headers: 6.12::gentoo (virtual/os-headers) sys-libs/glibc: 2.40-r8::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 volatile: False sync-rsync-extra-opts: sync-rsync-verify-metamanifest: yes sync-rsync-verify-max-age: 3 sync-rsync-verify-jobs: 1 ACCEPT_KEYWORDS="amd64" ACCEPT_LICENSE="@FREE" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -pipe" DISTDIR="/var/cache/distfiles" EMERGE_DEFAULT_OPTS="--keep-going --complete-graph --usepkg=y" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg buildpkg-live clean-logs config-protect-if-modified distlocks fixlafiles ipc-sandbox merge-wait multilib-strict network-sandbox news parallel-fetch parallel-install pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox split-elog split-log strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="https://www.mirrorservice.org/sites/distfiles.gentoo.org/ https://mirror.bytemark.co.uk/gentoo/ https://mirrors.soeasyto.com/distfiles.gentoo.org/ https://mirrors.gethosted.online/gentoo/" LANG="C.UTF8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs" LEX="flex" MAKEOPTS="-j4 -l4" PKGDIR="/var/cache/binpkgs" PORTAGE_COMPRESS="xz" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" SHELL="/bin/bash" USE="X a52 aac acl acpi activities alsa amd64 bindist bluetooth branding bzip2 cairo cdda cdr cet crypt cups dbus declarative dri dts dvd dvdr encode exif flac gdbm gif gpm gtk gui iconv icu ipv6 jpeg kde kf6compat kwallet lcms libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses networkmanager nls ogg opengl openmp pam pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 qt6 readline screencast sdl seccomp semantic-desktop sound spell ssl startup-notification svg systemd test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_14" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres17" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
This is within a systemd-nspawn container, it also has SuppressSync=true but more likely the seccomp stuff nspawn does.
Haven't tried nspawn (never used that, not familiar with it), but fwiw 0.41.1 tests do pass for me on my stable desktop/plasma(+gnome merged)/systemd amd64 VM. test_elliptic_curve_data_exchange (kitty_tests.crypto.TestCrypto.test_elliptic_curve_data_exchange) ... ok Does this really need to block stable, and/or skip the test just for nspawn?
Let me have a look.
On side-note, this may possibly be affecting the current stable too given juippis and arthur handled kitty for stable for the longest time and I imagine have a different setup.
I suspect the mlock call in https://github.com/kovidgoyal/kitty/blob/db5b691545dd3b6a7b1cf09c75c805db513a1e75/kitty/crypto.c#L181 fails. Let's skip it for nspawn?
I'll allow mlock in my configuration going forward (it's default disabled, not something I did explicitly).
(In reply to Sam James from comment #5) > I suspect the mlock call in > https://github.com/kovidgoyal/kitty/blob/ > db5b691545dd3b6a7b1cf09c75c805db513a1e75/kitty/crypto.c#L181 fails. > > Let's skip it for nspawn? Sure, have to skip the whole crypto.py file by deleting it given the way kitty tests are run are inconvenient to control -- but this is the only test in crypto.py right now so we don't miss anything else.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2926e215c63472c24757ea128933e78b399e9585 commit 2926e215c63472c24757ea128933e78b399e9585 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2025-04-22 05:48:11 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2025-04-22 06:00:00 +0000 x11-terms/kitty: skip crypto.py tests Haven't actually tried nspawn, but the test is not ran anymore so it should be fine in theory. Closes: https://bugs.gentoo.org/954176 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> x11-terms/kitty/kitty-0.41.1.ebuild | 2 ++ x11-terms/kitty/kitty-9999.ebuild | 2 ++ 2 files changed, 4 insertions(+)