Package: emacs;
Reported by: Manuel Uberti <manuel.uberti <at> inventati.org>
Date: Tue, 26 May 2015 16:21:03 UTC
Severity: normal
Found in version 25.0.50
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Message #23 received at 20662 <at> debbugs.gnu.org (full text, mbox):
From: Manuel Uberti <manuel.uberti <at> inventati.org> To: Michael Albinus <michael.albinus <at> gmx.de> Cc: 20662 <at> debbugs.gnu.org Subject: Re: bug#20662: 25.0.50; Remote copy through Dired fails Date: Thu, 28 May 2015 14:39:00 +0200
On 28/05/15 12:12, Michael Albinus wrote: > Manuel Uberti <manuel.uberti <at> 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 <at> 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 <at> 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 <at> 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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.