Magnus Henoch | 1 Apr 2012 18:18
Picon
Gravatar

tramp (2.2.3-24.1); tramp-gvfs-send-command calls non-existent tramp-local-call-process


Enter your bug report in this message, including as much detail
as you possibly can about the problem, what you did to cause it
and what the local and remote machines are.

If you can give a simple set of instructions to make this bug
happen reliably, please include those.  Thank you for helping
kill bugs in Tramp.

Before reproducing the bug, you might apply

  M-x tramp-cleanup-all-connections

This allows to investigate from a clean environment.  Another
useful thing to do is to put

  (setq tramp-verbose 9)

in the ~/.emacs file and to repeat the bug.  Then, include the
contents of the *tramp/foo* buffer and the *debug tramp/foo*
buffer in your bug report.

--bug report follows this line--
The function tramp-local-call-process was renamed to
tramp-compat-call-process a while ago, but the function
tramp-gvfs-send-command still contains a call to
tramp-local-call-process.  Changing "local" to "compat" made my Tramp
much happier :)

Regards,
(Continue reading)

Michael Albinus | 2 Apr 2012 11:19
Picon
Picon
Gravatar

Re: tramp (2.2.3-24.1); tramp-gvfs-send-command calls non-existent tramp-local-call-process

Magnus Henoch <magnus.henoch <at> gmail.com> writes:

> The function tramp-local-call-process was renamed to
> tramp-compat-call-process a while ago, but the function
> tramp-gvfs-send-command still contains a call to
> tramp-local-call-process.  Changing "local" to "compat" made my Tramp
> much happier :)

Oops, yes; I've overlooked it. Fixed in the repositories.

> Regards,
> Magnus

Thanks for reporting, and best regards, Michael.
Christopher Schmidt | 15 Apr 2012 15:09

tramp (2.2.3-24.1); Tramp persistency file '/home/optimus-prime/.emacs.d/.gen/tramp' is corrupted: Wrong type argument: listp, \.\.\.

Hi,

On my machine (GNU Emacs 24.0.95.1 (x86_64-unknown-linux-gnu, GTK+
Version 2.24.10), tramp 2.2.3-24.1) the tramp persistency cache is
abbreviated as soon as the cache gets big .  This is an except of my
.emacs.d/.gen./tramp:

