Subject: bug#57676: closed (Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 11 Sep 2022 16:30:03 +0000

Your bug report

#57572: 29.0.50; Tramp: Unable to close vterm buffer with remote default-directory

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
57572: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=57572
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#57572: 29.0.50; Tramp error with tramp-file-name-unify
From: Michael Albinus <[email-masked]>
To: Thierry Volpiatto <[email-masked]>
Cc: [email-masked]
Date: Sun, 11 Sep 2022 18:29:07 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 29.1

Thierry Volpiatto <[email-masked]> writes:

Hi Thierry,

>> Finally, I've fixed this. I don't check any longer for `non-essential'.
>> Instead, the Tramp cache is disabled when it is invoked with a relative
>> file name. This seems to be more robust, and it passes both
>> helm-find-files and the Tramp testsuite check.
>>
>> Pushed to master. Could you give it a try?
>
> It is working fine now, no error.

Thanks, I'm closing the bug.

> Thanks you very much for this.

Best regards, Michael.

Subject: 29.0.50; Tramp: Unable to close vterm buffer with remote default-directory
From: James Ferguson <[email-masked]>
To: [email-masked]
Date: Thu, 8 Sep 2022 08:48:35 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Perhaps what I'm doing is misguided, but it used to work before I
recently rebuilt (to master @ e1282c8c66): I open (vterm)
buffers to remote hosts, and set `default-directory` on them to be
'/sshx:<host>:.' for convenience when opening files from that buffer.

When trying to close the terminal one way or another (with debug-on-error)
I now get:

Debugger entered--Lisp error: (file-error "File ‘.’ must be absolute")
  signal(file-error ("File ‘.’ must be absolute"))
  tramp-error((tramp-file-name "sshx" nil nil "4x02" nil "." nil)
file-error "File `%s' must be absolute" ".")
  tramp-file-name-unify((tramp-file-name "sshx" nil nil "4x02" nil "." nil)
".")
  tramp-get-file-property((tramp-file-name "sshx" nil nil "4x02" nil "."
nil) "." "file-truename")
  tramp-flush-file-properties((tramp-file-name "sshx" nil nil "4x02" nil
"." nil) ".")
  tramp-flush-file-function()
  kill-buffer(#<buffer Terminal-4x02 volta@4x02 (10.0.154.60) - byobu>)
  (if (and vterm-kill-buffer-on-exit (buffer-live-p buf)) (kill-buffer buf))
  (let ((buf (process-buffer process))) (run-hook-with-args
'vterm-exit-functions (if (buffer-live-p buf) buf nil) event) (if (and
vterm-kill-buffer-on-exit (buffer-live-p buf)) (kill-buffer buf)))
  vterm--sentinel(#<process vterm> "finished\n")

And I am unable to close the buffer.

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.20, cairo version 1.16.0) of 2022-09-07 built on jf-laptop
Repository revision: e1282c8c66f228d45b03fd7109ffe6bc7ea201a9
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12013000
System Description: Ubuntu 20.04.5 LTS

Configured using:
 'configure --with-native-compilation'

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

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: VTerm

Minor modes in effect:
  openwith-mode: t
  org-roam-db-autosync-mode: t
  corfu-doc-mode: t
  ws-butler-global-mode: t
  winner-mode: t
  which-key-mode: t
  vertico-mode: t
  global-tree-sitter-mode: t
  prescient-persist-mode: t
  projectile-mode: t
  async-bytecomp-package-mode: t
  dired-async-mode: t
  minions-mode: t
  marginalia-mode: t
  textsize-mode: t
  direnv-mode: t
  global-corfu-mode: t
  corfu-mode: t
  pixel-scroll-precision-mode: t
  shell-dirtrack-mode: t
  savehist-mode: t
  save-place-mode: t
  recentf-mode: t
  global-hl-line-mode: t
  global-auto-revert-mode: t
  electric-pair-mode: t
  delete-selection-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/james/.emacs.d/elpa/dpkg-dev-el-20190824.2314/debian-autoloads hides
/home/james/.emacs.d/elpa/debian-el-20211006.1939/debian-autoloads
/home/james/.emacs.d/elpa/transient-20220717.1713/transient hides
/home/james/src/emacs/lisp/transient
/home/james/.emacs.d/my-packages/custom hides
/home/james/src/emacs/lisp/custom

