GNU bug report logs - #41333
27.0.91; Spurious errors using TRAMP and auto-save-visited-mode

Previous Next

Package: emacs;

Reported by: Philipp Stephani <p.stephani2 <at> gmail.com>

Date: Sat, 16 May 2020 17:49:02 UTC

Severity: normal

Tags: moreinfo

Found in version 27.0.91

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 41333 in the body.
You can then email your comments to 41333 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#41333; Package emacs. (Sat, 16 May 2020 17:49:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Philipp Stephani <p.stephani2 <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 16 May 2020 17:49:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Philipp Stephani <p.stephani2 <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.0.91; Spurious errors using TRAMP and auto-save-visited-mode
Date: Sat, 16 May 2020 19:48:05 +0200
Unfortunately I don't have good reproduction steps; it seems this issue
is somewhat subtle and requires a certain interaction between
auto-save-visited-mode, and TRAMP, and various private customizations
and before-save-hooks.

When using auto-save-visited-mode for a file visited using TRAMP's SSH
backend, I frequently get prompts that the file has changed outside of
Emacs, even though that's not the case.  The issue isn't easily
reproducible.  It doesn't happen for local files or for manual saving.
Advising 'file-attributes' I noticed that 'file-attributes' for the file
being saved would occasionally return wrong values (newer than
visited-file-modtime) that actually can't come from TRAMP because they
would contain fractional seconds (TRAMP only returns whole seconds for
the modification time).  I've never encountered this issue in Emacs 26,
so it appears to be a regression.

To help debugging, I've added the following advice:

