Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 954176 - x11-terms/kitty-0.41.1: fails tests (test_elliptic_curve_data_exchange)
Summary: x11-terms/kitty-0.41.1: fails tests (test_elliptic_curve_data_exchange)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Ionen Wolkens
URL:
Whiteboard:
Keywords: TESTFAILURE
Depends on:
Blocks: 953919
  Show dependency tree
 
Reported: 2025-04-22 04:45 UTC by Sam James
Modified: 2025-04-22 06:01 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (file_954176.txt,845.17 KB, text/plain)
2025-04-22 04:45 UTC, Sam James
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-04-22 04:45:52 UTC
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
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-04-22 04:46:26 UTC
This is within a systemd-nspawn container, it also has SuppressSync=true but more likely the seccomp stuff nspawn does.
Comment 2 Ionen Wolkens gentoo-dev 2025-04-22 05:26:26 UTC
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?
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-04-22 05:29:54 UTC
Let me have a look.
Comment 4 Ionen Wolkens gentoo-dev 2025-04-22 05:32:41 UTC
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.
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-04-22 05:35:19 UTC
I suspect the mlock call in https://github.com/kovidgoyal/kitty/blob/db5b691545dd3b6a7b1cf09c75c805db513a1e75/kitty/crypto.c#L181 fails.

Let's skip it for nspawn?
Comment 6 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-04-22 05:37:45 UTC
I'll allow mlock in my configuration going forward (it's default disabled, not something I did explicitly).
Comment 7 Ionen Wolkens gentoo-dev 2025-04-22 05:43:58 UTC
(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.
Comment 8 Larry the Git Cow gentoo-dev 2025-04-22 06:01:08 UTC
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(+)