Features:
(shadow sort expand-region text-mode-expansions cc-mode-expansions
the-org-mode-expansions python-el-fgallina-expansions
er-basic-expansions expand-region-core expand-region-custom mail-extr
emacsbug message yank-media rfc822 mml mml-sec epa gnus-util mm-decode
mm-bodies mm-encode mailabbrev gmm-utils mailheader sendmail mail-utils
mule-util lsp-pyright lsp-ui lsp-ui-flycheck lsp-ui-doc goto-addr
lsp-ui-imenu lsp-ui-peek lsp-ui-sideline flycheck jka-compr let-alist
lsp-ui-util lsp-mode lsp-protocol xref spinner network-stream
markdown-mode imenu ht f f-shortdoc shortdoc ewoc epg rfc6068 epg-config
vterm bookmark face-remap color term disp-table ehelp vterm-module
term/xterm xterm cursor-sensor myremote openwith my-org-roam
org-roam-dailies org-roam-migrate org-roam-log org-roam-mode inline
org-roam-capture org-roam-id org-roam-node org-roam-db org-roam-utils
org-roam-compat org-roam org-capture org-attach org-id ox-reveal ox-odt
rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse
nxml-ns nxml-enc xmltok nxml-util ox-md ox-latex ox-icalendar org-agenda
org-refile ox-html table ox-ascii ox-publish ox org-element avl-tree
generator ob-async org-variable-pitch org org-macro org-footnote
org-pcomplete org-list org-faces org-entities noutline outline
org-version ob-C cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles
cc-align cc-engine cc-vars cc-defs ob-http ob-http-mode ob-python
py-isort python-black reformatter python ob-shell ob-ditaa ob-plantuml
ob-dot ob ob-tangle org-src ob-ref ob-lob ob-table ob-exp ob-comint
ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol org-keys oc
org-compat org-macs org-loaddefs find-func cal-menu calendar
cal-loaddefs emacsql-sqlite url-http url-auth mail-parse rfc2231 rfc2047
rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny emacsql
emacsql-compiler magit-section benchmark compat-27 compat-26
display-fill-column-indicator flyspell ispell highlight-symbol cl
yasnippet-snippets yasnippet corfu-doc faff-theme init xterm-color
ws-butler winner which-key vterm-autoloads vertico tree-sitter-langs
tree-sitter-langs-build tar-mode arc-mode archive-mode tree-sitter-hl
tree-sitter tree-sitter-load tree-sitter-cli tsc tsc-dyn tsc-dyn-get
tsc-obsolete s prescient comp comp-cstr warnings projectile skeleton
find-dired dired-x dired-filetype-face async-bytecomp dired-async
dired-aux async dired dired-loaddefs lisp-mnt ibuffer-vc ibuf-macs
ibuf-ext ibuffer ibuffer-loaddefs thingatpt project orderless minions
compat compat-macs marginalia hydra lv grep-a-lot advice textsize direnv
diff-mode dash corfu pcase dotenv-mode server pixel-scroll cua-base
edmacro kmacro tramp-sh docker-tramp tramp-cache time-stamp tramp
tramp-loaddefs trampver tramp-integration cus-edit pp icons files-x
tramp-compat shell pcomplete parse-time iso8601 time-date ls-lisp
format-spec savehist saveplace recentf tree-widget wid-edit grep compile
text-property-search comint ansi-color ring hl-line autorevert
filenotify elec-pair delsel cus-load straight-autoloads cl-extra
help-mode straight use-package use-package-ensure use-package-delight
use-package-diminish use-package-bind-key bind-key easy-mmode
use-package-core derived finder-inf ede/auto eieio-base
atomic-chrome-autoloads dap-mode-autoloads dpkg-dev-el debian-el
embark-consult-autoloads consult-autoloads embark-autoloads
company-autoloads lsp-docker-autoloads lsp-ui-autoloads
lsp-mode-autoloads magit-autoloads marginalia-autoloads
markdown-mode-autoloads org-modern-autoloads org-roam-autoloads
magit-section-autoloads async-autoloads js2-mode-autoloads rx
flycheck-autoloads transient-autoloads treemacs-autoloads
projectile-autoloads typescript-mode-autoloads compat-autoloads info
yaml-autoloads yasnippet-snippets-autoloads package browse-url url
url-proxy url-privacy url-expand url-methods url-history url-cookie
generate-lisp-file url-domsuf url-util mailcap url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs password-cache json subr-x
map byte-opt gv bytecomp byte-compile cconv url-vars cl-loaddefs cl-lib
rmc iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode 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 lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq
simple cl-generic indonesian philippine 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 emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 1235783 559015)
 (symbols 48 57151 55)
 (strings 32 306661 80560)
 (string-bytes 1 11340219)
 (vectors 16 64943)
 (vector-slots 8 1166513 120164)
 (floats 8 455 292)
 (intervals 56 3980 450)
 (buffers 1000 18))