unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#2410: 23.0.90; tramp: spurious ftp-error
@ 2009-02-20 16:20 Stephen Berman
  0 siblings, 0 replies; 9+ messages in thread
From: Stephen Berman @ 2009-02-20 16:20 UTC (permalink / raw)
  To: emacs-pretest-bug

When I use Tramp to do an ftp transfer from Dired, I get error messages
like this:

Copy `/local/path/of/source/file' to `/ftp:name@server.dot.com:/remote/path/of/destination/file' failed:
(ftp-error FTP Error: DIR failed: usage: ls [remote-path [local-file]])

However, the file transer was in fact successful.  This started
happening some time within the last two or three weeks, I believe,
though I cannot date it precisely.


In GNU Emacs 23.0.90.4 (i686-pc-linux-gnu, GTK+ Version 2.14.4)
 of 2009-02-20 on escher
Windowing system distributor `The X.Org Foundation', version 11.0.10502000
Important settings:
  value of $LC_ALL: nil
  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: en_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#2410: 23.0.90; tramp: spurious ftp-error
@ 2009-02-21 15:02 Chong Yidong
  2009-02-21 20:09 ` Stephen Berman
  2009-02-22 16:05 ` Juri Linkov
  0 siblings, 2 replies; 9+ messages in thread
From: Chong Yidong @ 2009-02-21 15:02 UTC (permalink / raw)
  To: Stephen Berman; +Cc: 2410

> When I use Tramp to do an ftp transfer from Dired, I get error messages
> like this:
>
> Copy `/local/path/of/source/file' to
> `/ftp:name@server.dot.com:/remote/path/of/destination/file' failed:
> (ftp-error FTP Error: DIR failed: usage: ls [remote-path [local-file]])
>
> However, the file transer was in fact successful.  This started
> happening some time within the last two or three weeks, I believe,
> though I cannot date it precisely.

I can't reproduce this easily, since I don't have access to an FTP
server for testing.  Could you try bisecting prior revisions to find
when this bug first appeared?

Thanks.






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#2410: 23.0.90; tramp: spurious ftp-error
  2009-02-21 15:02 bug#2410: 23.0.90; tramp: spurious ftp-error Chong Yidong
@ 2009-02-21 20:09 ` Stephen Berman
  2009-02-22 10:29   ` Michael Albinus
  2009-02-22 16:05 ` Juri Linkov
  1 sibling, 1 reply; 9+ messages in thread
From: Stephen Berman @ 2009-02-21 20:09 UTC (permalink / raw)
  To: Chong Yidong; +Cc: 2410

On Sat, 21 Feb 2009 10:02:23 -0500 Chong Yidong <cyd@stupidchicken.com> wrote:

>> When I use Tramp to do an ftp transfer from Dired, I get error messages
>> like this:
>>
>> Copy `/local/path/of/source/file' to
>> `/ftp:name@server.dot.com:/remote/path/of/destination/file' failed:
>> (ftp-error FTP Error: DIR failed: usage: ls [remote-path [local-file]])
>>
>> However, the file transer was in fact successful.  This started
>> happening some time within the last two or three weeks, I believe,
>> though I cannot date it precisely.
>
> I can't reproduce this easily, since I don't have access to an FTP
> server for testing.  Could you try bisecting prior revisions to find
> when this bug first appeared?
>
> Thanks.

I fear I won't have time to do this very soon, but if I find the time,
I'll report back with the results.

Steve Berman






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#2410: 23.0.90; tramp: spurious ftp-error
  2009-02-21 20:09 ` Stephen Berman
@ 2009-02-22 10:29   ` Michael Albinus
  0 siblings, 0 replies; 9+ messages in thread
From: Michael Albinus @ 2009-02-22 10:29 UTC (permalink / raw)
  To: Stephen Berman; +Cc: Chong Yidong, 2410

Stephen Berman <stephen.berman@gmx.net> writes:

> On Sat, 21 Feb 2009 10:02:23 -0500 Chong Yidong <cyd@stupidchicken.com> wrote:
>
>>> When I use Tramp to do an ftp transfer from Dired, I get error messages
>>> like this:
>>>
>>> Copy `/local/path/of/source/file' to
>>> `/ftp:name@server.dot.com:/remote/path/of/destination/file' failed:
>>> (ftp-error FTP Error: DIR failed: usage: ls [remote-path [local-file]])
>>>
>>> However, the file transer was in fact successful.  This started
>>> happening some time within the last two or three weeks, I believe,
>>> though I cannot date it precisely.
>>
>> I can't reproduce this easily, since I don't have access to an FTP
>> server for testing.  Could you try bisecting prior revisions to find
>> when this bug first appeared?
>>
>> Thanks.
>
> I fear I won't have time to do this very soon, but if I find the time,
> I'll report back with the results.

Maybe you could show us a backtrace in case of error as well as the
ange-ftp buffer?

The last changes to ange-ftp are trivial ones, which don't look
suspicious:

RCS file: /sources/emacs/emacs/lisp/net/ange-ftp.el,v
Working file: ange-ftp.el
head: 1.102
branch:
locks: strict
access list:
keyword substitution: kv
total revisions: 195;	selected revisions: 195
description:
----------------------------
revision 1.102
date: 2009-01-05 04:22:43 +0100;  author: gm;  state: Exp;  lines: +1 -1;  commitid: qZ3e2OYSprEA3dxt;
Add 2009 to copyright years.
----------------------------
revision 1.101
date: 2008-11-16 06:50:26 +0100;  author: lektu;  state: Exp;  lines: +202 -219;  commitid: kOd4tyyfYMkJwNqt;
* net/ange-ftp.el (ange-ftp-multi-msgs, ange-ftp-good-msgs)
  (ange-ftp-try-passive-mode, ange-ftp-data-buffer-name)
  (ange-ftp-account-hashtable, ange-ftp-ls-cache-lsargs)
  (ange-ftp-ls-cache-file, ange-ftp-ls-cache-res, ange-ftp-get-user)
  (ange-ftp-ftp-name-component, ange-ftp-kill-ftp-process)
  (ange-ftp-quote-string, ange-ftp-process-handle-line)
  (ange-ftp-start-process, ange-ftp-send-cmd, ange-ftp-add-dumb-unix-host)
  (ange-ftp-before-parse-ls-hook, ange-ftp-after-parse-ls-hook)
  (ange-ftp-ls, ange-ftp-add-dl-dir, ange-ftp-get-file-entry)
  (ange-ftp-set-binary-mode, ange-ftp-set-ascii-mode, ange-ftp-get-pwd)
  (ange-ftp-file-name-as-directory-alist, ange-ftp-reread-dir)
  (ange-ftp-vms-filename-regexp, ange-ftp-bs2000-fix-name-regexp-reverse)
  (ange-ftp-bs2000-fix-name-regexp): Fix typos in docstrings.
  (ange-ftp-name-format, ange-ftp-gateway-fatal-msgs)
  (ange-ftp-xfer-size-msgs, ange-ftp-tmp-name-template)
  (ange-ftp-netrc-filename, ange-ftp-disable-netrc-security-check)
  (ange-ftp-default-user, ange-ftp-default-password)
  (ange-ftp-default-account, ange-ftp-netrc-default-password)
  (ange-ftp-netrc-default-account, ange-ftp-dumb-unix-host-regexp)
  (ange-ftp-binary-file-name-regexp, ange-ftp-gateway-host)
  (ange-ftp-gateway-prompt-pattern, ange-ftp-smart-gateway-port)
  (ange-ftp-send-hash, ange-ftp-binary-hash-mark-size)
  (ange-ftp-ascii-hash-mark-size, ange-ftp-process-verbose)
  (ange-ftp-ftp-program-name, ange-ftp-gateway-ftp-program-name)
  (ange-ftp-ftp-program-args, ange-ftp-nslookup-program)
  (ange-ftp-make-backup-files, ange-ftp-retry-time)
  (ange-ftp-bs2000-special-prefix): Remove * from defcustom docstrings.
  (ange-ftp-skip-msgs, ange-ftp-potential-error-msgs)
  (ange-ftp-gateway-tmp-name-template)
  (ange-ftp-generate-anonymous-password, ange-ftp-local-host-regexp)
  (ange-ftp-gateway-program-interactive, ange-ftp-smart-gateway)
  (ange-ftp-raw-login): Remove * from defcustom docstrings; fix typos.
  (ange-ftp-fatal-msgs): Remove * from defcustom docstring; doc fix.
  (ange-ftp-gateway-program): Remove * from docstring and reflow.
  (ange-ftp-hash-entry-exists-p, ange-ftp-hash-table-keys)
  (ange-ftp-raw-send-cmd, ange-ftp-get-files, ange-ftp-canonize-filename)
  (ange-ftp-file-name-as-directory, ange-ftp-directory-file-name):
  (ange-ftp-copy-files-async, ange-ftp-rename-remote-to-remote):
  (ange-ftp-rename-local-to-remote): Doc fixes.
  (ange-ftp-set-xfer-size, ange-ftp-call-cont, ange-ftp-process-filter):
  Use `when', `unless'.
  (ange-ftp-set-passwd): Rename arg PASSWD to PASSWORD.
  (ange-ftp-process-handle-hash): Rename arg STR to STRING.
  (ange-ftp-nslookup-host): Rename arg HOST to HOSTNAME.
  (ange-ftp-smart-login): Rename arg PASS to PASSWORD.
  (ange-ftp-normal-login): Rename arg PASS to PASSWORD.  Fix typo.
  (ange-ftp-process-sentinel): Use `when'.  Fix typo.
  (ange-ftp-gwp-start): Use `let', not `let*'; use `when'.  Fix typo.
  (ange-ftp-fix-name-func-alist, ange-ftp-fix-dir-name-func-alist)
  (ange-ftp-parse-list-func-alist, ange-ftp-add-file-entry-alist)
  (ange-ftp-delete-file-entry-alist): Fix typos and reflow docstring.
  (ange-ftp-dumb-unix-host, ange-ftp-binary-file)
  (ange-ftp-directory-files, ange-ftp-file-modtime, ange-ftp-vms-host)
  (ange-ftp-mts-host, ange-ftp-cms-host, ange-ftp-bs2000-host)
  (ange-ftp-bs2000-posix-host): Use `string-match-p' instead of
  `(save-match-data (string-match ...))'.
  (ange-ftp-use-gateway-p, ange-ftp-use-smart-gateway-p)
  (ange-ftp-file-name-directory, ange-ftp-file-name-nondirectory):
  Use `string-match-p' instead of `(save-match-data (string-match ...))'.
  Doc fixes.
