tramp-devel
[Top][All Lists]
Advanced

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

tramp (2.0.35); XEmacs doesn't kill subprocess using su


From: Alexander Taler
Subject: tramp (2.0.35); XEmacs doesn't kill subprocess using su
Date: Sun, 20 Jul 2003 20:35:43 -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--

Using the su method, XEmacs can't kill the shell subprocess, which
prevents it from exiting.  To reproduce:

   xemacs --no-init-file --no-site-file

   C-x C-f   /[su/address@hidden/etc/passwd

   C-x C-c

The XEmacs window disappears, but the process is still around,
although it thinks it has crashed.

It reports the following on the console:

   Fatal error (11).

   [ snip message about core dumps. ]

But it hangs, not returning control to the shell.

The process is still around, as reported by ps:

   1296 pts/2    S      0:04      \_ xemacs -no-site-file -no-init-file
   1297 pts/3    S      0:00          \_ /bin/sh


I also tried to work around the problem by killing the tramp log
buffer, hoping that that would get rid of the subprocess:

    C-x k   *tramp/su address@hidden

issues the message:

    kill (1347, 1) failed: Operation not permitted


Clearly the problem is that the subprocess belongs to root, and not to
me, so the normal XEmacs signalling can't deal with it.  I guess that
the way to deal with this would be to somehow hook into the killing of
the buffer (unless this exists, and it's just not working for me).  I
am happy to help test any solutions to this problem.

Thanks for your effort in creating TRAMP.

Alex

Emacs  : XEmacs 21.4 (patch 13) "Rational FORTRAN" [Lucid] (i686-pc-linux) of 
Sat Jul 19 2003 on binky
Package: tramp (2.0.35)

current state:
==============
(setq
 tramp-ls-command "/bin/ls"
 tramp-test-groks-nt nil
 tramp-file-exists-command "test -e %s"
 tramp-current-multi-method nil
 tramp-current-method "su"
 tramp-current-user "root"
 tramp-current-host "localhost"
 tramp-auto-save-directory nil
 tramp-default-method "ssh"
 tramp-rsh-end-of-line "\n"
 tramp-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 ".*ogin: *"
 tramp-password-prompt-regexp "^.*\\([pP]assword\\|passphrase.*\\):? *"
 tramp-wrong-passwd-regexp "^.*\\(?:Connection \\(?:closed\\|refused\\)\\|Host 
key verification failed\\.\\|Login \\(?:Incorrect\\|incorrect\\)\\|Name or 
service not known\\|Permission denied\\.\\|Sorry, try 
again\\.\\).*\\|^.*\\(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-temp-name-prefix "tramp."
 tramp-file-name-structure '("^/\\[\\(\\([a-zA-Z_0-9-]+\\)/\\)?\\(\\([^:@/      
]*\\)@\\)?\\([a-zA-Z0-9_.#-]*\\)\\]\\(.*$\\)" 2 4 5 6)
 tramp-file-name-regexp "\\`/\\[.*\\]"
 tramp-multi-file-name-structure 
'("^/\\[\\(\\([a-zA-Z_0-9-]+\\)\\)?\\(\\(/%s\\)+\\)?\\]\\(.*$\\)" 2 3 -1)
 tramp-multi-file-name-hop-structure '("\\([a-zA-Z_0-9-]+\\):\\([^:@/   
]*\\)@\\([a-zA-Z0-9_.#-]*\\)" 1 2 3)
 tramp-multi-methods '("multi" "multiu")
 tramp-multi-connection-function-alist '(("telnet"
                                          tramp-multi-connect-telnet "telnet 
%h%n")
                                         ("rsh"
                                          tramp-multi-connect-rlogin "rsh %h -l 
%u%n")
                                         ("remsh"
                                          tramp-multi-connect-rlogin "remsh %h 
-l %u%n")
                                         ("ssh"
                                          tramp-multi-connect-rlogin "ssh %h -l 
%u%n")
                                         ("su"
                                          tramp-multi-connect-su
                                          "su - %u%n")
                                         ("sudo"
                                          tramp-multi-connect-su
                                          "sudo -u %u -s -p Password:%n")
                                         )
 tramp-methods '(("smb")
                 ("rcp"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "rsh")
                  (tramp-copy-program "rcp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args nil) (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg "-p"))
                 ("scp"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh")
                  (tramp-copy-program "scp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg "-p"))
                 ("scp1"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh")
                  (tramp-copy-program "scp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-1" "-e" "none"))
                  (tramp-copy-args ("-1"))
                  (tramp-copy-keep-date-arg "-p"))
                 ("scp2"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh")
                  (tramp-copy-program "scp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-2" "-e" "none"))
                  (tramp-copy-args ("-2"))
                  (tramp-copy-keep-date-arg "-p"))
                 ("scp1_old"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh1")
                  (tramp-copy-program "scp1")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg "-p"))
                 ("scp2_old"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh2")
                  (tramp-copy-program "scp2")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg "-p"))
                 ("rsync"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh")
                  (tramp-copy-program "rsync")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-e" "none"))
                  (tramp-copy-args ("-e" "ssh"))
                  (tramp-copy-keep-date-arg "-t"))
                 ("remcp"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "remsh")
                  (tramp-copy-program "rcp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args nil) (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg "-p"))
                 ("rsh"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "rsh")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args nil) (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil))
                 ("ssh"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil))
                 ("ssh1"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-1" "-e" "none"))
                  (tramp-copy-args ("-1"))
                  (tramp-copy-keep-date-arg nil))
                 ("ssh2"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-2" "-e" "none"))
                  (tramp-copy-args ("-2"))
                  (tramp-copy-keep-date-arg nil))
                 ("ssh1_old"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh1")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil))
                 ("ssh2_old"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh2")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-e" "none"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil))
                 ("remsh"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "remsh")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args nil) (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil))
                 ("telnet"
                  (tramp-connection-function
                   tramp-open-connection-telnet)
                  (tramp-login-program "telnet")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args nil) (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil))
                 ("su"
                  (tramp-connection-function
                   tramp-open-connection-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))
                 ("sudo"
                  (tramp-connection-function
                   tramp-open-connection-su)
                  (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))
                 ("multi"
                  (tramp-connection-function
                   tramp-open-connection-multi)
                  (tramp-login-program nil)
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args nil) (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil))
                 ("scpx"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh")
                  (tramp-copy-program "scp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   ("-e" "none" "-t" "-t" "/bin/sh"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg "-p"))
                 ("sshx"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "ssh")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args
                   ("-e" "none" "-t" "-t" "/bin/sh"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil))
                 ("krlogin"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "krlogin")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-x")) (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil))
                 ("plink"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "plink")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-ssh"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil))
                 ("plink1"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "plink")
                  (tramp-copy-program nil)
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-1" "-ssh"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg nil))
                 ("pscp"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "plink")
                  (tramp-copy-program "pscp")
                  (tramp-remote-sh "/bin/sh")
                  (tramp-login-args ("-ssh"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg "-p"))
                 ("fcp"
                  (tramp-connection-function
                   tramp-open-connection-rsh)
                  (tramp-login-program "fsh")
                  (tramp-copy-program "fcp")
                  (tramp-remote-sh "/bin/sh -i")
                  (tramp-login-args ("sh" "-i"))
                  (tramp-copy-args nil)
                  (tramp-copy-keep-date-arg "-p"))
                 )
 tramp-end-of-output "///bd0e3e711c70288a3cfa9935473772c8"
 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-multi-actions '((tramp-password-prompt-regexp
                        tramp-multi-action-password)
                       (tramp-login-prompt-regexp
                        tramp-multi-action-login)
                       (shell-prompt-pattern
                        tramp-multi-action-succeed)
                       (tramp-shell-prompt-pattern
                        tramp-multi-action-succeed)
                       (tramp-wrong-passwd-regexp
                        tramp-multi-action-permission-denied)
                       )
 tramp-terminal-type "dumb"
 tramp-shell-prompt-pattern "^[^#$%>\n]*[#$%>] *\\(\\[[0-9;]*[a-zA-Z] *\\)*"
 tramp-chunksize nil
 shell-prompt-pattern "^[^#$%>\n]*[#$%>] *"
 backup-by-copying nil
 backup-by-copying-when-linked nil
 backup-by-copying-when-mismatch nil
 nil nil
 file-name-handler-alist '(("^/\\([[][^]]*\\)?$" .
                            tramp-completion-file-name-handler)
                           ("\\`/\\[.*\\]" .
                            tramp-file-name-handler)
                           ("^/[^/:]+:" .
                            remote-path-file-handler-function)
                           )
 )




reply via email to

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