(define-advice file-attributes (:around (oldfun filename &optional id-format))
  (let ((attr (funcall oldfun filename id-format)))
    (message "ATTR (%s %s) = %s (%s)" filename id-format attr
             (find-file-name-handler filename 'file-attributes))
    attr))

I've slightly redacted the output and replaced the hostname with
HOSTNAME (assuming the exact host name doesn't matter):

ATTR (/ssh:HOSTNAME:/tmp/aaa.txt nil) = (nil 1 145471 89939 (24256 6885 0 0) (24256 7214 0 0) (24256 7214 0 0) 29 -rwx------ nil 19141457 (-1 . 2)) (tramp-file-name-handler)
Auto-saving...
Saving file /ssh:HOSTNAME:/tmp/aaa.txt...
ATTR (/ssh:HOSTNAME:/tmp/aaa.txt nil) = nil (tramp-file-name-handler)
ATTR (/ssh:HOSTNAME:/tmp/aaa.txt string) = nil (tramp-file-name-handler)
ATTR (/ssh:HOSTNAME:/tmp/ string) = (nil 1 phst group (24256 6885 0 0) (24256 7214 0 0) (24256 7214 0 0) 29 -rwx------ nil 19141457 (-1 . 2)) (tramp-file-name-handler)
ATTR (/ssh:HOSTNAME:/tmp/ integer) = (t 45 root root (24256 8484 0 0) (24256 8583 0 0) (24256 8583 0 0) 258048 drwxrwxrwt t 19136513 (-1 . 2)) (tramp-file-name-handler)
ATTR (/ssh:HOSTNAME:/tmp/aaa.txt integer) = (nil 1 145471 89939 (24256 6885 0 0) (24256 7214 0 0) (24256 7214 0 0) 29 -rwx------ nil 19141457 (-1 . 2)) (tramp-file-name-handler) [2 times]
ATTR (/ssh:HOSTNAME:/tmp/aaa.txt nil) = (nil 1 145471 89939 (24256 6885 0 0) (24256 7214 0 0) (24256 7214 0 0) 29 -rwx------ nil 19141457 (-1 . 2)) (tramp-file-name-handler)
ATTR (/ssh:HOSTNAME:(("‘/tmp/’") 45 0 0 1589649700 1589649799 1589649799 258048 "drwxrwxrwt" t 19136513 -1) nil) = nil (tramp-file-name-handler)
ATTR (/tmp/tramp.arEAuT.txt nil) = (nil 1 145471 89939 (24256 8985 410615 843000) (24256 8985 410615 843000) (24256 8985 410615 843000) 30 -rw-r----- t 3151576 65025) (nil)
Tramp: Encoding local file ‘/tmp/tramp.arEAuT.txt’ using ‘base64-encode-region’...done
Tramp: Decoding remote file ‘/ssh:HOSTNAME:/tmp/aaa.txt’ using ‘base64 -d -i >%s’...failed
Error running timer ‘save-some-buffers’: (file-error "Couldn’t find exit status of ‘nil’")

In all cases, the file /tmp/aaa.txt on the remote machine already
existed before.

Some observations:

- Several file-attributes invocations incorrectly return nil.  (Or does
  TRAMP temporarily remove files to be written?)

- Requesting attributes for the bogus file /ssh:HOSTNAME:(("‘/tmp/’") 45
  0 0 1589649700 1589649799 1589649799 258048 "drwxrwxrwt" t 19136513
  -1); i.e., TRAMP doesn't correctly parse the results to extract the
  filename.

I've also captured debug output at TRAMP verbosity level 6 (for a
different instance of the same problem, so the times are off):

19:00:18.033151 tramp-do-file-attributes-with-stat (5) # file attributes with stat: /tmp/aaa.txt
19:00:18.034235 tramp-send-command (6) # echo are you awake
19:00:18.072182 tramp-wait-for-regexp (6) # 
are you awake
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:18.072847 tramp-send-command (6) # ( (test -e /tmp/aaa.txt || test -h /tmp/aaa.txt) && (env QUOTING_STYLE=locale \stat -c '((/////%N/////) %h %u %g %X %Y %Z %s /////%A///// t %i -1)' /tmp/aaa.txt | sed -e 's/"/\\"/g' -e 's/\/\/\/\/\//"/g') || echo nil) 2>/dev/null; echo tramp_exit_status $?
19:00:18.119306 tramp-wait-for-regexp (6) # 
(("‘/tmp/aaa.txt’") 1 145471 89939 1589648101 1589648202 1589648202 28 "-rwx------" t 19141457 -1)
tramp_exit_status 0
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:23.172867 tramp-sh-handle-file-truename (4) # Finding true name for ‘/ssh:HOSTNAME:/tmp/aaa.txt’
19:00:23.173701 tramp-send-command (6) # \readlink --canonicalize-missing /tmp/aaa.txt 2>/dev/null; echo tramp_exit_status $?
19:00:23.181083 tramp-do-file-attributes-with-stat (5) # file attributes with stat: /tmp/aaa.txt
19:00:23.182313 tramp-send-command (6) # ( (test -e /tmp/aaa.txt || test -h /tmp/aaa.txt) && (env QUOTING_STYLE=locale \stat -c '((/////%N/////) %h %u %g %X %Y %Z %s /////%A///// t %i -1)' /tmp/aaa.txt | sed -e 's/"/\\"/g' -e 's/\/\/\/\/\//"/g') || echo nil) 2>/dev/null; echo tramp_exit_status $?
19:00:23.215904 tramp-wait-for-regexp (6) # 
/tmp/aaa.txt
tramp_exit_status 0
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:23.216710 tramp-convert-file-attributes (1) # Wrong type argument: "Wrong type argument", "listp /tmp/aaa.txt"
/tmp/aaa.txt
19:00:24.221875 tramp-send-command (6) # test -e /tmp/ 2>/dev/null; echo tramp_exit_status $?
19:00:24.223171 tramp-wait-for-regexp (6) # 
(("‘/tmp/aaa.txt’") 1 145471 89939 1589648101 1589648202 1589648202 28 "-rwx------" t 19141457 -1)
tramp_exit_status 0
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:24.228612 tramp-do-file-attributes-with-stat (5) # file attributes with stat: /tmp/aaa.txt
19:00:24.229313 tramp-send-command (6) # ( (test -e /tmp/aaa.txt || test -h /tmp/aaa.txt) && (env QUOTING_STYLE=locale \stat -c '((/////%N/////) %h /////%U///// /////%G///// %X %Y %Z %s /////%A///// t %i -1)' /tmp/aaa.txt | sed -e 's/"/\\"/g' -e 's/\/\/\/\/\//"/g') || echo nil) 2>/dev/null; echo tramp_exit_status $?
19:00:24.260094 tramp-wait-for-regexp (6) # 
tramp_exit_status 0
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:24.260662 tramp-send-command-and-read (1) # End of file during parsing: End of file during parsing, 
19:00:24.260947 tramp-send-command-and-read (1) # File error: ‘( (test -e /tmp/aaa.txt || test -h /tmp/aaa.txt) && (env QUOTING_STYLE=locale \stat -c '((/////%N/////) %h /////%U///// /////%G///// %X %Y %Z %s /////%A///// t %i -1)' /tmp/aaa.txt | sed -e 's/"/\\"/g' -e 's/\/\/\/\/\//"/g') || echo nil)’ does not return a valid Lisp expression: ‘’
19:00:24.264439 tramp-do-file-attributes-with-stat (5) # file attributes with stat: /tmp/
19:00:24.264845 tramp-send-command (6) # ( (test -e /tmp/ || test -h /tmp/) && (env QUOTING_STYLE=locale \stat -c '((/////%N/////) %h /////%U///// /////%G///// %X %Y %Z %s /////%A///// t %i -1)' /tmp/ | sed -e 's/"/\\"/g' -e 's/\/\/\/\/\//"/g') || echo nil) 2>/dev/null; echo tramp_exit_status $?
19:00:24.275420 tramp-wait-for-regexp (6) # 
(("‘/tmp/aaa.txt’") 1 "phst" "group" 1589648101 1589648202 1589648202 28 "-rwx------" t 19141457 -1)
tramp_exit_status 0
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:24.278446 tramp-do-file-attributes-with-stat (5) # file attributes with stat: /tmp/
19:00:24.278720 tramp-send-command (6) # ( (test -e /tmp/ || test -h /tmp/) && (env QUOTING_STYLE=locale \stat -c '((/////%N/////) %h %u %g %X %Y %Z %s /////%A///// t %i -1)' /tmp/ | sed -e 's/"/\\"/g' -e 's/\/\/\/\/\//"/g') || echo nil) 2>/dev/null; echo tramp_exit_status $?
19:00:24.318651 tramp-wait-for-regexp (6) # 
(("‘/tmp/’") 45 "root" "root" 1589647900 1589648202 1589648202 258048 "drwxrwxrwt" t 19136513 -1)
tramp_exit_status 0
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:24.332659 tramp-sh-handle-file-truename (4) # Finding true name for ‘/ssh:HOSTNAME:/tmp/aaa.txt’
19:00:24.332978 tramp-send-command (6) # \readlink --canonicalize-missing /tmp/aaa.txt 2>/dev/null; echo tramp_exit_status $?
19:00:24.333462 tramp-wait-for-regexp (6) # 
(("‘/tmp/’") 45 0 0 1589647900 1589648202 1589648202 258048 "drwxrwxrwt" t 19136513 -1)
tramp_exit_status 0
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:24.335735 tramp-sh-handle-file-truename (4) # True name of ‘/tmp/aaa.txt’ is ‘(("‘/tmp/’") 45 0 0 1589647900 1589648202 1589648202 258048 "drwxrwxrwt" t 19136513 -1)’
19:00:24.336918 tramp-do-file-attributes-with-stat (5) # file attributes with stat: /home/phst/(("‘/tmp/’") 45 0 0 1589647900 1589648202 1589648202 258048 "drwxrwxrwt" t 19136513 -1)
19:00:24.337678 tramp-send-command (6) # ( (test -e /home/phst/\(\(\"\‘/tmp/\’\"\)\ 45\ 0\ 0\ 1589647900\ 1589648202\ 1589648202\ 258048\ \"drwxrwxrwt\"\ t\ 19136513\ -1\) || test -h /home/phst/\(\(\"\‘/tmp/\’\"\)\ 45\ 0\ 0\ 1589647900\ 1589648202\ 1589648202\ 258048\ \"drwxrwxrwt\"\ t\ 19136513\ -1\)) && (env QUOTING_STYLE=locale \stat -c '((/////%N/////) %h %u %g %X %Y %Z %s /////%A///// t %i -1)' /home/phst/\(\(\"\‘/tmp/\’\"\)\ 45\ 0\ 0\ 1589647900\ 1589648202\ 1589648202\ 258048\ \"drwxrwxrwt\"\ t\ 19136513\ -1\) | sed -e 's/"/\\"/g' -e 's/\/\/\/\/\//"/g') || echo nil) 2>/dev/null; echo tramp_exit_status $?
19:00:24.371208 tramp-wait-for-regexp (6) # 
/tmp/aaa.txt
tramp_exit_status 0
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:24.371743 tramp-convert-file-attributes (1) # Wrong type argument: "Wrong type argument", "listp /tmp/aaa.txt"
/tmp/aaa.txt
19:00:24.374570 tramp-sh-handle-write-region (3) # Encoding local file ‘/tmp/tramp.2D3sJJ.txt’ using ‘base64-encode-region’...
19:00:24.375639 tramp-sh-handle-write-region (3) # Encoding local file ‘/tmp/tramp.2D3sJJ.txt’ using ‘base64-encode-region’...done
19:00:24.376356 tramp-sh-handle-write-region (3) # Decoding remote file ‘/ssh:HOSTNAME:/tmp/aaa.txt’ using ‘base64 -d -i >%s’...
19:00:24.376923 tramp-send-command (6) # base64 -d -i >/tmp/aaa.txt <<'3849061d8d7701c21894129e56a7abdb'
ICAgICBhIGEgYSBhCmEgIGFhCiggKQoKICAgYQo=
3849061d8d7701c21894129e56a7abdb
19:00:24.377966 tramp-wait-for-regexp (6) # 
nil
tramp_exit_status 0
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:24.378571 tramp-send-command (6) # echo tramp_exit_status $?
19:00:24.417274 tramp-wait-for-regexp (6) # 
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:24.417459 tramp-send-command-and-check (1) # File error: Couldn’t find exit status of ‘nil’
19:00:24.417918 tramp-sh-handle-write-region (3) # Decoding remote file ‘/ssh:HOSTNAME:/tmp/aaa.txt’ using ‘base64 -d -i >%s’...failed
19:00:24.430936 tramp-wait-for-regexp (6) # 
tramp_exit_status 0
///3fd45ca7347e13bbff44df1dfec2da79#$
19:00:24.433067 tramp-sh-handle-file-truename (4) # True name of ‘/tmp/aaa.txt’ is ‘’
19:00:24.434035 tramp-do-file-attributes-with-stat (5) # file attributes with stat: /home/phst/
19:00:24.434340 tramp-send-command (6) # ( (test -e /home/phst/ || test -h /home/phst/) && (env QUOTING_STYLE=locale \stat -c '((/////%N/////) %h %u %g %X %Y %Z %s /////%A///// t %i -1)' /home/phst/ | sed -e 's/"/\\"/g' -e 's/\/\/\/\/\//"/g') || echo nil) 2>/dev/null; echo tramp_exit_status $?
19:00:24.481437 tramp-wait-for-regexp (6) # 
(("‘/home/phst/’") 120 145471 89939 1589647041 1589647848 1589647848 16384 "drwx------" t 25958919 -1)
tramp_exit_status 0
///3fd45ca7347e13bbff44df1dfec2da79#$

Again some observations:

> Wrong type argument: "Wrong type argument", "listp /tmp/aaa.txt"

Apparently TRAMP doesn't correctly wait for the stat result and seems to
parse the output of readlink here?

> End of file during parsing: End of file during parsing,

Similary, TRAMP doesn't wait for the stat output and tries to parse an
empty string.

> True name of ‘/tmp/aaa.txt’ is ‘(("‘/tmp/’") 45 0 0 1589647900
> 1589648202 1589648202 258048 "drwxrwxrwt" t 19136513 -1)’

More out-of-order parsing: Here TRAMP attempts to parse the stat result
as a filename.  This is probably the source of the spurious filename
starting with (("‘tmp/’") ...

> File error: Couldn’t find exit status of ‘nil’

More out-of-order passing?

It seems likely that there are some bugs lurking in the TRAMP
implementation, especially related to the out-of-order passing:
apparently there are cases where TRAMP doesn't correctly wait for
command output to arrive and then parses the output of the previous
command.


In GNU Emacs 27.0.91 (build 11, x86_64-pc-linux-gnu, GTK+ Version 3.24.13)
 of 2020-05-16
Repository revision: b4937f64cd97ff6bf93538987c014f8ea8ff9d34
Repository branch: emacs-27
Windowing system distributor 'The X.Org Foundation', version 11.0.12007000
System Description: Debian GNU/Linux rodete

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured using:
 'configure --enable-checking=all --enable-gtk-deprecation-warnings
 --enable-gcc-warnings=warn-only --enable-check-lisp-object-type
 --with-mailutils --without-pop 'CFLAGS=-O0 -g3' LDFLAGS=-g3'

Configured features:
XPM JPEG TIFF GIF PNG SOUND DBUS GSETTINGS GLIB NOTIFY INOTIFY
LIBSELINUX GNUTLS FREETYPE HARFBUZZ XFT ZLIB TOOLKIT_SCROLL_BARS GTK3
X11 XDBE XIM MODULES THREADS PDUMPER GMP

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  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
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec epa epg epg-config gnus-util
rmail rmail-loaddefs text-property-search time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils phst skeleton
derived edmacro kmacro pcase ffap thingatpt url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache json map url-vars mailcap subr-x rx gnutls puny seq
byte-opt gv bytecomp byte-compile cconv dbus xml compile comint
ansi-color ring cl-loaddefs cl-lib 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 dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 68847 7436)
 (symbols 48 8957 1)
 (strings 32 23860 1529)
 (string-bytes 1 771764)
 (vectors 16 13233)
 (vector-slots 8 180510 7252)
 (floats 8 25 28)
 (intervals 56 207 0)
 (buffers 1000 12))

-- 
Google Germany GmbH
Erika-Mann-Straße 33
80636 München

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Paul Manicle, Halimah DeLaine Prado

If you received this communication by mistake, please don’t forward it to
anyone else (it may contain confidential or privileged information), please
erase all copies of it, including all attachments, and please let the sender
know it went to the wrong person.  Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41333; Package emacs. (Mon, 06 Jun 2022 13:37:01 GMT) Full text and rfc822 format available.

Message #8 received at 41333 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Philipp Stephani <p.stephani2 <at> gmail.com>
Cc: 41333 <at> debbugs.gnu.org
Subject: Re: bug#41333: 27.0.91; Spurious errors using TRAMP and
 auto-save-visited-mode
Date: Mon, 06 Jun 2022 15:36:11 +0200
Philipp Stephani <p.stephani2 <at> gmail.com> writes:

> Some observations:
>
> - Several file-attributes invocations incorrectly return nil.  (Or does
>   TRAMP temporarily remove files to be written?)
>
> - Requesting attributes for the bogus file /ssh:HOSTNAME:(("‘/tmp/’") 45
>   0 0 1589649700 1589649799 1589649799 258048 "drwxrwxrwt" t 19136513
>   -1); i.e., TRAMP doesn't correctly parse the results to extract the
>   filename.

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

Do you still see these problems with the current trunk?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) moreinfo. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 06 Jun 2022 13:37:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41333; Package emacs. (Thu, 16 Jun 2022 17:58:02 GMT) Full text and rfc822 format available.

