tramp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: tramp (2.2.13.25.2); On Windows 7 the call to chown fails after a lo


From: Didier Fort
Subject: Re: tramp (2.2.13.25.2); On Windows 7 the call to chown fails after a long time
Date: Wed, 7 Jun 2017 16:09:29 -0600

Hi Michael,

I finally had time to look at this. And I got the right quote:
15:07:00.212495 tramp-get-file-property (8) # /home/docs/didierf/Projects/redirector-haproxy-aws/rules.csv file-attributes-integer (nil 1 1000 1000 (22840 25461) (22804 46567) (22804 46567) 9774 -rw-rw-r-- nil (166 . 1306) (-1 . 1))
15:07:00.212495 tramp-call-process (6) # ‘chown 210247:513 "c:/Users/fortdg/AppData/Roaming/.emacs.d/tmp/tramp.195276yCs.csv"’ nil nil
15:07:48.064280 tramp-call-process (6) # 1
/usr/bin/chown: cannot access '"c:/Users/fortdg/AppData/Roaming/.emacs.d/tmp/tramp.195276yCs.csv"': No such file or directory
15:07:48.067280 tramp-get-connection-property (7) # copy-keep-tmpfile undef
15:07:48.070281 tramp-handle-insert-file-contents (3) # Inserting ‘/plink:address@hidden:/home/docs/didierf/Projects/redirector-haproxy-aws/rules.csv’...done

But I had to apply the patch at a different spot (line 1580):
      ;; We handle also the local part, because there doesn't exist
      ;; `set-file-uid-gid'.  On W32 "chown" might not work.  We add a
      ;; timeout for this.
      (with-timeout (5 nil)
(let ((uid (or (and (natnump uid) uid) (tramp-get-local-uid 'integer)))
     (gid (or (and (natnump gid) gid) (tramp-get-local-gid 'integer))))
 (tramp-call-process
  nil "chown" nil nil nil
  (format "%d:%d" uid gid) (shell-quote-argument filename)))))))
;;   (format "%d:%d" uid gid) (tramp-shell-quote-argument filename)))))))

The problem is still the same though (even with the correct quote), the chown process takes 48 seconds to fail.

The "with-timeout" does not help, because:
     Since timers can run within a Lisp program only when the program
     calls a primitive that can wait, ‘with-timeout’ cannot stop
     executing BODY while it is in the midst of a computation—only when
     it calls one of those primitives.  So use ‘with-timeout’ only with
     a BODY that waits for input, not one that does a long computation.

Could we turn off the call to chown on a W32 system?

Regards,
Didier


On Thu, Jun 1, 2017 at 1:22 AM, Michael Albinus <address@hidden> wrote:
Didier Fort <address@hidden> writes:

> Hi Michael,

Hi Didier,

> Here's the result:
> (shell-quote-argument
> "c:/Users/fortdg/AppData/Roaming/.emacs.d/tmp/tramp.87836Uvp.md")
>
> "\"c:/Users/fortdg/AppData/Roaming/.emacs.d/tmp/tramp.87836Uvp.md\""

As expected, thanks.

In the last trace you have presented, it was still

> 16:45:06.343173 tramp-call-process (6) # 1
> /usr/bin/chown: cannot access
> 'c\:/Users/fortdg/AppData/Roaming/.emacs.d/tmp/tramp.87836Uvp.md': No such file or directory

Could you, pls, check again, that the patch I've sent did arrive Tramp?

> Regards,
> Didier

Best regards, Michael.



--
--
address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]