----------------------------
revision 1.100
date: 2008-09-29 07:41:56 +0200;  author: albinus;  state: Exp;  lines: +3 -1;  commitid: NynrHl6ahJBL1Dkt;
* net/ange-ftp.el (ange-ftp-file-remote-p): Handle `localname' as
identification.

> Steve Berman

Best regards, Michael.






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#2410: 23.0.90; tramp: spurious ftp-error
  2009-02-21 15:02 bug#2410: 23.0.90; tramp: spurious ftp-error Chong Yidong
  2009-02-21 20:09 ` Stephen Berman
@ 2009-02-22 16:05 ` Juri Linkov
  2009-02-22 16:27   ` Juri Linkov
  1 sibling, 1 reply; 9+ messages in thread
From: Juri Linkov @ 2009-02-22 16:05 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Stephen Berman, 2410

>> When I use Tramp to do an ftp transfer from Dired, I get error messages
>> like this:
>>
>> Copy `/local/path/of/source/file' to
>> `/ftp:name@server.dot.com:/remote/path/of/destination/file' failed:
>> (ftp-error FTP Error: DIR failed: usage: ls [remote-path [local-file]])
>>
>> However, the file transer was in fact successful.  This started
>> happening some time within the last two or three weeks, I believe,
>> though I cannot date it precisely.
>
> I can't reproduce this easily, since I don't have access to an FTP
> server for testing.  Could you try bisecting prior revisions to find
> when this bug first appeared?

