[Bug 52] ssh hangs on exit

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Thu Feb 23 12:12:41 EST 2006


http://bugzilla.mindrot.org/show_bug.cgi?id=52





------- Comment #21 from djm at mindrot.org  2006-02-23 12:12 -------
(In reply to comment #20)
> That is in fact is the correct behaviour. Please check out how rsh and the
> commercial ssh work: if the user types "exit" in a shell, all further I/O,
> both reads and writes, are ignored. The rationale for this long-standing
> convention is: if you want more I/O, don't type "exit"! 

The example test in Comment #19 *doesn't* do any IO after "dd" exits, but there
is still data in the pipe/socket buffer that gets lost by your patch. The same
applies to any interactive program that is producing data around the time it
exits.

> > (set -e ; while [ 1 ] ; do
> >     ssh -qttp2222 linux-qemu "dd if=/dev/zero bs=256k count=1" |
> >     wc -c ; done)
> 
> Because you tried to be clever and pretend to be an interactive tty
> session, even though you are not. 

You are completely missing the point. This is simple test to demonstrate that
your patch loses data on ttys. 

A real-world mainfestation of this problem with your patch could be an
interactive ncurses app's endwin() cleanups being truncated, resulting in a
corrupted terminal state.

> I highly recommend it; it's about time that this silly bug be fixed once
> and for all. Let's move forward now...

I'd love to see this bug fixed, but your patch introduces new problems. Just
because you haven't noticed, or consider them relevant to you them doesn't mean
that they don't exist.




------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.




More information about the openssh-bugs mailing list