Package: emacs;
Reported by: Björn Bidar <bjorn.bidar <at> thaodan.de>
Date: Tue, 18 Apr 2023 16:09:02 UTC
Severity: normal
Found in version 30.0.50
View this message in rfc822 format
From: Robert Pluim <rpluim <at> gmail.com> To: 62938 <at> debbugs.gnu.org Cc: Björn Bidar <bjorn.bidar <at> thaodan.de> Subject: bug#62938: 30.0.50; Emacsclient -nc can fail with to many arguments under Wayland Date: Wed, 19 Apr 2023 12:01:37 +0200
>>>>> On Tue, 18 Apr 2023 19:08:19 +0300, Björn Bidar via "Bug reports for GNU Emacs, the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org> said: Björn> I start emacsclient -nc using a global shortcut in KDE (S-e in my case) Björn> start by the included Emacsclient desktop file. Björn> (exec emacsclient --alternate-editor= --display="\$DISPLAY" "\$@"; else exec emacsclient --alternate-editor= --create-frame; fi' sh %F) Björn> The command fails silently visually but in the logs there's: Björn> Apr 18 18:47:46 odin kwin_wayland_wrapper[22013]: *ERROR*: Assertion failed: (eq (match-end 0) Björn> The bug only happens on Wayland, on X11 the issue isn't present. Björn> I believe the issue was present before Emacs 29 was branched off. Björn> My WM/Compositor is Kwin. Björn> Enabling toggle-debug-error shows this backtrace: Björn> Debugger entered--Lisp error: (cl-assertion-failed ((eq (match-end 0) (length string)) nil)) Björn> cl--assertion-failed((eq (match-end 0) (length string))) Björn> server-process-filter(#<process server <121>> "-env SHELL=/bin/zsh -env LESSHISTFILE=/home/bidar/.local/var/lib/lesshist -env XDG_CONFIG_DIRS=/home/bidar/.local/etc/kdedefaults:/etc/xdg:/usr/local/etc/xdg:/usr/etc/xdg -env KGLOBALACCELD_PLATFORM=org.kde.kwin -env LESS=-M&_-I&_-R -env XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session5 -env AZURE_CONFIG_DIR=/home/bidar/.local/var/lib/azure -env MACHTYPE=x86_64 -env G_BROKEN_FILENAMES=1 -env HOSTNAME=odin -env HISTSIZE=1000 -env MOZ_X11_EGL=1 -env XDG_LOG_HOME=/home/bidar/.local/var/log -env LANGUAGE= -env FROM_HEADER= -env MINICOM=-c&_on -env PGSERVICEFILE=/home/bidar/.local/etc/pg/pg_service.conf -env JAVA_ROOT=/usr/lib64/jvm/jre-openjdk -env JAVA_HOME=/usr/lib64/jvm/jre-openjdk -env PSQL_HISTORY=/home/bidar/.local/var/lib/psql_history -env AUDIODRIVER=pulseaudio -env JRE_HOME=/usr/lib64/jvm/java-11-openjdk-11 -env SSH_AUTH_SOCK=/run/user/1000/gnupg/d.n74fqagsknsej3pgum7zfpmo/S.gpg-agent.ssh -env XDG_DATA_HOME=/home/bidar/.local/share -env CPU=x86_64 -env XDG_CONFIG_HOME=/home/bidar/.local/etc -env JAVA_BINDIR=/usr/lib64/jvm/jre-openjdk/bin -env CHECKUPDATES_DB=/home/bidar/.local/var/lib/pacman/checkupdates -env GNUPGHOME=/home/bidar/.local/share/gnupg -env DESKTOP_SESSION=/usr/share/wayland-sessions/plasmawayland -env LC_MONETARY=fi_FI.UTF-8 -env XCURSOR_SIZE=24 -env EDITOR=editor -env XDG_SEAT=seat0 -env PWD=/home/bidar -env PARALLEL_HOME=/home/bidar/.local/etc/parallel -env QEMU_AUDIO_DRV=pa -env XDG_SESSION_DESKTOP=KDE -env LOGNAME=bidar -env XDG_SESSION_TYPE=wayland -env CURLOPT_NETRC_FILE=/home/bidar/.local/etc/netrc -env MANPATH=/home/bidar/.local/share/man:/usr/local/man:/usr/share/man -env PGPASSFILE=/home/bidar/.local/etc/pg/pgpass -env SYSTEMD_EXEC_PID=19722 -env PGPPATH=/home/bidar/.local/share/gnupg -env XAUTHORITY=/run/user/1000/xauth_IgqpMR -env XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB -env QT_STYLE_OVERRIDE=kvantum -env XKB_DEFAULT_MODEL=pc105+inet -env RANDFILE=/home/bidar/.local/var/cache/rnd -env GTK2_RC_FILES=/home/bidar/.local/etc/gtk-2.0/gtkrc-2.0 -env XNLSPATH=/usr/share/X11/nls -env HOME=/home/bidar -env LANG=en_GB.UTF-8 -env TMUX_TMPDIR=/run/user/1000 -env WINEPREFIX=/home/bidar/.local/share/wine/default -env XDG_CURRENT_DESKTOP=KDE -env CARGO_HOME=/home/bidar/.local/var/lib/cargo -env GIMP2_DIRECTORY=/home/bidar/.local/var/lib/gimp -env PYTHONSTARTUP=/home/bidar/.local/lib/python/startup.py -env WAYLAND_DISPLAY=wayland-0 -env TASKDATA=/home/bidar/.local/var/lib/task -env OSTYPE=linux-gnu -env XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 -env NLTK_DATA=/home/bidar/.local/var/lib/nltk -env LESS_ADVANCED_PREPROCESSOR=no -env INVOCATION_ID=81a32aad87d6475db7f7f33fd7d8c330 -env XDG_LIB_HOME=/home/bidar/.local/lib -env WGETRC=/home/bidar/.local/etc/wgetrc -env MANAGERPID=3889 -env KDE_SESSION_UID=1000 -env XDG_CACHE_HOME=/home/bidar/.local/var/cache -env MOZ_GMP_PATH=/usr/lib64/mozilla/plugins/gmp-gmpopenh264/system-installed -env XKB_DEFAULT_LAYOUT=us -env GDBHISTFILE=/home/bidar/.local/share/gdb/history -env XDG_ACTIVATION_TOKEN=kwin-15 -env WINEDLLOVERRIDES=winemenubuilder.exe=d -env LESSCLOSE=lessclose.sh&_%s&_%s -env XDG_SESSION_CLASS=user -env TERMINFO=/home/bidar/.local/share/terminfo -env G_FILENAME_ENCODING=@locale,UTF-8,ISO-8859-15,CP1252 -env HOST=odin -env XAUTHLOCALHOSTNAME=odin -env ZDOTDIR=/home/bidar/.local/etc/zsh -env PSQLRC=/home/bidar/.local/etc/pg/psqlrc -env LESSOPEN=lessopen.sh&_%s -env USER=bidar -env MYSQL_HISTFILE=/home/bidar/.local/var/lib/mysql_history -env PLASMA_USE_QT_SCALING=1 -env TS3_CONFIG_DIR=/home/bidar/.local/etc/ts3client -env KDE_SESSION_VERSION=5 -env VAULT_CLIENT_CONFIG=/home/bidar/.local/var/lib/vault-client/vaultrc -env MORE=-sl -env NPM_CONFIG_USERCONFIG=/home/bidar/.local/etc/npm/npmrc -env XINITRC=/home/bidar/.local/etc/X11/xinitrc -env VISUAL=editor -env QT_WAYLAND_FORCE_DPI=144 -env CSHEDIT=emacs -env DISPLAY=:1 -env SHLVL=0 -env INPUTRC=/home/bidar/.local/etc/readline/inputrc -env TASKRC=/home/bidar/.local/etc/task/taskrc -env WINDOWMANAGER=/usr/bin/startplasma-x11 -env PAGER=/usr/bin/less -env WINEPREFIX_PATH=/home/bidar/.local/share/wineprefixes -env LC_MEASUREMENT=fi_FI.UTF-8 -env XDG_VTNR=2 -env XDG_SESSION_ID=11 -env DVDCSS_CACHE=/home/bidar/.local/var/cache/dvdcss -env XDG_STATE_HOME=/home/bidar/.local/var/lib -env XDG_RUNTIME_DIR=/run/user/1000 -env DEBUGINFOD_URLS=https://debuginfod.opensuse.org/ -env QT_AUTO_SCREEN_SCALE_FACTOR=0 -env JOURNAL_STREAM=8:6822949 -env MANPATHISSET=yes -env XCURSOR_THEME=neutral_ccc -env XDG_DATA_DIRS=/home/bidar/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share -env KDE_FULL_SESSION=true -env QSG_RENDER_LOOP=basic -env SQLITE_HISTORY=/home/bidar/.local/var/lib/sqlite_history -env VENDOR=sony -env CONFIG_SITE=/usr/share/site/x86_64-pc-linux-gnu -env BROWSER=firefox -env PATH=/home/bidar/.local/bin:/home/bidar/.local/bin:/home/bidar/.local/bin:/usr/local/bin:/usr/bin:/bin -env NETHACKOPTIONS=@/home/bidar/.local/etc/nethack/nethackrc -env DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus -env PROFILEREAD=true -env PASSWORD_STORE_DIR=/home/bidar/.local/share/password-stores/personal -env KDE_APPLICATIONS_AS_SCOPE=1 -env MAIL=/var/mail/bidar -env HOSTTYPE=x86_64 -env _JAVA_OPTIONS=\"-Djava.util.prefs.userRoot=\\\"/home/bidar/.local/etc\\\"/java\" -env XKB_DEFAULT_OPTIONS=terminate:ctrl_alt_bksp -env LESSKEY=/usr/etc/lesskey.bin -env OLDPWD=/home/bidar -dir /home/bidar/ -display :1 -window-system \nWaiting for Emacs...") Björn> I assume the arguments passed to the daemon process are to long because Björn> of the amount of environment variables that I set. How are you starting the daemon emacs? Does this still happen if you start the daemon as 'emacs --fg-daemon' instead. The issue is that emacsclient is sending 'Waiting for Emacs...' to the emacs server socket instead of stdout. Are you using the EMACS_SOCKET_NAME environment variable or the '--socket-name' option somehow? Could you also check which emacsclient is being invoked (eg emacsclient -V) and ensure it corresponds to your version of Emacs? Robert --
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.