GNU bug report logs -
#10187
Tramp freezes up if you interrupt sudo's prompt
Previous Next
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
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Fri, 02 Dec 2011 23:00:13 -0500
with message-id <jwv8vmu9ufs.fsf-monnier+emacs <at> gnu.org>
and subject line Re: bug#10187: Tramp freezes up if you interrupt sudo's prompt
has caused the debbugs.gnu.org bug report #10187,
regarding Tramp freezes up if you interrupt sudo's prompt
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
10187: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10187
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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
[Message part 3 (message/rfc822, inline)]
>> % emacs -Q
>> C-x C-f /sudo::./ TAB
>> at the prompt hit C-g
>> this freezes Emacs (C-g doesn't help any further).
> I've committed a patch which should fix it. Could you, please, check?
Thanks, it seems to work now,
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.