tramp-devel
[Top][All Lists]
Advanced

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

tramp (2.1.2); confusing failure mode when remote host does not give ssh


From: Alan Donovan
Subject: tramp (2.1.2); confusing failure mode when remote host does not give ssh prompt
Date: Mon, 09 Oct 2006 14:55:10 -0400

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.

Another useful thing to do is to put (setq tramp-debug-buffer t) 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--


When evaluating the following expression:

     (tramp-handle-file-exists-p "/foo.yoyodyne.com:/bar.cc")

using the "ssh" access method, where "foo" is a host that responds to
pings, and accepts incoming ssh connections, but does not respond with
a "Password:" prompt in a timely manner, then the evaluation fails
with the following stack trace:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  format(nil "/foo.java")
  (tramp-send-command-and-check multi-method method user host (format
    (tramp-get-file-exists-command multi-method method user host)
    (tramp-shell-quote-argument path)))
  (zerop (tramp-send-command-and-check multi-method method user host
    (format ... ...)))
  (save-excursion (zerop (tramp-send-command-and-check multi-method
    method user host ...)))
  (let* ((v ...) (multi-method ...) (method ...) (user ...) (host ...)
    (path ...)) (when (tramp-ange-ftp-file-name-p multi-method method)
    (tramp-invoke-ange-ftp ... filename)) (save-excursion (zerop ...)))
  (with-parsed-tramp-file-name filename nil (when
    (tramp-ange-ftp-file-name-p multi-method method)
    (tramp-invoke-ange-ftp ... filename)) (save-excursion (zerop ...)))
  tramp-handle-file-exists-p("/foo.yoyodyne.com:/bar.cc")

Ideally in such cases the code should signal some kind of timeout
error such as "host 'foo' not responding to ssh connection".

(I realise this seems pretty obscure.  I still haven't figured out why
this host accepts the ssh connection, but then doesn't seem to do
anything with it, it just sits there.)

cheers
alan




Emacs  : GNU Emacs 21.2.1 (i386-redhat-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2003-02-20 on porky.devel.redhat.com
Package: tramp (2.1.2)

current state:
==============
(setq
 tramp-ls-command nil
 tramp-test-groks-nt nil
 tramp-file-exists-command nil
 tramp-current-method "ssh"
 tramp-current-user "adonovan"
 tramp-current-host "adonovan.nyc..corp.google.com"
 tramp-auto-save-directory nil
 tramp-default-method "scp"
 tramp-default-method-alist '(("\\`localhost\\'" "\\`root\\'" "sudo")
                              (nil "%" "smb")
                              ("" "\\`\\(anonymous\\|ftp\\)\\'" "ftp")
                              ("\\`ftp\\." "" "ftp"))
 tramp-default-proxies-alist nil
 tramp-rsh-end-of-line "\n"
 tramp-default-password-end-of-line "\n"
 tramp-remote-path '("/bin" "/usr/bin" "/usr/sbin" "/usr/local/bin"
                     "/usr/ccs/bin" "/local/bin" "/local/freeware/bin"
                     "/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin"
                     "/usr/contrib/bin")
 tramp-login-prompt-regexp ".*\\(assword\\|ogin\\): *"
 tramp-password-prompt-regexp "^.*\\([pP]assword\\|passphrase.*\\):
 tramp-wrong-passwd-regexp "^.*\\(Connection 
\\(?:\\(?:clo\\|refu\\)sed\\)\\|Host key verification failed\\.\\|Login 
\\(?:[Ii]ncorrect\\)\\|Name or service not known\\|Permission 
denied\\.\\|Sorry, try again\\.\\|Tramp connection closed\\).*\\|^.*\\(Received 
signal [0-9]+\\).*"
 tramp-yesno-prompt-regexp "\\(Are you sure you want to continue connecting 
