[Bug 2619] infinite loop, 100% cpu use in ssh if ^Z is pressed at password prompt

bugzilla-daemon at bugzilla.mindrot.org bugzilla-daemon at bugzilla.mindrot.org
Mon Oct 17 03:41:42 AEDT 2016


https://bugzilla.mindrot.org/show_bug.cgi?id=2619

--- Comment #5 from Darren Tucker <dtucker at zip.com.au> ---
(In reply to Darren Tucker from comment #4)
> The new problem is that during the "resend all the signals we got to
> ourselves" part, the kill syscall hangs.

Actually I don't think it's the syscall itself that is hanging, so I
think that part of the man page is a red herring.

Here's an strace:

read(5, 0xbf88cb5b, 1)                  = ? ERESTARTSYS (To be
restarted if SA_RESTART is set)
--- SIGTSTP {si_signo=SIGTSTP, si_code=SI_KERNEL} ---
sigreturn({mask=[]})                    = -1 EINTR (Interrupted system
call)
write(5, "\n", 1)                       = 1
ioctl(5, SNDCTL_TMR_CONTINUE or TCSETSF, {B38400 opost isig icanon echo
...}) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGTTOU {si_signo=SIGTTOU, si_code=SI_KERNEL} ---
sigreturn({mask=[]})                    = -1 EINTR (Interrupted system
call)
rt_sigaction(SIGALRM, {SIG_DFL, [], 0}, NULL, 8) = 0
rt_sigaction(SIGHUP, {SIG_DFL, [], 0}, NULL, 8) = 0
rt_sigaction(SIGINT, {SIG_IGN, [], 0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, [], 0}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], 0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, [], 0}, NULL, 8) = 0
rt_sigaction(SIGTSTP, {SIG_DFL, [], 0}, NULL, 8) = 0
rt_sigaction(SIGTTIN, {SIG_DFL, [], 0}, NULL, 8) = 0
rt_sigaction(SIGTTOU, {SIG_DFL, [], 0}, NULL, 8) = 0
close(5)                                = 0
kill(28963, SIGTSTP)                    = 0
--- SIGTSTP {si_signo=SIGTSTP, si_code=SI_USER, si_pid=28963,
si_uid=500} ---
--- stopped by SIGTSTP ---
--- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=28503,
si_uid=500} ---
kill(28963, SIGTTOU)                    = 0
--- SIGTTOU {si_signo=SIGTTOU, si_code=SI_USER, si_pid=28963,
si_uid=500} ---
--- stopped by SIGTTOU ---
[hung here]

-- 
You are receiving this mail because:
You are watching someone on the CC list of the bug.
You are watching the assignee of the bug.


More information about the openssh-bugs mailing list