Message #13 received at 41333 <at> debbugs.gnu.org (full text, mbox):

From: Philipp Stephani <p.stephani2 <at> gmail.com>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 41333 <at> debbugs.gnu.org
Subject: Re: bug#41333: 27.0.91;
 Spurious errors using TRAMP and auto-save-visited-mode
Date: Thu, 16 Jun 2022 19:57:06 +0200
Am Mo., 6. Juni 2022 um 15:36 Uhr schrieb Lars Ingebrigtsen <larsi <at> gnus.org>:
>
> Philipp Stephani <p.stephani2 <at> gmail.com> writes:
>
> > Some observations:
> >
> > - Several file-attributes invocations incorrectly return nil.  (Or does
> >   TRAMP temporarily remove files to be written?)
> >
> > - Requesting attributes for the bogus file /ssh:HOSTNAME:(("‘/tmp/’") 45
> >   0 0 1589649700 1589649799 1589649799 258048 "drwxrwxrwt" t 19136513
> >   -1); i.e., TRAMP doesn't correctly parse the results to extract the
> >   filename.
>
> (I'm going through old bug reports that unfortunately weren't resolved
> at the time.)
>
> Do you still see these problems with the current trunk?

I've stopped auto-save-visited-mode for remote files due to this bug,
and recently I've stopped using TRAMP altogether, so personally I
can't reproduce the problem any more. That doesn't mean the root cause
is fixed, though; maybe Michael can make some sense of the logs I
posted?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41333; Package emacs. (Fri, 17 Jun 2022 12:02:01 GMT) Full text and rfc822 format available.

Message #16 received at 41333 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Philipp Stephani <p.stephani2 <at> gmail.com>
Cc: 41333 <at> debbugs.gnu.org, Michael Albinus <michael.albinus <at> gmx.de>
Subject: Re: bug#41333: 27.0.91; Spurious errors using TRAMP and
 auto-save-visited-mode
Date: Fri, 17 Jun 2022 14:01:42 +0200
Philipp Stephani <p.stephani2 <at> gmail.com> writes:

> I've stopped auto-save-visited-mode for remote files due to this bug,
> and recently I've stopped using TRAMP altogether, so personally I
> can't reproduce the problem any more. That doesn't mean the root cause
> is fixed, though; maybe Michael can make some sense of the logs I
> posted?

Perhaps; I've now added Michael to the CCs.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41333; Package emacs. (Wed, 22 Jun 2022 15:28:02 GMT) Full text and rfc822 format available.

Message #19 received at 41333 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 41333 <at> debbugs.gnu.org, Philipp Stephani <p.stephani2 <at> gmail.com>
Subject: Re: bug#41333: 27.0.91; Spurious errors using TRAMP and
 auto-save-visited-mode
Date: Wed, 22 Jun 2022 17:27:09 +0200
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

Hi,

> Philipp Stephani <p.stephani2 <at> gmail.com> writes:
>
>> I've stopped auto-save-visited-mode for remote files due to this bug,
>> and recently I've stopped using TRAMP altogether, so personally I
>> can't reproduce the problem any more. That doesn't mean the root cause
>> is fixed, though; maybe Michael can make some sense of the logs I
>> posted?
>
> Perhaps; I've now added Michael to the CCs.

I've played for a while with auto-save-visited-mode and remote files. I
couldn't reproduce the problem.

As said in the original message, it could depend on user customisation,
so there is no guarantee that the problem is gone.

auto-save-visited-mode works with an idle timer. This could always be a
source of problems, when timers do remote file operations while another
remote file operation is in progress. The observation in the original
report, that Tramp doesn't handle sent commands and the returned output
in order, is an indication of such a problem.

With Emacs 28, Tramp has tried better to detect interference of remote
file operations, and at least to report them if it isn't possible to
solve them. Perhaps this has improved the situation.

I'm sorry but w/o any more information I don't know what I could do
else. Perhaps we should close the bug, although it is not satisfying w/o
knowing what is/was up.

However, one possible counter measure is to disable
auto-save-visited-mode for remote files, as Philipp did in his
setup. Don't know whether this is acceptable, but given that we're
unsure whether Tramp works correctly here it might be the better option.

Best regards, Michael.




Reply sent to Stefan Kangas <stefan <at> marxist.se>:
You have taken responsibility. (Tue, 05 Jul 2022 13:12:01 GMT) Full text and rfc822 format available.

Notification sent to Philipp Stephani <p.stephani2 <at> gmail.com>:
bug acknowledged by developer. (Tue, 05 Jul 2022 13:12:02 GMT) Full text and rfc822 format available.

Message #24 received at 41333-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 41333-done <at> debbugs.gnu.org,
 Philipp Stephani <p.stephani2 <at> gmail.com>
Subject: Re: bug#41333: 27.0.91;
 Spurious errors using TRAMP and auto-save-visited-mode
Date: Tue, 5 Jul 2022 06:11:22 -0700
Michael Albinus <michael.albinus <at> gmx.de> writes:

> I'm sorry but w/o any more information I don't know what I could do
> else. Perhaps we should close the bug, although it is not satisfying w/o
> knowing what is/was up.

I think this might make sense for now.  If someone runs into it again,
they can open a new bug.

> However, one possible counter measure is to disable
> auto-save-visited-mode for remote files, as Philipp did in his
> setup. Don't know whether this is acceptable, but given that we're
> unsure whether Tramp works correctly here it might be the better option.

I have added a user option 'auto-save-visited-remote-files' in commit
3631355dcb.  It defaults to t for now, but we could perhaps consider
changing it if this turns out to be a bigger problem.

With that, I'm closing this bug.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41333; Package emacs. (Tue, 05 Jul 2022 16:55:01 GMT) Full text and rfc822 format available.

Message #27 received at 41333-done <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 41333-done <at> debbugs.gnu.org,
 Philipp Stephani <p.stephani2 <at> gmail.com>
