GNU bug report logs -
#1741
23.0.60; vc fail to register file while logged as /su:: with tramp
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 1741 in the body.
You can then email your comments to 1741 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#1741
; Package
emacs
.
(Tue, 30 Dec 2008 11:00:04 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Thierry Volpiatto <thierry.volpiatto <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Tue, 30 Dec 2008 11:00:04 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.
Your bug report will be posted to the emacs-pretest-bug <at> gnu.org mailing list.
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:
Hi,
i can't register a file with vc/rcs when i am logged as root throught
tramp.
1) C-x v i
2) Create RCS dir (y/n) ==> The dir is created.
3) But now ==> _Here the debug output_:
,----
| Debugger entered--Lisp error: (wrong-type-argument stringp nil)
| file-exists-p(nil)
| vc-insert-file(nil "^[0-9]")
| vc-rcs-fetch-master-state("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
| vc-rcs-working-revision("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
| apply(vc-rcs-working-revision "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
| vc-call-backend(RCS working-revision "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
| vc-working-revision("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
| vc-default-mode-line-string(RCS "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
| apply(vc-default-mode-line-string RCS "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
| vc-call-backend(RCS mode-line-string "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
| vc-mode-line("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
| run-hook-with-args(vc-mode-line "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
| vc-resynch-window("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh" t t)
| vc-resynch-buffer("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh" t t)
|
| [...]
|
| [G70600 G70601 rev comment file --cl-dolist-temp--
| message "Registering %s... " mapc vc-file-clearprops vc-call-backend
| register nil vc-file-setprop
| vc-backend "Registering %s... done"] 6] (quote --files--) (quote --backend--) --cl-rest--)))
| vc-register(nil)
| call-interactively(vc-register nil nil)
`----
_And if i want to delete RCS directory from dired_:
,----
| (file-error Couldn't delete /su:root <at> tux.homenetwork:/usr/local/bin/RCS)
`----
However if i open an emacs root session i can register my file as
normal.
(It's a long time i have this problem and always forget to send bug -
since emacs 22 i think)
Thank you.
Thierry.
If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
`bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/share/emacs/23.0.60/etc/DEBUG for instructions.
In GNU Emacs 23.0.60.1 (i686-pc-linux-gnu, GTK+ Version 2.14.5)
of 2008-12-27 on tux
Windowing system distributor `The X.Org Foundation', version 11.0.10300000
configured using `configure '--prefix=/usr' '--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' '--localstatedir=/var/lib' '--program-suffix=-emacs-23' '--infodir=/usr/share/info/emacs-23' '--with-sound' '--with-x' '--without-toolkit-scroll-bars' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm' '--with-freetype' '--with-xft' '--without-libotf' '--without-m17n-flt' '--with-x-toolkit=gtk' '--without-hesiod' '--without-kerberos' '--without-kerberos5' '--with-gpm' '--with-dbus' '--build=i686-pc-linux-gnu' 'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' 'CFLAGS=-march=i686 -pipe -O2' 'LDFLAGS=-Wl,-O1''
Important settings:
value of $LC_ALL: fr_FR.UTF-8
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: fr_FR.UTF-8
value of $XMODIFIERS: nil
locale-coding-system: utf-8-unix
default-enable-multibyte-characters: t
Major mode: Dired by name
Minor modes in effect:
icomplete-mode: t
icicle-mode: t
delete-selection-mode: t
minibuffer-depth-indicate-mode: t
auto-image-file-mode: t
partial-completion-mode: t
display-wireless-mode: t
display-battery-mode: t
display-time-mode: t
diff-auto-refine-mode: t
shell-dirtrack-mode: t
recentf-mode: t
savehist-mode: t
desktop-save-mode: t
tooltip-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
global-auto-composition-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <return> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> <right> <right> <right>
<right> <right> <right> <right> $ @ C-x C-s <f11> a
<down> <return> C-x b <return> C-x v i <down> <up>
C-x k <return> C-x k <return> <down> <down> <up> <up>
C-x # C-x # <down> <down> <down> <down> f i n i s h
C-x C-s C-x # <f7> m <return> <return> q q y <f11>
a <down> <down> <down> <down> <down> <return> <return>
C-x v i y <up> C-SPC C-n C-n C-n C-n C-n C-n C-n C-n
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n
C-x r s a C-g <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> q
C-x C-f <return> g <up> <up> <up> <up> <up> <up> D
y C-h e <up> <up> C-SPC C-e C-x r s z C-g <f11> a <return>
M-! r m SPC - r f SPC R C S <return> g <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up>
<up> <up> M + w <return> g <f11> a <down> <down> <down>
<down> <down> <down> <down> <down> <down> <down> <down>
<down> <return> M-x r e p o r t - e m a <tab> <down>
<return>
Recent messages:
(file-error Couldn't delete /su:root <at> tux.homenetwork:/usr/local/bin/RCS)
Mark set
Quit
Loading /home/thierry/.emacs.d/emms/emms-globals-tags.el (source)...done
Loading /home/thierry/.emacs.d/emms/emms-favourites-artists.el (source)...done
Redisplaying...done
Loading /home/thierry/.emacs.d/emms/emms-globals-tags.el (source)...done
Loading /home/thierry/.emacs.d/emms/emms-favourites-artists.el (source)...done
Computing completion candidates...
--
A + Thierry Volpiatto
Location: Saint-Cyr-Sur-Mer - France
bug reassigned from package `emacs' to `emacs,vc'.
Request was from
Juanma Barranquero <lekktu <at> gmail.com>
to
control <at> emacsbugs.donarmstrong.com
.
(Tue, 17 Mar 2009 09:30:03 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Tue, 07 Apr 2009 17:05:06 GMT)
Full text and
rfc822 format available.
Message #10 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
Thierry Volpiatto <thierry.volpiatto <at> gmail.com> writes:
> Please write in English if possible, because the Emacs maintainers
> usually do not have translators to read other languages for them.
>
> Your bug report will be posted to the emacs-pretest-bug <at> gnu.org mailing list.
>
> Please describe exactly what actions triggered the bug
> and the precise symptoms of the bug:
>
> Hi,
> i can't register a file with vc/rcs when i am logged as root throught
> tramp.
> 1) C-x v i
> 2) Create RCS dir (y/n) ==> The dir is created.
> 3) But now ==> _Here the debug output_:
>
> ,----
> | Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> | file-exists-p(nil)
> | vc-insert-file(nil "^[0-9]")
> | vc-rcs-fetch-master-state("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> | vc-rcs-working-revision("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> | apply(vc-rcs-working-revision "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> | vc-call-backend(RCS working-revision "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> | vc-working-revision("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> | vc-default-mode-line-string(RCS "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> | apply(vc-default-mode-line-string RCS "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> | vc-call-backend(RCS mode-line-string "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> | vc-mode-line("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> | run-hook-with-args(vc-mode-line "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> | vc-resynch-window("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh" t t)
> | vc-resynch-buffer("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh" t t)
> |
> | [...]
> |
> | [G70600 G70601 rev comment file --cl-dolist-temp--
> | message "Registering %s... " mapc vc-file-clearprops vc-call-backend
> | register nil vc-file-setprop
> | vc-backend "Registering %s... done"] 6] (quote --files--) (quote --backend--) --cl-rest--)))
> | vc-register(nil)
> | call-interactively(vc-register nil nil)
> `----
>
> _And if i want to delete RCS directory from dired_:
>
> ,----
> | (file-error Couldn't delete /su:root <at> tux.homenetwork:/usr/local/bin/RCS)
> `----
>
> However if i open an emacs root session i can register my file as
> normal.
What happens is that vc-check-master-templates gets called with
"/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh", and it calls
(file-exists-p "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
which returns nil.
There's a few other `file-exists-p' calls in vc*.el, so it's likely that
other things can go wrong if this one instance is somehow fixed.
If someone familiar with what tramp needs wants to get this to work,
about all vc calls need to be tested to make sure they don't do
something that tramp can't do.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Wed, 08 Apr 2009 11:40:05 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
thierry.volpiatto <at> gmail.com
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Wed, 08 Apr 2009 11:40:05 GMT)
Full text and
rfc822 format available.
Message #15 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
Hi Dan!
Thank you to have a look at this bug.
It's a long time, i didn't remember i sent this bug.
The bug is still here.(23.0.92)
Dan Nicolaescu <dann <at> ics.uci.edu> writes:
> Thierry Volpiatto <thierry.volpiatto <at> gmail.com> writes:
>
> > Please write in English if possible, because the Emacs maintainers
> > usually do not have translators to read other languages for them.
> >
> > Your bug report will be posted to the emacs-pretest-bug <at> gnu.org mailing list.
> >
> > Please describe exactly what actions triggered the bug
> > and the precise symptoms of the bug:
> >
> > Hi,
> > i can't register a file with vc/rcs when i am logged as root throught
> > tramp.
> > 1) C-x v i
> > 2) Create RCS dir (y/n) ==> The dir is created.
> > 3) But now ==> _Here the debug output_:
> >
> > ,----
> > | Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> > | file-exists-p(nil)
> > | vc-insert-file(nil "^[0-9]")
> > | vc-rcs-fetch-master-state("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > | vc-rcs-working-revision("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > | apply(vc-rcs-working-revision "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > | vc-call-backend(RCS working-revision "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > | vc-working-revision("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > | vc-default-mode-line-string(RCS "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > | apply(vc-default-mode-line-string RCS "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > | vc-call-backend(RCS mode-line-string "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > | vc-mode-line("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > | run-hook-with-args(vc-mode-line "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > | vc-resynch-window("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh" t t)
> > | vc-resynch-buffer("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh" t t)
> > |
> > | [...]
> > |
> > | [G70600 G70601 rev comment file --cl-dolist-temp--
> > | message "Registering %s... " mapc vc-file-clearprops vc-call-backend
> > | register nil vc-file-setprop
> > | vc-backend "Registering %s... done"] 6] (quote --files--) (quote --backend--) --cl-rest--)))
> > | vc-register(nil)
> > | call-interactively(vc-register nil nil)
> > `----
> >
> > _And if i want to delete RCS directory from dired_:
> >
> > ,----
> > | (file-error Couldn't delete /su:root <at> tux.homenetwork:/usr/local/bin/RCS)
> > `----
> >
> > However if i open an emacs root session i can register my file as
> > normal.
>
> What happens is that vc-check-master-templates gets called with
> "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh", and it calls
> (file-exists-p "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> which returns nil.
No, `file-exists-p' recognize tramp file name and return t.
(file-exists-p "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
==>t
The problem is, i think, vc call `file-exists-p' with (vc-name fname) as
argument instead of "file_name":
,----[ With a tramp filename return error ]
| (file-exists-p (vc-name "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh"))
| ==>
| Debugger entered--Lisp error: (wrong-type-argument stringp nil)
| file-exists-p(nil)
| eval((file-exists-p (vc-name "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")))
| eval-expression((file-exists-p (vc-name "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")) nil)
| call-interactively(eval-expression nil nil)
`----
,----[ With a regular filename return t ]
| (file-exists-p (vc-name "~/bin/call-gnus.sh"))
| ==>t
`----
So it seem the problem come from vc that try to set properties on
filename with `vc-name' and fail on tramp filename.
(`vc-name' call `vc-file-getprop')
Thought i didn't look at the code carefully, so i am may be wrong.
> There's a few other `file-exists-p' calls in vc*.el, so it's likely that
> other things can go wrong if this one instance is somehow fixed.
>
> If someone familiar with what tramp needs wants to get this to work,
> about all vc calls need to be tested to make sure they don't do
> something that tramp can't do.
>
--
A + Thierry Volpiatto
Location: Saint-Cyr-Sur-Mer - France
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Wed, 08 Apr 2009 16:30:03 GMT)
Full text and
rfc822 format available.
Message #18 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
thierry.volpiatto <at> gmail.com writes:
> Hi Dan!
> Thank you to have a look at this bug.
> It's a long time, i didn't remember i sent this bug.
> The bug is still here.(23.0.92)
>
> Dan Nicolaescu <dann <at> ics.uci.edu> writes:
>
> > Thierry Volpiatto <thierry.volpiatto <at> gmail.com> writes:
> >
> > > Please write in English if possible, because the Emacs maintainers
> > > usually do not have translators to read other languages for them.
> > >
> > > Your bug report will be posted to the emacs-pretest-bug <at> gnu.org mailing list.
> > >
> > > Please describe exactly what actions triggered the bug
> > > and the precise symptoms of the bug:
> > >
> > > Hi,
> > > i can't register a file with vc/rcs when i am logged as root throught
> > > tramp.
> > > 1) C-x v i
> > > 2) Create RCS dir (y/n) ==> The dir is created.
> > > 3) But now ==> _Here the debug output_:
> > >
> > > ,----
> > > | Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> > > | file-exists-p(nil)
> > > | vc-insert-file(nil "^[0-9]")
> > > | vc-rcs-fetch-master-state("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > > | vc-rcs-working-revision("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > > | apply(vc-rcs-working-revision "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > > | vc-call-backend(RCS working-revision "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > > | vc-working-revision("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > > | vc-default-mode-line-string(RCS "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > > | apply(vc-default-mode-line-string RCS "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > > | vc-call-backend(RCS mode-line-string "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > > | vc-mode-line("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > > | run-hook-with-args(vc-mode-line "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > > | vc-resynch-window("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh" t t)
> > > | vc-resynch-buffer("/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh" t t)
> > > |
> > > | [...]
> > > |
> > > | [G70600 G70601 rev comment file --cl-dolist-temp--
> > > | message "Registering %s... " mapc vc-file-clearprops vc-call-backend
> > > | register nil vc-file-setprop
> > > | vc-backend "Registering %s... done"] 6] (quote --files--) (quote --backend--) --cl-rest--)))
> > > | vc-register(nil)
> > > | call-interactively(vc-register nil nil)
> > > `----
> > >
> > > _And if i want to delete RCS directory from dired_:
> > >
> > > ,----
> > > | (file-error Couldn't delete /su:root <at> tux.homenetwork:/usr/local/bin/RCS)
> > > `----
> > >
> > > However if i open an emacs root session i can register my file as
> > > normal.
> >
> > What happens is that vc-check-master-templates gets called with
> > "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh", and it calls
> > (file-exists-p "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> > which returns nil.
> No, `file-exists-p' recognize tramp file name and return t.
>
> (file-exists-p "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")
> ==>t
It's a bug in TRAMP:
If I create a new file: "/su:root <at> localhost:/tmp/blah"
then to C-x v v to register it, it fails. But I can see that the
/tmp/RCS/blah,v is created. If after that I do:
M-: (file-exists-p "/su:root <at> localhost:/tmp/RCS/blah,v") RET
the result is nil.
If I start a new emacs and do:
M-: (file-exists-p "/su:root <at> localhost:/tmp/RCS/blah,v") RET
the result is t.
> The problem is, i think, vc call `file-exists-p' with (vc-name fname) as
> argument instead of "file_name":
>
> ,----[ With a tramp filename return error ]
> | (file-exists-p (vc-name "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh"))
> | ==>
> | Debugger entered--Lisp error: (wrong-type-argument stringp nil)
> | file-exists-p(nil)
> | eval((file-exists-p (vc-name "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")))
> | eval-expression((file-exists-p (vc-name "/su:root <at> tux.homenetwork:/usr/local/bin/editeur.sh")) nil)
> | call-interactively(eval-expression nil nil)
> `----
>
> ,----[ With a regular filename return t ]
> | (file-exists-p (vc-name "~/bin/call-gnus.sh"))
> | ==>t
> `----
>
> So it seem the problem come from vc that try to set properties on
> filename with `vc-name' and fail on tramp filename.
> (`vc-name' call `vc-file-getprop')
>
> Thought i didn't look at the code carefully, so i am may be wrong.
>
>
> > There's a few other `file-exists-p' calls in vc*.el, so it's likely that
> > other things can go wrong if this one instance is somehow fixed.
> >
> > If someone familiar with what tramp needs wants to get this to work,
> > about all vc calls need to be tested to make sure they don't do
> > something that tramp can't do.
> >
>
> --
> A + Thierry Volpiatto
> Location: Saint-Cyr-Sur-Mer - France
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Wed, 08 Apr 2009 18:00:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> IRO.UMontreal.CA>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Wed, 08 Apr 2009 18:00:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
> If I create a new file: "/su:root <at> localhost:/tmp/blah"
> then to C-x v v to register it, it fails. But I can see that the
> /tmp/RCS/blah,v is created. If after that I do:
> M-: (file-exists-p "/su:root <at> localhost:/tmp/RCS/blah,v") RET
> the result is nil.
> If I start a new emacs and do:
> M-: (file-exists-p "/su:root <at> localhost:/tmp/RCS/blah,v") RET
> the result is t.
Hmm... looks like a stale cache.
Michael?
Stefan
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Thu, 09 Apr 2009 14:00:08 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Michael Albinus <michael.albinus <at> gmx.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Thu, 09 Apr 2009 14:00:09 GMT)
Full text and
rfc822 format available.
Message #28 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>> If I create a new file: "/su:root <at> localhost:/tmp/blah"
>> then to C-x v v to register it, it fails. But I can see that the
>> /tmp/RCS/blah,v is created. If after that I do:
>
>> M-: (file-exists-p "/su:root <at> localhost:/tmp/RCS/blah,v") RET
>> the result is nil.
>
>> If I start a new emacs and do:
>> M-: (file-exists-p "/su:root <at> localhost:/tmp/RCS/blah,v") RET
>> the result is t.
>
> Hmm... looks like a stale cache.
> Michael?
Yes, a stale cache. I've committed a patch, which adds a file name
handler for `vc-registered'. There the cache is disabled temporarily.
Works for me. Could you guys, please, check?
> Stefan
Best regards, Michael.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Thu, 09 Apr 2009 14:45:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Thu, 09 Apr 2009 14:45:04 GMT)
Full text and
rfc822 format available.
Message #33 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
>>> If I create a new file: "/su:root <at> localhost:/tmp/blah"
>>> then to C-x v v to register it, it fails. But I can see that the
>>> /tmp/RCS/blah,v is created. If after that I do:
>>
>>> M-: (file-exists-p "/su:root <at> localhost:/tmp/RCS/blah,v") RET
>>> the result is nil.
>>
>>> If I start a new emacs and do:
>>> M-: (file-exists-p "/su:root <at> localhost:/tmp/RCS/blah,v") RET
>>> the result is t.
>>
>> Hmm... looks like a stale cache.
>> Michael?
> Yes, a stale cache. I've committed a patch, which adds a file name
> handler for `vc-registered'. There the cache is disabled temporarily.
> Works for me. Could you guys, please, check?
I'd rather find a more generic fix. E.g. can't you flush the cache when
handling process-file?
Stefan
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Thu, 09 Apr 2009 15:15:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Michael Albinus <michael.albinus <at> gmx.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Thu, 09 Apr 2009 15:15:03 GMT)
Full text and
rfc822 format available.
Message #38 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>>>> If I create a new file: "/su:root <at> localhost:/tmp/blah"
>>>> then to C-x v v to register it, it fails. But I can see that the
>>>> /tmp/RCS/blah,v is created. If after that I do:
>>>
>>>> M-: (file-exists-p "/su:root <at> localhost:/tmp/RCS/blah,v") RET
>>>> the result is nil.
>>>
>>>> If I start a new emacs and do:
>>>> M-: (file-exists-p "/su:root <at> localhost:/tmp/RCS/blah,v") RET
>>>> the result is t.
>>>
>>> Hmm... looks like a stale cache.
>>> Michael?
>
>> Yes, a stale cache. I've committed a patch, which adds a file name
>> handler for `vc-registered'. There the cache is disabled temporarily.
>> Works for me. Could you guys, please, check?
>
> I'd rather find a more generic fix. E.g. can't you flush the cache when
> handling process-file?
That would be too invasive, I believe. The whole cache would be flushed,
even all data which are not related too.
And there might be the case, that a file is registered in RCS (or
whatever backend is used) outside Emacs. Tramp would still have stale
cache data for "/su:root <at> localhost:/tmp/RCS/blah,v" then.
> Stefan
Best regards, Michael.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Thu, 09 Apr 2009 18:35:06 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Thu, 09 Apr 2009 18:35:06 GMT)
Full text and
rfc822 format available.
Message #43 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
>> I'd rather find a more generic fix. E.g. can't you flush the cache when
>> handling process-file?
> That would be too invasive, I believe. The whole cache would be flushed,
> even all data which are not related too.
It should be safe to only flush data related to the relevant host.
> And there might be the case, that a file is registered in RCS (or
> whatever backend is used) outside Emacs. Tramp would still have stale
> cache data for "/su:root <at> localhost:/tmp/RCS/blah,v" then.
This is unrelated to RCS, and is indeed a real problem. For that reason
I'd expect the cache to be flushed very often, yes. E.g. in
post-command-hook. When do you flush it currently?
Stefan
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Sun, 12 Apr 2009 18:25:04 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Michael Albinus <michael.albinus <at> gmx.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Sun, 12 Apr 2009 18:25:04 GMT)
Full text and
rfc822 format available.
Message #48 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>>> I'd rather find a more generic fix. E.g. can't you flush the cache when
>>> handling process-file?
>> That would be too invasive, I believe. The whole cache would be flushed,
>> even all data which are not related too.
>
> It should be safe to only flush data related to the relevant host.
That I do already, of course.
>> And there might be the case, that a file is registered in RCS (or
>> whatever backend is used) outside Emacs. Tramp would still have stale
>> cache data for "/su:root <at> localhost:/tmp/RCS/blah,v" then.
>
> This is unrelated to RCS, and is indeed a real problem. For that reason
> I'd expect the cache to be flushed very often, yes. E.g. in
> post-command-hook. When do you flush it currently?
Currently, I try to avoid flushing data mostly. In fact, flushing
happens file-wise or directory-wise only, when the file or directory
changes. And also in `revert-buffer'.
What I'm thinking about is using a time-stamp for cached data. Then one
could introduce a user option `tramp-cache-ttl', which is set to the
number of seconds a cache entry shall be kept. `nil' means no flush (as
it is today); 0 means no caching at all.
A value of 5 would have already benefit, because usually there are
several calls of, for example, `file-attributes' during a short time,
because of more complex operations.
> Stefan
Best regards, Michael.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Sun, 12 Apr 2009 19:50:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Sun, 12 Apr 2009 19:50:03 GMT)
Full text and
rfc822 format available.
Message #53 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
>>>> I'd rather find a more generic fix. E.g. can't you flush the cache when
>>>> handling process-file?
>>> That would be too invasive, I believe. The whole cache would be flushed,
>>> even all data which are not related too.
>> It should be safe to only flush data related to the relevant host.
> That I do already, of course.
process-file is something that it not used very often, so I think it's
perfectly OK to flush the whole host's cache at that point. If it turns
out to be a performance problem, we can refine this choice.
Stefan
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Sun, 12 Apr 2009 20:05:06 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Michael Albinus <michael.albinus <at> gmx.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Sun, 12 Apr 2009 20:05:06 GMT)
Full text and
rfc822 format available.
Message #58 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> process-file is something that it not used very often, so I think it's
> perfectly OK to flush the whole host's cache at that point. If it turns
> out to be a performance problem, we can refine this choice.
It depends on the use case. `find-grep-dired' is something I call
permanently, for example.
For a performance comparision, you could check the figures in
<http://cvs.savannah.gnu.org/viewvc/*checkout*/tramp/test/tramp-time.el?root=tramp>.
Tramp 2.0 has no cache, Tramp 2.1 does. The figures are some years old,
but they shall be still valid.
> Stefan
Best regards, Michael.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Sun, 12 Apr 2009 23:00:04 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Sun, 12 Apr 2009 23:00:04 GMT)
Full text and
rfc822 format available.
Message #63 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
>> process-file is something that it not used very often, so I think it's
>> perfectly OK to flush the whole host's cache at that point. If it turns
>> out to be a performance problem, we can refine this choice.
> It depends on the use case. `find-grep-dired' is something I call
> permanently, for example.
Sure. But think of how many Tramp operations take place between those
calls to process-file and what proportion of those operations will be
affected by the cache-flush:
- X% will not be affected because it wasn't in the cache.
- Y% will be affected.
- the remaining (100-X-Y)% won't be affected because it touches the same
data as the previous Y%.
My guess is that Y is sufficiently low (e.g. compared to X) for it not
to be a problem.
> For a performance comparision, you could check the figures in
> <http://cvs.savannah.gnu.org/viewvc/*checkout*/tramp/test/tramp-time.el?root=tramp>.
> Tramp 2.0 has no cache, Tramp 2.1 does. The figures are some years old,
> but they shall be still valid.
This only measures the effectiveness of caching on synthetic benchmarks.
I do not doubt that the cache is effective. Flushing will obviously
have an effect on performance, but that doesn't mean that flushing the
cache during process-file will cause a performance problem.
AFAIK the main benefit of the cache is to bundle up all the redundant
`file-attibutes' calls that take place during something like
`find-file-noselect'. Such optimizations won't be affected by the
cache-flush. So I expect that the cache-flush I suggest won't cause
a performance problem.
Stefan
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Mon, 13 Apr 2009 09:40:04 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Michael Albinus <michael.albinus <at> gmx.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Mon, 13 Apr 2009 09:40:04 GMT)
Full text and
rfc822 format available.
Message #68 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> AFAIK the main benefit of the cache is to bundle up all the redundant
> `file-attibutes' calls that take place during something like
> `find-file-noselect'. Such optimizations won't be affected by the
> cache-flush. So I expect that the cache-flush I suggest won't cause
> a performance problem.
Not only `file-attributes'; it is useful for other often-called
primitives like `file-exists-p' as well.
I'm not against regular cache flushing. But I would like to have a
custom option for this, because people like me have not such a need for
this. The default value could be "do flushing", though.
Do you agree? And if yes, what shall be the values of such an option?
Simple "yes/no", or more granular, like the ttl proposal I have done?
> Stefan
Best regards, Michael.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Mon, 13 Apr 2009 12:30:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Mon, 13 Apr 2009 12:30:03 GMT)
Full text and
rfc822 format available.
Message #73 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
>> AFAIK the main benefit of the cache is to bundle up all the redundant
>> `file-attibutes' calls that take place during something like
>> `find-file-noselect'. Such optimizations won't be affected by the
>> cache-flush. So I expect that the cache-flush I suggest won't cause
>> a performance problem.
> Not only `file-attributes'; it is useful for other often-called
> primitives like `file-exists-p' as well.
Yes, of course. I'd expect `file-exists-p' to return data from the
cache after a call to `file-attributes', tho.
Have you actually tried such flushing?
> Do you agree? And if yes, what shall be the values of such an option?
> Simple "yes/no", or more granular, like the ttl proposal I have done?
As explained, I'd just start with the simplest possible solution because
I expect it will be sufficient.
Stefan
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Tue, 14 Apr 2009 15:25:04 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Michael Albinus <michael.albinus <at> gmx.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Tue, 14 Apr 2009 15:25:04 GMT)
Full text and
rfc822 format available.
Message #78 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> As explained, I'd just start with the simplest possible solution because
> I expect it will be sufficient.
Committed. Let's see, whether people complain.
> Stefan
Best regards, Michael.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Tue, 14 Apr 2009 17:15:04 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stefan Monnier <monnier <at> iro.umontreal.ca>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Tue, 14 Apr 2009 17:15:04 GMT)
Full text and
rfc822 format available.
Message #83 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
>> As explained, I'd just start with the simplest possible solution because
>> I expect it will be sufficient.
> Committed. Let's see, whether people complain.
BTW, to improve the behavior in case of things like "git status", it
might be worthwhile to add some way to indicate that a particular use of
process-file is (supposed to be) free of side-effects.
Stefan
Reply sent
to
Dan Nicolaescu <dann <at> ics.uci.edu>
:
You have taken responsibility.
(Wed, 15 Apr 2009 00:20:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Thierry Volpiatto <thierry.volpiatto <at> gmail.com>
:
bug acknowledged by developer.
(Wed, 15 Apr 2009 00:20:03 GMT)
Full text and
rfc822 format available.
Message #88 received at 1741-done <at> emacsbugs.donarmstrong.com (full text, mbox):
Michael Albinus <michael.albinus <at> gmx.de> writes:
> Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>
> > As explained, I'd just start with the simplest possible solution because
> > I expect it will be sufficient.
>
> Committed. Let's see, whether people complain.
Thanks. Closing this bug.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
:
bug#1741
; Package
emacs,vc
.
(Wed, 15 Apr 2009 21:05:06 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Michael Albinus <michael.albinus <at> gmx.de>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>, owner <at> emacsbugs.donarmstrong.com
.
(Wed, 15 Apr 2009 21:05:06 GMT)
Full text and
rfc822 format available.
Message #93 received at 1741 <at> emacsbugs.donarmstrong.com (full text, mbox):
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> BTW, to improve the behavior in case of things like "git status", it
> might be worthwhile to add some way to indicate that a particular use of
> process-file is (supposed to be) free of side-effects.
Hmm, this must be an option. The parameter list of process-file is
fixed. Something like
(let ((no-side-effect t))
(process-file ...))
As usual, I have no idea for a good name of `no-side-effect'. It shall
be not Tramp-specific.
> Stefan
Best regards, Michael.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> emacsbugs.donarmstrong.com
.
(Thu, 14 May 2009 14:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 16 years and 101 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.