From: Manuel Uberti <manuel.uberti@inventati.org>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: 20662@debbugs.gnu.org
Subject: bug#20662: 25.0.50; Remote copy through Dired fails
Date: Thu, 28 May 2015 14:39:00 +0200 [thread overview]
Message-ID: <55670C64.1080006@inventati.org> (raw)
In-Reply-To: <874mmx3tai.fsf@gmx.de>
On 28/05/15 12:12, Michael Albinus wrote:
> Manuel Uberti <manuel.uberti@inventati.org> writes:
>
> Hi Manuel,
>
>> I already tried leaving out everything after line 92. To be more
>> precise, first I tried living out only my Dired-related settings, then
>> everything in my ~/.emacs.d/lisp directory. The error still happens.
>
> And it doesn't happen to. So it seems to depend on the file/directory
> you intend to copy.
>
>> I will try toggle debug-on-error on, but I am pretty sure I already
>> tried that way and there was no stacktrace for that error. That is why I
>> debugged line-by-line and narrowed the problem down to the line I
>> mentioned in my first message.
>
> You have said
>
> | After some debugging, I nailed down the issue to this line of
> | dired-copy-file-recursive:
> |
> | (copy-file from to ok-flag preserve-time)
>
> That is not sufficient information; I don't know how
> dired-copy-file-recursive was called, and I don't know the values of the
> arguments.
>
> I guess you have used edebug for debugging. When you have reached the
> point you've mentioned, please press 'd'. This produces a backtrace.
>
>> Manuel Uberti
>
> Best regards, Michael.
>
Thanks for your patience.
I turn debug-on-error on, and press 'd' as you suggested, right before
(copy-file from to ok-flag preserve-time) throws an error.
This is the stacktrace:
(copy-file (edebug-after 0 68 from) (edebug-after 0 69 to)
(edebug-after 0 70 ok-flag) (edebug-after 0 71 preserve-time))
(if (edebug-after (edebug-before 55) 59 (stringp (edebug-after
(edebug-before 56) 58 (car (edebug-after 0 57 attrs))))) (edebug-after
(edebug-before 60) 66 (make-symbolic-link (edebug-after (edebug-before
61) 63 (car (edebug-after 0 62 attrs))) (edebug-after 0 64 to)
(edebug-after 0 65 ok-flag))) (edebug-after (edebug-before 67) 72
(copy-file (edebug-after 0 68 from) (edebug-after 0 69 to) (edebug-after
0 70 ok-flag) (edebug-after 0 71 preserve-time))))
(condition-case err (edebug-after (edebug-before 54) 73 (if
(edebug-after (edebug-before 55) 59 (stringp (edebug-after
(edebug-before 56) 58 (car (edebug-after 0 57 attrs))))) (edebug-after
(edebug-before 60) 66 (make-symbolic-link (edebug-after (edebug-before
61) 63 (car (edebug-after 0 62 attrs))) (edebug-after 0 64 to)
(edebug-after 0 65 ok-flag))) (edebug-after (edebug-before 67) 72
(copy-file (edebug-after 0 68 from) (edebug-after 0 69 to) (edebug-after
0 70 ok-flag) (edebug-after 0 71 preserve-time))))) (file-date-error
(edebug-after (edebug-before 74) 79 (let* ((v (edebug-after
(edebug-before 75) 77 (dired-make-relative ...)))) (setq
dired-create-files-failures (cons v (edebug-after 0 78
dired-create-files-failures))))) (edebug-after (edebug-before 80) 83
(dired-log "Can't set date on %s:\n%s\n" (edebug-after 0 81 from)
(edebug-after 0 82 err)))))
(if (edebug-after (edebug-before 24) 41 (and (edebug-after 0 25
recursive) (edebug-after (edebug-before 26) 30 (eq t (edebug-after
(edebug-before 27) 29 (car (edebug-after 0 28 attrs))))) (edebug-after
(edebug-before 31) 40 (or (edebug-after (edebug-before 32) 34 (eq
(edebug-after 0 33 recursive) (quote always))) (edebug-after
(edebug-before 35) 39 (yes-or-no-p (edebug-after ... 38 ...)))))))
(edebug-after (edebug-before 42) 46 (copy-directory (edebug-after 0 43
from) (edebug-after 0 44 to) (edebug-after 0 45 preserve-time)))
(edebug-after (edebug-before 47) 52 (or (edebug-after 0 48 top)
(edebug-after (edebug-before 49) 51 (dired-handle-overwrite
(edebug-after 0 50 to))))) (edebug-after (edebug-before 53) 84
(condition-case err (edebug-after (edebug-before 54) 73 (if
(edebug-after (edebug-before 55) 59 (stringp (edebug-after ... 58 ...)))
(edebug-after (edebug-before 60) 66 (make-symbolic-link (edebug-after
... 63 ...) (edebug-after 0 64 to) (edebug-after 0 65 ok-flag)))
(edebug-after (edebug-before 67) 72 (copy-file (edebug-after 0 68 from)
(edebug-after 0 69 to) (edebug-after 0 70 ok-flag) (edebug-after 0 71
preserve-time))))) (file-date-error (edebug-after (edebug-before 74) 79
(let* ((v ...)) (setq dired-create-files-failures (cons v ...))))
(edebug-after (edebug-before 80) 83 (dired-log "Can't set date on
%s:\n%s\n" (edebug-after 0 81 from) (edebug-after 0 82 err)))))))
(let ((attrs (edebug-after (edebug-before 20) 22 (file-attributes
(edebug-after 0 21 from))))) (edebug-after (edebug-before 23) 85 (if
(edebug-after (edebug-before 24) 41 (and (edebug-after 0 25 recursive)
(edebug-after (edebug-before 26) 30 (eq t (edebug-after ... 29 ...)))
(edebug-after (edebug-before 31) 40 (or (edebug-after ... 34 ...)
(edebug-after ... 39 ...))))) (edebug-after (edebug-before 42) 46
(copy-directory (edebug-after 0 43 from) (edebug-after 0 44 to)
(edebug-after 0 45 preserve-time))) (edebug-after (edebug-before 47) 52
(or (edebug-after 0 48 top) (edebug-after (edebug-before 49) 51
(dired-handle-overwrite (edebug-after 0 50 to))))) (edebug-after
(edebug-before 53) 84 (condition-case err (edebug-after (edebug-before
54) 73 (if (edebug-after ... 59 ...) (edebug-after ... 66 ...)
(edebug-after ... 72 ...))) (file-date-error (edebug-after
(edebug-before 74) 79 (let* ... ...)) (edebug-after (edebug-before 80)
83 (dired-log "Can't set date on %s:\n%s\n" ... ...))))))))
dired-copy-file-recursive("/ssh:admin@192.168.1.50#2130:/home/admin/boccaperta/contabilita/fattureods/078_crowdknitting.ods"
"/home/manuel/documents/boccaperta/contabilita/boccaperta/reddito2015/fattureods/078_crowdknitting.ods"
nil t t always)
dired-copy-file("/ssh:admin@192.168.1.50#2130:/home/admin/boccaperta/contabilita/fattureods/078_crowdknitting.ods"
"/home/manuel/documents/boccaperta/contabilita/boccaperta/reddito2015/fattureods/078_crowdknitting.ods"
nil)
dired-create-files(dired-copy-file "Copy"
("/ssh:admin@192.168.1.50#2130:/home/admin/boccaperta/contabilita/fattureods/078_crowdknitting.ods")
(lambda (_from) (edebug-enter (quote edebug-anon97303) (list _from)
(function (lambda nil (edebug-after 0 0 target))))) 67)
(if (edebug-after (edebug-before 116) 125 (and (edebug-after
(edebug-before 117) 119 (consp (edebug-after 0 118 into-dir)))
(edebug-after (edebug-before 120) 124 (functionp (edebug-after
(edebug-before 121) 123 (car (edebug-after 0 122 into-dir)))))))
(edebug-after (edebug-before 126) 137 (apply (edebug-after
(edebug-before 127) 129 (car (edebug-after 0 128 into-dir)))
(edebug-after 0 130 operation) (edebug-after 0 131 rfn-list)
(edebug-after 0 132 fn-list) (edebug-after 0 133 target) (edebug-after
(edebug-before 134) 136 (cdr (edebug-after 0 135 into-dir)))))
(edebug-after (edebug-before 138) 149 (if (edebug-after (edebug-before
139) 144 (not (edebug-after (edebug-before 140) 143 (or (edebug-after 0
141 dired-one-file) (edebug-after 0 142 into-dir))))) (edebug-after
(edebug-before 145) 148 (error "Marked %s: target must be a directory:
%s" (edebug-after 0 146 operation) (edebug-after 0 147 target)))))
(edebug-after (edebug-before 150) 157 (or (edebug-after 0 151 into-dir)
(edebug-after (edebug-before 152) 156 (setq target (edebug-after
(edebug-before 153) 155 (directory-file-name (edebug-after 0 154
target))))))) (edebug-after (edebug-before 158) 170 (dired-create-files
(edebug-after 0 159 file-creator) (edebug-after 0 160 operation)
(edebug-after 0 161 fn-list) (edebug-after (edebug-before 162) 168 (if
(edebug-after 0 163 into-dir) (edebug-after (edebug-before 164) 165
(function (lambda ... ...))) (edebug-after (edebug-before 166) 167
(function (lambda ... ...))))) (edebug-after 0 169 marker-char))))
(let* ((fn-list (edebug-after (edebug-before 7) 9
(dired-get-marked-files nil (edebug-after 0 8 arg)))) (rfn-list
(edebug-after (edebug-before 10) 14 (mapcar (edebug-after (edebug-before
11) 12 (function dired-make-relative)) (edebug-after 0 13 fn-list))))
(dired-one-file (edebug-after (edebug-before 15) 27 (and (edebug-after
(edebug-before 16) 18 (consp (edebug-after 0 17 fn-list))) (edebug-after
(edebug-before 19) 23 (null (edebug-after ... 22 ...))) (edebug-after
(edebug-before 24) 26 (car (edebug-after 0 25 fn-list)))))) (target-dir
(edebug-after (edebug-before 28) 29 (dired-dwim-target-directory)))
(default (edebug-after (edebug-before 30) 40 (and (edebug-after 0 31
dired-one-file) (edebug-after (edebug-before 32) 39 (expand-file-name
(edebug-after ... 37 ...) (edebug-after 0 38 target-dir)))))) (defaults
(edebug-after (edebug-before 41) 44 (dired-dwim-target-defaults
(edebug-after 0 42 fn-list) (edebug-after 0 43 target-dir)))) (target
(edebug-after (edebug-before 45) 62 (expand-file-name (edebug-after
(edebug-before 46) 61 (let (... setup-hook) (setq setup-hook ...)
(unwind-protect ... ...)))))) (into-dir (edebug-after (edebug-before 63)
114 (cond ((edebug-after (edebug-before 64) 66 (null ...)) (edebug-after
(edebug-before 67) 106 (if ... nil ...))) ((edebug-after (edebug-before
107) 109 (eq ... t)) nil) (t (edebug-after (edebug-before 110) 113
(funcall ... ...))))))) (edebug-after (edebug-before 115) 171 (if
(edebug-after (edebug-before 116) 125 (and (edebug-after (edebug-before
117) 119 (consp (edebug-after 0 118 into-dir))) (edebug-after
(edebug-before 120) 124 (functionp (edebug-after ... 123 ...)))))
(edebug-after (edebug-before 126) 137 (apply (edebug-after
(edebug-before 127) 129 (car (edebug-after 0 128 into-dir)))
(edebug-after 0 130 operation) (edebug-after 0 131 rfn-list)
(edebug-after 0 132 fn-list) (edebug-after 0 133 target) (edebug-after
(edebug-before 134) 136 (cdr (edebug-after 0 135 into-dir)))))
(edebug-after (edebug-before 138) 149 (if (edebug-after (edebug-before
139) 144 (not (edebug-after ... 143 ...))) (edebug-after (edebug-before
145) 148 (error "Marked %s: target must be a directory: %s"
(edebug-after 0 146 operation) (edebug-after 0 147 target)))))
(edebug-after (edebug-before 150) 157 (or (edebug-after 0 151 into-dir)
(edebug-after (edebug-before 152) 156 (setq target (edebug-after ... 155
...))))) (edebug-after (edebug-before 158) 170 (dired-create-files
(edebug-after 0 159 file-creator) (edebug-after 0 160 operation)
(edebug-after 0 161 fn-list) (edebug-after (edebug-before 162) 168 (if
(edebug-after 0 163 into-dir) (edebug-after ... 165 ...) (edebug-after
... 167 ...))) (edebug-after 0 169 marker-char))))))
dired-do-create-files(copy dired-copy-file "Copy" nil 67 nil nil)
(let ((dired-recursive-copies (edebug-after 0 1
dired-recursive-copies))) (edebug-after (edebug-before 2) 8
(dired-do-create-files (quote copy) (edebug-after (edebug-before 3) 4
(function dired-copy-file)) "Copy" (edebug-after 0 5 arg) (edebug-after
0 6 dired-keep-marker-copy) nil (edebug-after 0 7 dired-copy-how-to-fn))))
dired-do-copy(nil)
funcall-interactively(dired-do-copy nil)
call-interactively(dired-do-copy nil nil)
command-execute(dired-do-copy)
Hope it can be of any help. If you need to do some other tests/debug,
please ask.
Regards,
Manuel
next prev parent reply other threads:[~2015-05-28 12:39 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-26 16:14 bug#20662: 25.0.50; Remote copy through Dired fails Manuel Uberti
2015-05-27 8:31 ` Michael Albinus
2015-05-27 13:11 ` Manuel Uberti
2015-05-27 17:57 ` Michael Albinus
2015-05-27 19:02 ` Manuel Uberti
2015-05-28 10:12 ` Michael Albinus
2015-05-28 12:39 ` Manuel Uberti [this message]
2015-05-28 13:16 ` Michael Albinus
2015-05-28 14:08 ` Manuel Uberti
2015-05-28 15:10 ` Michael Albinus
2015-05-28 15:23 ` Manuel Uberti
2015-05-28 15:56 ` Michael Albinus
2015-05-28 16:09 ` Manuel Uberti
2015-05-28 18:42 ` Michael Albinus
2015-05-29 13:18 ` Manuel Uberti
2015-05-29 13:22 ` Manuel Uberti
2015-05-29 17:51 ` Michael Albinus
2015-05-30 6:58 ` Manuel Uberti
2015-05-30 8:19 ` Michael Albinus
2015-05-30 8:31 ` Manuel Uberti
2015-05-30 8:38 ` Michael Albinus
2015-05-30 8:50 ` Manuel Uberti
2015-05-30 9:03 ` Michael Albinus
2015-05-30 9:35 ` Manuel Uberti
2015-05-30 10:00 ` Michael Albinus
[not found] ` <55699025.5080504@inventati.org>
2015-05-30 10:40 ` Michael Albinus
2015-05-30 15:00 ` Manuel Uberti
2015-05-30 17:39 ` Michael Albinus
2015-06-01 13:01 ` Manuel Uberti
2015-06-01 13:44 ` Michael Albinus
2015-05-28 14:21 ` Manuel Uberti
2015-05-28 16:00 ` bug#20662: Status: " Michael Albinus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55670C64.1080006@inventati.org \
--to=manuel.uberti@inventati.org \
--cc=20662@debbugs.gnu.org \
--cc=michael.albinus@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.