Subject: bin/24144: Ssh(d) fails w/o COMPAT_16
To: None <gnats-bugs@gnats.NetBSD.org>
From: Martin Husemann <martin@duskware.de>
List: netbsd-bugs
Date: 01/18/2004 17:12:36
>Number:         24144
>Category:       bin
>Synopsis:       Ssh(d) fails w/o COMPAT_16
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jan 18 16:13:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Martin Husemann
>Release:        NetBSD 1.6ZH
>Organization:
>Environment:
System: NetBSD sunny-weather.duskware.de 1.6ZH NetBSD 1.6ZH (SUNNY) #0: Sat Jan 17 23:31:13 CET 2004 martin@sunny-weather.duskware.de:/usr/src/sys/arch/sparc64/compile/SUNNY sparc64
Architecture: sparc64
Machine: sparc64
>Description:

I have two machines running -current as of last night. For the fun of it, and
for testing purposes, I removed COMPAT_16 from the kernel of sunny-weather.
The only problem I found is that processes run via ssh on that machine do
not close their ssh session:

[/tmp] martin@night-porter > ssh setting-sun.duskware.de "uname -a" ; echo done
NetBSD setting-sun.duskware.de 1.6ZH NetBSD 1.6ZH (SETTINGSUN) #0: Fri Jan 16 15:07:58 MET 2004  martin@setting-sun.duskware.de:/usr/src/sys/arch/sparc64/compile/SETTINGSUN sparc64
done
[/tmp] martin@night-porter > ssh sunny-weather.duskware.de "uname -a" ; echo done
NetBSD sunny-weather.duskware.de 1.6ZH NetBSD 1.6ZH (SUNNY) #0: Sat Jan 17 23:31:13 CET 2004  martin@sunny-weather.duskware.de:/usr/src/sys/arch/sparc64/compile/SUNNY sparc64
stty: TIOCGETD: Inappropriate ioctl for device

Note that the shell prompt does not return here. Interrerupting the ssh session
with ^C works.

Using ssh -v on the working machine gives:

debug1: channel 0: obuf empty
debug1: channel 0: close_write
debug1: channel 0: output drain -> closed
debug1: channel 0: almost dead
debug1: channel 0: gc: notify user
debug1: channel 0: gc: user detached
debug1: channel 0: send close
debug1: channel 0: is dead
debug1: channel 0: garbage collecting
debug1: channel_free: channel 0: client-session, nchannels 1
debug1: Transferred: stdin 0, stdout 0, stderr 0 bytes in 0.3 seconds
debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 0.0
debug1: Exit status 0
debug1: compress outgoing: raw data 1230, compressed 696, factor 0.57
debug1: compress incoming: raw data 742, compressed 694, factor 0.94
done

while on the non-working it stops after:

debug1: channel 0: obuf empty
debug1: channel 0: close_write
debug1: channel 0: output drain -> closed

>How-To-Repeat:

Remove COMPAT_16 and try to execute a single command via ssh.
Try several times. It sometimes works a few times after reboot.

>Fix:
n/a
>Release-Note:
>Audit-Trail:
>Unformatted: