GNU bug report logs - #10187
Tramp freezes up if you interrupt sudo's prompt

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>

Date: Thu, 1 Dec 2011 19:53:01 UTC

Severity: normal

Found in version 24.0.91

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

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: bug-gnu-emacs <at> gnu.org
Subject: Tramp freezes up if you interrupt sudo's prompt
Date: Thu, 01 Dec 2011 14:52:26 -0500
Package: Emacs
Version: 24.0.91


   % emacs -Q
   C-x C-f /sudo::./ TAB
   at the prompt hit C-g

this freezes Emacs (C-g doesn't help any further).
If I send the SIGUSR2 to wake it up, I get the appended backtrace.


        Stefan


Debugger entered--Lisp error: (quit)
  accept-process-output(#<process *tramp/sudo root <at> ceviche*> 1 nil)
  byte-code(<BYTECODE> [timeout -with-timeout-timer- with-timeout-timers proc timeout-msecs run-with-timer 1 nil #[nil "\300\301\211\"\207" [throw timeout] 3] ((cancel-timer -with-timeout-timer-)) accept-process-output] 5)
  tramp-accept-process-output(#<process *tramp/sudo root <at> ceviche*> 1)
  tramp-wait-for-regexp(#<process *tramp/sudo root <at> ceviche*> nil "\\(^\\|\\)[^#$\n]*///5fe2bbf32410c0285dcbdf73105d3075#\\$?$")
  tramp-wait-for-output(#<process *tramp/sudo root <at> ceviche*>)
  tramp-send-command(["sudo" "root" "ceviche" "./"] "cd ~root; pwd")
  tramp-sh-handle-expand-file-name("/sudo::./" nil)
  apply(tramp-sh-handle-expand-file-name ("/sudo::./" nil))
  tramp-sh-file-name-handler(expand-file-name "/sudo::./" nil)
  apply(tramp-sh-file-name-handler expand-file-name ("/sudo::./" nil))
  byte-code(<BYTECODE> [foreign sf d default-directory x operation autoload boundp temporary-file-directory fboundp temp-directory subrp functionp getenv "TEMP" file-directory-p file-name-as-directory "TMP" "TMPDIR" file-exists-p "c:/temp" message "Neither `temporary-file-directory' nor `temp-directory' is defined -- using /tmp." "/tmp" load noerror nomessage apply args] 5)
  tramp-file-name-handler(expand-file-name "/sudo::./" nil)
  expand-file-name("/sudo::./")
  tramp-handle-file-remote-p("/sudo::./" nil nil)
  apply(tramp-handle-file-remote-p ("/sudo::./" nil nil))
  tramp-sh-file-name-handler(file-remote-p "/sudo::./" nil nil)
  apply(tramp-sh-file-name-handler file-remote-p ("/sudo::./" nil nil))
  byte-code(<BYTECODE> [foreign sf d default-directory x operation autoload boundp temporary-file-directory fboundp temp-directory subrp functionp getenv "TEMP" file-directory-p file-name-as-directory "TMP" "TMPDIR" file-exists-p "c:/temp" message "Neither `temporary-file-directory' nor `temp-directory' is defined -- using /tmp." "/tmp" load noerror nomessage apply args] 5)
  tramp-file-name-handler(file-remote-p "/sudo::./" nil nil)
  file-remote-p("/sudo::./")
  byte-code(<BYTECODE> [end tramp-rfn-eshadow-update-overlay-regexp tramp-rfn-eshadow-overlay file-name-handler-alist rfn-eshadow-update-overlay-hook rfn-eshadow-overlay subrp overlay-end functionp minibuffer-prompt-end file-remote-p buffer-substring-no-properties string-match buffer-string nil move-overlay rfn-eshadow-update-overlay] 4)
  tramp-rfn-eshadow-update-overlay()
  run-hooks(rfn-eshadow-update-overlay-hook)
  byte-code(<BYTECODE> [rfn-eshadow-overlay non-essential end start mid goal substitute-in-file-name minibuffer-contents overlay-end minibuffer-prompt-end t nil (byte-code "\301\302d\"!\207" [pos substitute-in-file-name buffer-substring-no-properties] 4) ((error)) 2 move-overlay run-hooks rfn-eshadow-update-overlay-hook pos] 6)
  rfn-eshadow-update-overlay()
  read-from-minibuffer("Find file: " "~/src/emacs/trunk/" (keymap (keymap (32)) keymap (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (menu-bar keymap (minibuf "Minibuf" keymap (tab menu-item "Complete" minibuffer-complete :help "Complete as far as possible") (space menu-item "Complete Word" minibuffer-complete-word :help "Complete at most one word") (63 menu-item "List Completions" minibuffer-completion-help :help "Display all possible completions") "Minibuf")) (27 keymap (118 . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuffer-complete-word) (9 . minibuffer-complete) keymap (menu-bar keymap (minibuf "Minibuf" keymap (previous menu-item "Previous History Item" previous-history-element :help "Put previous minibuffer history element in the minibuffer") (next menu-item "Next History Item" next-history-element :help "Put next minibuffer history element in the minibuffer") (isearch-backward menu-item "Isearch History Backward" isearch-backward :help "Incrementally search minibuffer history backward") (isearch-forward menu-item "Isearch History Forward" isearch-forward :help "Incrementally search minibuffer history forward") (return menu-item "Enter" exit-minibuffer :key-sequence "" :help "Terminate input and exit minibuffer") (quit menu-item "Quit" abort-recursive-edit :help "Abort input and exit minibuffer") "Minibuf")) (10 . exit-minibuffer) (13 . exit-minibuffer) (7 . abort-recursive-edit) (C-tab . file-cache-minibuffer-complete) (9 . self-insert-command) (up . previous-history-element) (prior . previous-history-element) (down . next-history-element) (next . next-history-element) (27 keymap (114 . previous-matching-history-element) (115 . next-matching-history-element) (112 . previous-history-element) (110 . next-history-element))) nil file-name-history "~/src/emacs/trunk/" nil)
  completing-read-default("Find file: " read-file-name-internal file-exists-p confirm-after-completion "~/src/emacs/trunk/" file-name-history "~/src/emacs/trunk/" nil)
  completing-read("Find file: " read-file-name-internal file-exists-p confirm-after-completion "~/src/emacs/trunk/" file-name-history "~/src/emacs/trunk/")
  read-file-name-default("Find file: " nil "~/src/emacs/trunk/" confirm-after-completion nil nil)
  read-file-name("Find file: " nil "~/src/emacs/trunk/" confirm-after-completion)
  find-file-read-args("Find file: " confirm-after-completion)
  byte-code("\300\301\302 \"\207" [find-file-read-args "Find file: " confirm-nonexistent-file-or-buffer] 3)
  call-interactively(find-file nil nil)



        Stefan




This bug report was last modified 13 years and 177 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.