[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#62938: 30.0.50; Emacsclient -nc can fail with to many arguments unde
From: |
Björn Bidar |
Subject: |
bug#62938: 30.0.50; Emacsclient -nc can fail with to many arguments under Wayland |
Date: |
Thu, 20 Apr 2023 08:57:20 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Robert Pluim <rpluim@gmail.com> writes:
>>>>>> 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@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.
I'm starting it using systemd --user:
~/:systemctl --user cat emacs.service
# /home/bidar/.local/etc/systemd/user/emacs.service
[Unit]
Description=Emacs: the extensible, self-documenting text editor
Wants=graphical.target
Wants=environment.target
[Service]
Type=forking
ExecStart=/usr/bin/emacs --daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=always
TimeoutStartSec=0
[Install]
WantedBy=default.target
# /home/bidar/.local/etc/systemd/user/emacs.service.d/gdkenv.conf
[Service]
Environment=GDK_DPI_SCALE=0.8
Environment=GDK_SCALE=2
# /home/bidar/.local/etc/systemd/user/emacs.service.d/override.conf
[Service]
TimeoutStopSec=600
I don't think using fg-daemon should make a difference.
> 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?
No that's not set.
> Could you also check which emacsclient is being invoked (eg
> emacsclient -V) and ensure it corresponds to your version of Emacs?
There's only one Emacs installed.
> Robert