I can reproduce it. It can be narrowed down to 2009-02-11 change:

	* dired-aux.el (dired-add-entry): Avoid munging long-form Dired
	switches (Bug#2261).

-- 
Juri Linkov
http://www.jurta.org/emacs/






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#2410: 23.0.90; tramp: spurious ftp-error
  2009-02-22 16:05 ` Juri Linkov
@ 2009-02-22 16:27   ` Juri Linkov
  2009-02-22 18:19     ` Chong Yidong
  0 siblings, 1 reply; 9+ messages in thread
From: Juri Linkov @ 2009-02-22 16:27 UTC (permalink / raw)
  To: 2410; +Cc: Chong Yidong, Stephen Berman

> I can reproduce it. It can be narrowed down to 2009-02-11 change:
>
> 	* dired-aux.el (dired-add-entry): Avoid munging long-form Dired
> 	switches (Bug#2261).

It conflicts with code that removes the final "d" from switches
in `ange-ftp-insert-directory'.

When switches are "--dired -ald" then the FTP command is correct:
"ls -al filename".

When switches are "--dired -al -d" then the FTP command is incorrect:
"ls -al - filename".

-- 
Juri Linkov
http://www.jurta.org/emacs/






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#2410: 23.0.90; tramp: spurious ftp-error
  2009-02-22 16:27   ` Juri Linkov
@ 2009-02-22 18:19     ` Chong Yidong
  2009-02-22 19:04       ` Juri Linkov
  0 siblings, 1 reply; 9+ messages in thread
From: Chong Yidong @ 2009-02-22 18:19 UTC (permalink / raw)
  To: Juri Linkov; +Cc: Stephen Berman, 2410

Juri Linkov <juri@jurta.org> writes:

>> I can reproduce it. It can be narrowed down to 2009-02-11 change:
>>
>> 	* dired-aux.el (dired-add-entry): Avoid munging long-form Dired
>> 	switches (Bug#2261).
>
> It conflicts with code that removes the final "d" from switches
> in `ange-ftp-insert-directory'.

Does this fix it?

*** trunk/lisp/net/ange-ftp.el.~1.102.~	2009-01-06 15:29:22.000000000 -0500
--- trunk/lisp/net/ange-ftp.el	2009-02-22 13:16:25.000000000 -0500
***************
*** 4478,4484 ****
         ;; then do an ls of current dir, which obviously won't work if we
         ;; want to ls a file.  So instead, we get a full listing of the
         ;; parent directory and extract the line corresponding to `file'.
!        (when (string-match "d\\'" switches)
           ;; Remove "d" which dired added to `switches'.
           (setq switches (substring switches 0 (match-beginning 0))))
         (let* ((dirlist (ange-ftp-ls (or (file-name-directory file) ".")
--- 4478,4484 ----
         ;; then do an ls of current dir, which obviously won't work if we
         ;; want to ls a file.  So instead, we get a full listing of the
         ;; parent directory and extract the line corresponding to `file'.
!        (when (string-match "-?d\\'" switches)
           ;; Remove "d" which dired added to `switches'.
           (setq switches (substring switches 0 (match-beginning 0))))
         (let* ((dirlist (ange-ftp-ls (or (file-name-directory file) ".")






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#2410: 23.0.90; tramp: spurious ftp-error
  2009-02-22 18:19     ` Chong Yidong
@ 2009-02-22 19:04       ` Juri Linkov
  2009-02-24  0:00         ` Stephen Berman
  0 siblings, 1 reply; 9+ messages in thread
From: Juri Linkov @ 2009-02-22 19:04 UTC (permalink / raw)
  To: Chong Yidong; +Cc: Stephen Berman, 2410

> Does this fix it?
>
> *** trunk/lisp/net/ange-ftp.el.~1.102.~	2009-01-06 15:29:22.000000000 -0500
> --- trunk/lisp/net/ange-ftp.el	2009-02-22 13:16:25.000000000 -0500
> ***************
> *** 4478,4484 ****
>          ;; then do an ls of current dir, which obviously won't work if we
>          ;; want to ls a file.  So instead, we get a full listing of the
>          ;; parent directory and extract the line corresponding to `file'.
> !        (when (string-match "d\\'" switches)
>            ;; Remove "d" which dired added to `switches'.
>            (setq switches (substring switches 0 (match-beginning 0))))
>          (let* ((dirlist (ange-ftp-ls (or (file-name-directory file) ".")
> --- 4478,4484 ----
>          ;; then do an ls of current dir, which obviously won't work if we
>          ;; want to ls a file.  So instead, we get a full listing of the
>          ;; parent directory and extract the line corresponding to `file'.
> !        (when (string-match "-?d\\'" switches)
>            ;; Remove "d" which dired added to `switches'.
>            (setq switches (substring switches 0 (match-beginning 0))))
>          (let* ((dirlist (ange-ftp-ls (or (file-name-directory file) ".")

Thanks, it works.  I'd also ask Stephen to confirm this fixes his
original bug report.

-- 
Juri Linkov
http://www.jurta.org/emacs/






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#2410: 23.0.90; tramp: spurious ftp-error
  2009-02-22 19:04       ` Juri Linkov
@ 2009-02-24  0:00         ` Stephen Berman
  0 siblings, 0 replies; 9+ messages in thread
From: Stephen Berman @ 2009-02-24  0:00 UTC (permalink / raw)
  To: Juri Linkov; +Cc: Chong Yidong, 2410

On Sun, 22 Feb 2009 21:04:14 +0200 Juri Linkov <juri@jurta.org> wrote:

>> Does this fix it?
>>
>> *** trunk/lisp/net/ange-ftp.el.~1.102.~	2009-01-06 15:29:22.000000000 -0500
>> --- trunk/lisp/net/ange-ftp.el	2009-02-22 13:16:25.000000000 -0500
>> ***************
>> *** 4478,4484 ****
>>          ;; then do an ls of current dir, which obviously won't work if we
>>          ;; want to ls a file.  So instead, we get a full listing of the
>>          ;; parent directory and extract the line corresponding to `file'.
>> !        (when (string-match "d\\'" switches)
>>            ;; Remove "d" which dired added to `switches'.
>>            (setq switches (substring switches 0 (match-beginning 0))))
>>          (let* ((dirlist (ange-ftp-ls (or (file-name-directory file) ".")
>> --- 4478,4484 ----
>>          ;; then do an ls of current dir, which obviously won't work if we
>>          ;; want to ls a file.  So instead, we get a full listing of the
>>          ;; parent directory and extract the line corresponding to `file'.
>> !        (when (string-match "-?d\\'" switches)
>>            ;; Remove "d" which dired added to `switches'.
>>            (setq switches (substring switches 0 (match-beginning 0))))
>>          (let* ((dirlist (ange-ftp-ls (or (file-name-directory file) ".")
>
> Thanks, it works.  I'd also ask Stephen to confirm this fixes his
> original bug report.

Sorry for the belated response, but I can indeed confirm that this
eliminates the spurious ftp-error message.  Many thanks for quickly
finding the source of the problem!

Steve Berman






^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-02-24  0:00 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-21 15:02 bug#2410: 23.0.90; tramp: spurious ftp-error Chong Yidong
2009-02-21 20:09 ` Stephen Berman
2009-02-22 10:29   ` Michael Albinus
2009-02-22 16:05 ` Juri Linkov
2009-02-22 16:27   ` Juri Linkov
2009-02-22 18:19     ` Chong Yidong
2009-02-22 19:04       ` Juri Linkov
2009-02-24  0:00         ` Stephen Berman
  -- strict thread matches above, loose matches on Subject: below --
2009-02-20 16:20 Stephen Berman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).