#+BEGIN_SRC emacs-lisp
((["ssh" nil
   #("ristopher.com" 9 10
     (rear-nonsticky t))
   nil]
  ("uname" "Linux")
  ("test" "test")
  ("remote-path"
   ("/bin" "/usr/bin" "/usr/sbin" "/usr/local/bin"))
  ("remote-shell" "/bin/sh")
  ("busybox" nil)
  ("~" "/home/optimus-prime")
  ("readlink" "\\readlink")
  ("file-exists" "test -e")
  ("ls" "/bin/ls --color=never")
  ...)
 (["sudo" "root"
   #("ristopher.com" 9 10
     (rear-nonsticky t))
   nil]
  ("uname" "Linux")
  ("test" "test")
  ("remote-path"
(Continue reading)

Michael Albinus | 18 Apr 2012 16:29
Picon
Picon
Gravatar

Re: tramp (2.2.3-24.1); Tramp persistency file '/home/optimus-prime/.emacs.d/.gen/tramp' is corrupted: Wrong type argument: listp, \.\.\.

Christopher Schmidt <christopher <at> ch.ristopher.com> writes:

> Hi,

Hi,

> An obvious fix is to let-bind print-length and print-level to nil in
> tramp-dump-connection-properties.

Thanks, I've applied it to the Tramp repository. For Emacs 24.1 it's too
late, unfortunately.

>         Christopher

Best regards, Michael.
Michael Albinus | 22 Apr 2012 20:27
Picon
Picon
Gravatar

Re: Asynchronous insertion / saving of buffers

Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

> I don't think we'd have any locking, instead you'd have to be careful
> not to touch the buffer until insert-file-contents is over.
> But you could add a `busy' buffer-local variable and use it as a lock if
> you feel like it.

Likely, the buffer shall be read-only while the other thread runs. And
maybe we shall add a more instructive warning when somebody tries to
modify the buffer that time. All this could be wrapped by something
like insert-file-contents-asynchronically.

> Also to inform other code that insert-file-contents is done, you can
> simply use a `done' variable which you set to t when it's done, so the
> other code can check when it's over.  But a more likely way to work is
> to put the "things to do when the insert-file-contents is done" in the
> second "..." of my sample code.

I see.

Well, you're right, this makes more sense than extending a file name
handler for insert-file-contents. Thanks.

>         Stefan

Best regards, Michael.
Ted Zlatanov | 23 Apr 2012 02:53
X-Face
Favicon
Gravatar

Tramp mosh method

Hi,

I'd like to use the very cool mosh client on my laptop.  If you haven't
tried mosh yet, it's a UDP-based client that establishes the connection
via SSH and then maintains a login across network timeouts and all kinds
of outages; indispensable when you are on the road or on a flaky
connection.

It only takes %u <at> %h as parameters.  -p specifies the UDP port so it's
not the usual -p for SSH; you have use ~/.ssh/config to specify the
port.  It also doesn't take the SSH -o options, again relying on
~/.ssh/config to specify them.  I hope that explains why I modified
`tramp-login-args' the way I did, starting with the "ssh" method.

I tried adding this to my setup but the `mosh' method complains any host
is not remote.  Could you advise?  Is it the removal of the "-p" command
so there is no %p in the login args?

Thanks
Ted

#+begin_src lisp
(add-to-list
 'tramp-methods
 '("mosh"
   (tramp-login-program "/usr/local/bin/mosh")
   (tramp-login-args
    (("%u <at> %h")))
   (tramp-async-args
    (()))
(Continue reading)

Michael Albinus | 23 Apr 2012 15:00
Picon
Picon
Gravatar

Re: Tramp mosh method

Ted Zlatanov <tzz <at> lifelogs.com> writes:

> Hi,

Hi Ted,

> I tried adding this to my setup but the `mosh' method complains any host
> is not remote.  Could you advise?  Is it the removal of the "-p" command
> so there is no %p in the login args?

The removal of the "p" arg shouldn't harm.

During my test, mosh blamed me that I don't use UTF-8 encoding. So I've
changed your settings to

(add-to-list
 'tramp-methods
 '("mosh"
   (tramp-login-program "env LC_ALL=en_US.UTF-8 /usr/bin/mosh")
   (tramp-login-args (("%u <at> %h")))
   (tramp-async-args (()))
   (tramp-remote-shell "/bin/sh")
   (tramp-remote-shell-args ("-c"))
   (tramp-gw-args ())
   (tramp-default-port 22)))

Likely, tramp-async-args and tramp-gw-args are not needed. Then there
was still an error when calling mosh from Tramp:

mosh-server: terminalframebuffer.cc:54:
(Continue reading)

Jason Stelzer | 23 Apr 2012 22:41
Picon

Re: Tramp mosh method

I don't think it's going to be that simple.

For ssh connections, you have a byte stream that tramp can interpret.

Mosh changes that. They're using  a new protocol called the State
Synchronization Protocol. It operates at the screen level and
synchronizes state.

Someone else can correct me where I'm wrong, but once ssh is used for
initial authentication, mosh uses a completely different protocol to
sych screen state.

2012/4/22 Ted Zlatanov <tzz <at> lifelogs.com>:
> Hi,
>
> I'd like to use the very cool mosh client on my laptop.  If you haven't
> tried mosh yet, it's a UDP-based client that establishes the connection
> via SSH and then maintains a login across network timeouts and all kinds
> of outages; indispensable when you are on the road or on a flaky
> connection.
>
> It only takes %u <at> %h as parameters.  -p specifies the UDP port so it's
> not the usual -p for SSH; you have use ~/.ssh/config to specify the
> port.  It also doesn't take the SSH -o options, again relying on
> ~/.ssh/config to specify them.  I hope that explains why I modified
> `tramp-login-args' the way I did, starting with the "ssh" method.
>
> I tried adding this to my setup but the `mosh' method complains any host
> is not remote.  Could you advise?  Is it the removal of the "-p" command
> so there is no %p in the login args?
(Continue reading)

Ted Zlatanov | 23 Apr 2012 22:46
X-Face
Favicon
Gravatar

Re: Tramp mosh method

On Mon, 23 Apr 2012 16:41:05 -0400 Jason Stelzer <jason.stelzer <at> gmail.com> wrote: 

JS> Someone else can correct me where I'm wrong, but once ssh is used for
JS> initial authentication, mosh uses a completely different protocol to
JS> sych screen state.

mosh can still run a shell and execute commands--the way Tramp uses SSH,
it looks like an interactive session.  I just can't figure out (tried
setting LINES and COLUMNS, using Michael's example) how to fool it into
thinking it has a non-zero screen size.

Ted
Ted Zlatanov | 24 Apr 2012 14:17
X-Face
Favicon
Gravatar

Re: Tramp mosh method

On Mon, 23 Apr 2012 15:00:17 +0200 Michael Albinus <michael.albinus <at> gmx.de> wrote: 

>> I tried adding this to my setup but the `mosh' method complains any host
>> is not remote.  Could you advise?  Is it the removal of the "-p" command
>> so there is no %p in the login args?

MA> The removal of the "p" arg shouldn't harm.

MA> During my test, mosh blamed me that I don't use UTF-8 encoding. So I've
MA> changed your settings to

MA> (add-to-list
MA>  'tramp-methods
MA>  '("mosh"
MA>    (tramp-login-program "env LC_ALL=en_US.UTF-8 /usr/bin/mosh")
MA>    (tramp-login-args (("%u <at> %h")))
MA>    (tramp-async-args (()))
MA>    (tramp-remote-shell "/bin/sh")
MA>    (tramp-remote-shell-args ("-c"))
MA>    (tramp-gw-args ())
MA>    (tramp-default-port 22)))

With this exact `add-to-list' call, I still get the "host is not remote" error:

Debugger entered--Lisp error: (file-error "Host `anyhost' looks like a remote host, `mosh' can only use
the local host")
  signal(file-error ("Host `anyhost' looks like a remote host, `mosh' can only use the local host"))
  (cond ((and completion (zerop (length localname)) (memq operation (quote (file-exists-p
file-directory-p)))) t) ((and completion (zerop (length localname)) (memq operation (quote
(expand-file-name file-name-as-directory)))) filename) (t (signal (car err) (cdr err))))
(Continue reading)


Gmane