Subject: Re: bug#41333: 27.0.91; Spurious errors using TRAMP and
 auto-save-visited-mode
Date: Tue, 05 Jul 2022 18:54:41 +0200
Stefan Kangas <stefan <at> marxist.se> writes:

Hi Stefan,

>> However, one possible counter measure is to disable
>> auto-save-visited-mode for remote files, as Philipp did in his
>> setup. Don't know whether this is acceptable, but given that we're
>> unsure whether Tramp works correctly here it might be the better option.
>
> I have added a user option 'auto-save-visited-remote-files' in commit
> 3631355dcb.  It defaults to t for now, but we could perhaps consider
> changing it if this turns out to be a bigger problem.

Thanks! Given, that we have already remote-file-name-inhibit-cache and
remote-file-name-inhibit-locks, I propose to rename this new option to
remote-file-name-inhibit-auto-save-visited, with an inverted logic.

Best regards, Michael.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41333; Package emacs. (Tue, 05 Jul 2022 17:51:01 GMT) Full text and rfc822 format available.

Message #30 received at 41333-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 41333-done <at> debbugs.gnu.org,
 Philipp Stephani <p.stephani2 <at> gmail.com>
Subject: Re: bug#41333: 27.0.91;
 Spurious errors using TRAMP and auto-save-visited-mode
Date: Tue, 5 Jul 2022 19:49:58 +0200
Michael Albinus <michael.albinus <at> gmx.de> writes:

> Thanks! Given, that we have already remote-file-name-inhibit-cache and
> remote-file-name-inhibit-locks, I propose to rename this new option to
> remote-file-name-inhibit-auto-save-visited, with an inverted logic.

Makes sense, now done on master (commit fe82c0743b).




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#41333; Package emacs. (Tue, 05 Jul 2022 19:26:01 GMT) Full text and rfc822 format available.

Message #33 received at 41333-done <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: Lars Ingebrigtsen <larsi <at> gnus.org>, 41333-done <at> debbugs.gnu.org,
 Philipp Stephani <p.stephani2 <at> gmail.com>
Subject: Re: bug#41333: 27.0.91; Spurious errors using TRAMP and
 auto-save-visited-mode
Date: Tue, 05 Jul 2022 21:25:22 +0200
Stefan Kangas <stefan <at> marxist.se> writes:

Hi Stefan,

>> Thanks! Given, that we have already remote-file-name-inhibit-cache and
>> remote-file-name-inhibit-locks, I propose to rename this new option to
>> remote-file-name-inhibit-auto-save-visited, with an inverted logic.
>
> Makes sense, now done on master (commit fe82c0743b).

Thanks again. I've added this new user option also to the Tramp manual.

Best regards, Michael.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 03 Aug 2022 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 266 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.