scp not shutting down in 2.1.1p4

Lutz Jaenicke Lutz.Jaenicke at aet.TU-Cottbus.DE
Fri Jul 21 20:40:36 EST 2000

On Thu, Jul 20, 2000 at 05:19:02PM +0200, Kevin Steves wrote:
> Here are some trace (tusc) and stacks traces from HP-UX 11.0.
> stack trace of server blocked sshd:
> #1  0xc01f8fa8 in select () from /usr/lib/libc.2
> #2  0x1b90c in wait_until_can_do_something (readset=0x7bff0ea8, writeset=0x7bff0fa8, 
>     max_time_milliseconds=0) at serverloop.c:232

> stack trace "hung" scp process:
> #0  0xc01ed230 in _read_sys () from /usr/lib/libc.2
> #1  0xc01f85e4 in read () from /usr/lib/libc.2

Ok, I have by now "finally" analyzed the problem. The protocol seems to
be as follows:
* Once the scp is done, the calling scp will close its output channel
  causing an EOF condition in the sshd. The sshd will then close its
  channel to the scp process (hanging in the read scp.c:702).
  The scp recognizes the close, kindly exits and the sshd will finish.
* On HP-UX 10.20 (seems also to affect HP-UX 11, don't know about other
  platforms), the shutdown() in serverloop.c:320 does not yield the
  necessary effect, the scp-child does not see the EOF.
  I have now recompiled with USE_PIPES (see includes.h) and the full close()
  of the fdin descriptor yields the desired effect.

Best regards,
Lutz Jaenicke                             Lutz.Jaenicke at aet.TU-Cottbus.DE
BTU Cottbus               http://www.aet.TU-Cottbus.DE/personen/jaenicke/
Lehrstuhl Allgemeine Elektrotechnik                  Tel. +49 355 69-4129
Universitaetsplatz 3-4, D-03044 Cottbus              Fax. +49 355 69-4153

More information about the openssh-unix-dev mailing list