(yes/no)\\?\\)\\s-*"
 tramp-yn-prompt-regexp "\\(Store key in cache\\? (y/n)\\)\\s-*"
 tramp-terminal-prompt-regexp "\\(TERM = (.*)\\|Terminal type\\? 
\\[.*\\]\\)\\s-*"
 tramp-temp-name-prefix "tramp."
 tramp-file-name-structure '("^/\\(\\([a-zA-Z_0-9-]+\\):\\)?\\(\\([^:@/         
]+\\)@\\)?\\([a-zA-Z0-9_.-]+\\(#[0-9]+\\)?\\)?:\\(.*$\\)" 2 4 5 7)
 tramp-file-name-regexp "\\`/[^/:]+:"
 tramp-methods '(("smb") ("ftp")
                 ("rcp" (tramp-login-program "rsh") (tramp-copy-program "rcp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args (("%h") ("-l" "%u")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("scp" (tramp-login-program "ssh") (tramp-copy-program "scp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("scp1" (tramp-login-program "ssh")
                  (tramp-copy-program "scp") (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-1" "-e" "none")))
                  (tramp-copy-args ("-1")) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("scp2" (tramp-login-program "ssh")
                  (tramp-copy-program "scp") (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-2" "-e" "none")))
                  (tramp-copy-args ("-2")) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("scp1_old" (tramp-login-program "ssh1")
                  (tramp-copy-program "scp1") (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("scp2_old" (tramp-login-program "ssh2")
                  (tramp-copy-program "scp2") (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("sftp" (tramp-login-program "ssh")
                  (tramp-copy-program "sftp") (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("rsync" (tramp-login-program "ssh")
                  (tramp-copy-program "rsync") (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
                  (tramp-copy-args ("-e" "ssh"))
                  (tramp-copy-keep-date-arg "-t")
                  (tramp-password-end-of-line nil))
                 ("remcp" (tramp-login-program "remsh")
                  (tramp-copy-program "rcp") (tramp-remote-sh "/bin/sh")
                  (tramp-login-args (("%h") ("-l" "%u")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("rsh" (tramp-login-program "rsh") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args (("%h") ("-l" "%u")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("ssh" (tramp-login-program "ssh") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("ssh1" (tramp-login-program "ssh") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-1" "-e" "none")))
                  (tramp-copy-args ("-1")) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("ssh2" (tramp-login-program "ssh") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-2" "-e" "none")))
                  (tramp-copy-args ("-2")) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("ssh1_old" (tramp-login-program "ssh1")
                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("ssh2_old" (tramp-login-program "ssh2")
                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p") ("-e" "none")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("remsh" (tramp-login-program "remsh")
                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
                  (tramp-login-args (("%h") ("-l" "%u")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("telnet" (tramp-login-program "telnet")
                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
                  (tramp-login-args (("%h"))) (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("su" (tramp-login-program "su") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args (("-") ("%u"))) (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("sudo" (tramp-login-program "sudo") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args (("-u" "%u") ("-s" "-p" "Password:")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("scpx" (tramp-login-program "ssh")
                  (tramp-copy-program "scp") (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p")
                    ("-e" "none" "-t" "-t" "/bin/sh"))
                   )
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 ("sshx" (tramp-login-program "ssh") (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-p" "%p")
                    ("-e" "none" "-t" "-t" "/bin/sh"))
                   )
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("krlogin" (tramp-login-program "krlogin")
                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
                  (tramp-login-args (("%h") ("-l" "%u") ("-x")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line nil))
                 ("plink" (tramp-login-program "plink")
                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
                  (tramp-login-args (("%h") ("-l" "%u") ("-P" "%p") ("-ssh")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line "xy"))
                 ("plink1" (tramp-login-program "plink")
                  (tramp-copy-program nil) (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   (("%h") ("-l" "%u") ("-P" "%p") ("-1" "-ssh")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg nil)
                  (tramp-password-end-of-line "xy"))
                 ("pscp" (tramp-login-program "plink")
                  (tramp-copy-program "pscp") (tramp-remote-sh "/bin/sh")
                  (tramp-login-args (("%h") ("-l" "%u") ("-P" "%p") ("-ssh")))
                  (tramp-copy-args ("-scp")) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line "xy"))
                 ("psftp" (tramp-login-program "plink")
                  (tramp-copy-program "pscp") (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("%h") ("-l" "%u") ("-P" "%p") ("-ssh"))
                  (tramp-copy-args ("-psftp")) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line "xy"))
                 ("fcp" (tramp-login-program "fsh") (tramp-copy-program "fcp")
                  (tramp-remote-sh "/bin/sh -i")
                  (tramp-login-args (("%h") ("-l" "%u") ("sh" "-i")))
                  (tramp-copy-args nil) (tramp-copy-keep-date-arg "-p")
                  (tramp-password-end-of-line nil))
                 )
 tramp-end-of-output "///1913a06dddc2d18fc4e26106894a6f34"
 tramp-coding-commands '(("mimencode -b" "mimencode -u -b"
                          base64-encode-region base64-decode-region)
                         ("mmencode -b" "mmencode -u -b" base64-encode-region
                          base64-decode-region)
                         ("recode data..base64" "recode base64..data"
                          base64-encode-region base64-decode-region)
                         ("uuencode xxx" "uudecode -o -" tramp-uuencode-region
                          uudecode-decode-region)
                         ("uuencode xxx" "uudecode -p" tramp-uuencode-region
                          uudecode-decode-region)
                         ("uuencode xxx" "tramp_uudecode"
                          tramp-uuencode-region uudecode-decode-region)
                         ("tramp_encode_with_module"
                          "tramp_decode_with_module" base64-encode-region
                          base64-decode-region)
                         ("tramp_encode" "tramp_decode" base64-encode-region
                          base64-decode-region)
                         )
 tramp-actions-before-shell '((tramp-password-prompt-regexp
                               tramp-action-password)
                              (tramp-login-prompt-regexp tramp-action-login)
                              (shell-prompt-pattern tramp-action-succeed)
                              (tramp-shell-prompt-pattern tramp-action-succeed)
                              (tramp-wrong-passwd-regexp
                               tramp-action-permission-denied)
                              (tramp-yesno-prompt-regexp tramp-action-yesno)
                              (tramp-yn-prompt-regexp tramp-action-yn)
                              (tramp-terminal-prompt-regexp
                               tramp-action-terminal)
                              (tramp-process-alive-regexp
                               tramp-action-process-alive)
                              )
 tramp-actions-copy-out-of-band '((tramp-password-prompt-regexp
                                   tramp-action-password)
                                  (tramp-wrong-passwd-regexp
                                   tramp-action-permission-denied)
                                  (tramp-process-alive-regexp
                                   tramp-action-out-of-band)
                                  )
 tramp-terminal-type "dumb"
 tramp-shell-prompt-pattern "^[^#$%>\n]*[#$%>] *\\(\\[[0-9;]*[a-zA-Z] *\\)*"
 tramp-chunksize nil
 tramp-backup-directory-alist nil
 nil nil
 shell-prompt-pattern "^[^#$%>\n]*[#$%>] *"
 backup-by-copying nil
 backup-by-copying-when-linked nil
 backup-by-copying-when-mismatch nil
 backup-by-copying-when-privileged-mismatch 200
 nil nil
 nil nil
 backup-directory-alist nil
 nil nil
 file-name-handler-alist '(("^/$\\|^/[^/:][^/]*$" .
                            tramp-completion-file-name-handler)
                           ("\\`/[^/:]+:" . tramp-file-name-handler)
                           ("^//sysimages\\b" . p4-file-name-handler)
                           ("^//specs\\b" . p4-file-name-handler)
                           ("^//depot\\b" . p4-file-name-handler)
                           ("\\`/:" . file-name-non-special))
 )




reply via email to

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