Subject: bug#51266: 27.1; A missing archive in save-place-alist prevents Emacs from closing

From: Дмитрий Полиенко<[email-masked]>
Date: Mon, 18 Oct 2021 22:05:05 +0700

Start Emacs without extra settings:

emacs -Q

Evaluate the following expressions:

(save-place-mode)
(add-to-list 'save-place-alist '("/a.zip/b" . 1))
(kill-emacs)

This produces an error because the archive "/a.zip" does not exist, so
Emacs does not terminate. Backtrace of the error:

(file-error "Error when getting information for file “/a.zip”: ...")
signal(file-error ("Error when getting information for file “/a.zip”:
..."))
tramp-gvfs-dbus-event-error((dbus-event :session 3 20 ":1.3" nil nil nil
ignore "Error when getting information for file “/a.zip”: ...") (dbus-error
"Error when getting information for file “/a.zip”: ..."))
run-hook-with-args(tramp-gvfs-dbus-event-error (dbus-event :session 3 20
":1.3" nil nil nil ignore "Error when getting information for file
“/a.zip”: ...") (dbus-error "Error when getting information for file
“/a.zip”: ..."))
dbus-handle-event((dbus-event :session 3 20 ":1.3" nil nil nil ignore
"Error when getting information for file “/a.zip”: ..."))
funcall-interactively(dbus-handle-event (dbus-event :session 3 20 ":1.3"
nil nil nil ignore "Error when getting information for file “/a.zip”:
..."))
call-interactively(dbus-handle-event nil [(dbus-event :session 3 20 ":1.3"
nil nil nil ignore "Error when getting information for file “/a.zip”:
...")])
command-execute(dbus-handle-event nil [(dbus-event :session 3 20 ":1.3" nil
nil nil ignore "Error when getting information for file “/a.zip”: ...")] t)
read-event(nil nil 0.1)
tramp-gvfs-maybe-open-connection((tramp-file-name "archive" nil nil
"file%3A%2F%2F%2Fa.zip" nil "/" nil))
tramp-gvfs-send-command((tramp-file-name "archive" nil nil
"file%3A%2F%2F%2Fa.zip" nil "/" nil) "gvfs-ls" "-h" "-n" "-a"
"name,type,standard::display-name,standard::symlink..."
"archive://file%253A%252F%252F%252Fa.zip/")
tramp-gvfs-get-directory-attributes("/archive:file%3A%2F%2F%2Fa.zip:/")
tramp-gvfs-get-file-attributes("/archive:file%3A%2F%2F%2Fa.zip:/b")
tramp-gvfs-handle-file-attributes("/archive:file%3A%2F%2F%2Fa.zip:/b")
apply(tramp-gvfs-handle-file-attributes
"/archive:file%3A%2F%2F%2Fa.zip:/b")
tramp-gvfs-file-name-handler(file-attributes
"/archive:file%3A%2F%2F%2Fa.zip:/b")
apply(tramp-gvfs-file-name-handler file-attributes
"/archive:file%3A%2F%2F%2Fa.zip:/b")
tramp-file-name-handler(file-attributes
"/archive:file%3A%2F%2F%2Fa.zip:/b")
file-attributes("/archive:file%3A%2F%2F%2Fa.zip:/b")
tramp-handle-file-exists-p("/archive:file%3A%2F%2F%2Fa.zip:/b")
apply(tramp-handle-file-exists-p "/archive:file%3A%2F%2F%2Fa.zip:/b")
tramp-gvfs-file-name-handler(file-exists-p
"/archive:file%3A%2F%2F%2Fa.zip:/b")
apply(tramp-gvfs-file-name-handler file-exists-p
"/archive:file%3A%2F%2F%2Fa.zip:/b")
tramp-file-name-handler(file-exists-p "/archive:file%3A%2F%2F%2Fa.zip:/b")
file-exists-p("/archive:file%3A%2F%2F%2Fa.zip:/b")
tramp-gvfs-handle-file-readable-p("/archive:file%3A%2F%2F%2Fa.zip:/b")
apply(tramp-gvfs-handle-file-readable-p
"/archive:file%3A%2F%2F%2Fa.zip:/b")
tramp-gvfs-file-name-handler(file-readable-p
"/archive:file%3A%2F%2F%2Fa.zip:/b")
apply(tramp-gvfs-file-name-handler file-readable-p
"/archive:file%3A%2F%2F%2Fa.zip:/b")
tramp-file-name-handler(file-readable-p
"/archive:file%3A%2F%2F%2Fa.zip:/b")
file-readable-p("/archive:file%3A%2F%2F%2Fa.zip:/b")
tramp-archive-handle-file-readable-p("/a.zip/b")
apply(tramp-archive-handle-file-readable-p "/a.zip/b")
tramp-archive-file-name-handler(file-readable-p "/a.zip/b")
file-readable-p("/a.zip/b")
save-place-forget-unreadable-files()
save-place-alist-to-file()
save-place-kill-emacs-hook()
kill-emacs()
eval((kill-emacs) nil)
elisp--eval-last-sexp(nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
call-interactively(eval-last-sexp nil nil)
command-execute(eval-last-sexp)

In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.23,
cairo version 1.16.0)
of 2021-01-18, modified by Debian built on lgw01-amd64-045
Windowing system distributor 'The X.Org Foundation', version 11.0.12101001
System Description: Ubuntu 21.04

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
t
(("/a.zip/b" . 1))
Tramp: Opening connection for file%3A%2F%2F%2Fa.zip using archive...
Entering debugger...
Mark set
Saved text from "Debugger entered--Lisp error: (file-erro"

Configured using:
'configure --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --enable-libsystemd --with-pop=yes
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.1/site-lisp:/usr/share/emacs/site-lisp

--with-sound=alsa --without-gconf --with-mailutils --build
x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
--libexecdir=/usr/lib --localstatedir=/var/lib
--infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
--with-pop=yes
--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.1/site-lisp:/usr/share/emacs/site-lisp

--with-sound=alsa --without-gconf --with-mailutils --with-cairo
--with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars
'CFLAGS=-g -O2
-ffile-prefix-map=/build/emacs-P5Mppj/emacs-27.1+1=.
-fstack-protector-strong
-Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
-D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY
INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF
ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD
JSON PDUMPER LCMS2 GMP

Important settings:
value of $LC_ALL: en_US.utf8
value of $LC_MONETARY: ru_RU.UTF-8
value of $LC_NUMERIC: ru_RU.UTF-8
value of $LC_TIME: ru_RU.UTF-8
value of $LANG: en_US.utf8
locale-coding-system: utf-8-unix

Major mode: Debugger

Minor modes in effect:
shell-dirtrack-mode: t
save-place-mode: t
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
buffer-read-only: t
line-number-mode: t
transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail
rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils help-fns radix-tree
cl-print debug backtrace help-mode easymenu find-func tramp-cache
tramp-archive tramp-gvfs zeroconf url-util url-parse url-vars dbus xml
tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat
shell pcomplete comint ansi-color ring parse-time iso8601 time-date
ls-lisp format-spec auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs cl-loaddefs cl-lib password-cache json subr-x map seq
byte-opt gv bytecomp byte-compile cconv saveplace tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit
x multi-tty make-network-process emacs)

Memory information:
((conses 16 78716 10139)
(symbols 48 8925 1)
(strings 32 26036 1988)
(string-bytes 1 880659)
(vectors 16 15214)
(vector-slots 8 193140 9704)
(floats 8 48 300)
(intervals 56 963 198)
(buffers 1000 15))