Your comments

I didn't see Java 9 available at java.com or openjdk, both have 8.121 as the most current version.

Also, I set up PuTTY on a windows computer and didn't see the problem behavior. It looks like it's limited to OS X ssh and XQuartz.

I'm running java-1.8.0-openjdk.x86_64


Here's my sshd_config, I don't believe I've made any changes from the default configuration:


# $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $

# This is the sshd server system-wide configuration file. See

# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with

# OpenSSH is to specify options with their default value where

# possible, but leave them commented. Uncommented options override the

# default value.

# If you want to change the port on a SELinux system, you have to tell

# SELinux about this change.

# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER

#

#Port 22

#AddressFamily any

#ListenAddress 0.0.0.0

#ListenAddress ::

# The default requires explicit activation of protocol 1

#Protocol 2

# HostKey for protocol version 1

#HostKey /etc/ssh/ssh_host_key

# HostKeys for protocol version 2

HostKey /etc/ssh/ssh_host_rsa_key

#HostKey /etc/ssh/ssh_host_dsa_key

HostKey /etc/ssh/ssh_host_ecdsa_key

HostKey /etc/ssh/ssh_host_ed25519_key

# Lifetime and size of ephemeral version 1 server key

#KeyRegenerationInterval 1h

#ServerKeyBits 1024

# Ciphers and keying

#RekeyLimit default none

# Logging

# obsoletes QuietMode and FascistLogging

#SyslogFacility AUTH

SyslogFacility AUTHPRIV

#LogLevel INFO

# Authentication:

#LoginGraceTime 2m

#PermitRootLogin yes

#StrictModes yes

#MaxAuthTries 6

#MaxSessions 10

#RSAAuthentication yes

#PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2

# but this is overridden so installations will only check .ssh/authorized_keys

AuthorizedKeysFile .ssh/authorized_keys

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none

#AuthorizedKeysCommandUser nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts

#RhostsRSAAuthentication no

# similar for protocol version 2

#HostbasedAuthentication no

# Change to yes if you don't trust ~/.ssh/known_hosts for

# RhostsRSAAuthentication and HostbasedAuthentication

#IgnoreUserKnownHosts no

# Don't read the user's ~/.rhosts and ~/.shosts files

#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!

#PasswordAuthentication yes

#PermitEmptyPasswords no

PasswordAuthentication yes

# Change to no to disable s/key passwords

#ChallengeResponseAuthentication yes

ChallengeResponseAuthentication no

# Kerberos options

#KerberosAuthentication no

#KerberosOrLocalPasswd yes

#KerberosTicketCleanup yes

#KerberosGetAFSToken no

#KerberosUseKuserok yes

# GSSAPI options

GSSAPIAuthentication yes

GSSAPICleanupCredentials no

#GSSAPIStrictAcceptorCheck yes

#GSSAPIKeyExchange no

#GSSAPIEnablek5users no

# Set this to 'yes' to enable PAM authentication, account processing,

# and session processing. If this is enabled, PAM authentication will

# be allowed through the ChallengeResponseAuthentication and

# PasswordAuthentication. Depending on your PAM configuration,

# PAM authentication via ChallengeResponseAuthentication may bypass

# the setting of "PermitRootLogin without-password".

# If you just want the PAM account and session checks to run without

# PAM authentication, then enable this but set PasswordAuthentication

# and ChallengeResponseAuthentication to 'no'.

# WARNING: 'UsePAM no' is not supported in Red Hat Enterprise Linux and may caus

e several

# problems.

UsePAM yes

#AllowAgentForwarding yes

#AllowTcpForwarding yes

#GatewayPorts no

X11Forwarding yes

X11DisplayOffset 10

X11UseLocalhost yes

#PermitTTY yes

#PrintMotd yes

#PrintLastLog yes

#TCPKeepAlive yes

#UseLogin no

UsePrivilegeSeparation sandbox# Default for new installations.

#PermitUserEnvironment no

#Compression delayed

#ClientAliveInterval 0

#ClientAliveCountMax 3

#ShowPatchLevel no

#UseDNS yes

#PidFile /var/run/sshd.pid

#MaxStartups 10:30:100

#PermitTunnel no

#ChrootDirectory none

#VersionAddendum none

# no default banner path

#Banner none

# Accept locale-related environment variables

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE

AcceptEnv XMODIFIERS

# override default of no subsystems

Subsystem sftp /usr/libexec/openssh/sftp-server

# Example of overriding settings on a per-user basis

#Match User anoncvs

# X11Forwarding no

# AllowTcpForwarding no

# PermitTTY no

# ForceCommand cvs server

The problem is present whenever the client service is running, regardless of whether there is an active session or not.


Here's the tail of the log file:


2017-02-09 13:44:32.616 -0500 Exception:

java.io.EOFException

at java.io.DataInputStream.readByte(DataInputStream.java:267)

at com.screenconnect.MessageSerializer.deserialize(MessageSerializer.java:97)

at com.screenconnect.EndPointManager.receiveMessage(EndPointManager.java:121)

at com.screenconnect.EndPointManager$SocketEndPointManager.runIncomingThread(EndPointManager.java:319)

at com.screenconnect.EndPointManager$SocketEndPointManager.access$100(EndPointManager.java:133)

at com.screenconnect.EndPointManager$SocketEndPointManager$1.run(EndPointManager.java:197)

at java.lang.Thread.run(Thread.java:745)

2017-02-09 14:03:50.694 -0500 Exception:

java.io.EOFException

at java.io.DataInputStream.readByte(DataInputStream.java:267)

at com.screenconnect.MessageSerializer.deserialize(MessageSerializer.java:97)

at com.screenconnect.EndPointManager.receiveMessage(EndPointManager.java:121)

at com.screenconnect.EndPointManager$SocketEndPointManager.runIncomingThread(EndPointManager.java:319)

at com.screenconnect.EndPointManager$SocketEndPointManager.access$100(EndPointManager.java:133)

at com.screenconnect.EndPointManager$SocketEndPointManager$1.run(EndPointManager.java:197)

at java.lang.Thread.run(Thread.java:745)

2017-02-09 14:04:33.878 -0500 Exception:

java.io.EOFException

at java.io.DataInputStream.readByte(DataInputStream.java:267)

at com.screenconnect.MessageSerializer.deserialize(MessageSerializer.java:97)

at com.screenconnect.EndPointManager.receiveMessage(EndPointManager.java:121)

at com.screenconnect.EndPointManager$SocketEndPointManager.runIncomingThread(EndPointManager.java:319)

at com.screenconnect.EndPointManager$SocketEndPointManager.access$100(EndPointManager.java:133)

at com.screenconnect.EndPointManager$SocketEndPointManager$1.run(EndPointManager.java:197)

at java.lang.Thread.run(Thread.java:745)

2017-02-09 14:04:48.635 -0500 Exception:

java.io.EOFException

at java.io.DataInputStream.readByte(DataInputStream.java:267)

at com.screenconnect.MessageSerializer.deserialize(MessageSerializer.java:97)

at com.screenconnect.EndPointManager.receiveMessage(EndPointManager.java:121)

at com.screenconnect.EndPointManager$SocketEndPointManager.runIncomingThread(EndPointManager.java:319)

at com.screenconnect.EndPointManager$SocketEndPointManager.access$100(EndPointManager.java:133)

at com.screenconnect.EndPointManager$SocketEndPointManager$1.run(EndPointManager.java:197)

at java.lang.Thread.run(Thread.java:745)

2017-02-09 14:05:49.902 -0500 Exception:

java.io.EOFException

at java.io.DataInputStream.readByte(DataInputStream.java:267)

at com.screenconnect.MessageSerializer.deserialize(MessageSerializer.java:97)

at com.screenconnect.EndPointManager.receiveMessage(EndPointManager.java:121)

at com.screenconnect.EndPointManager$SocketEndPointManager.runIncomingThread(EndPointManager.java:319)

at com.screenconnect.EndPointManager$SocketEndPointManager.access$100(EndPointManager.java:133)

at com.screenconnect.EndPointManager$SocketEndPointManager$1.run(EndPointManager.java:197)

at java.lang.Thread.run(Thread.java:745)

2017-02-09 14:07:21.902 -0500 Exception:

java.io.EOFException

at java.io.DataInputStream.readByte(DataInputStream.java:267)

at com.screenconnect.MessageSerializer.deserialize(MessageSerializer.java:97)

at com.screenconnect.EndPointManager.receiveMessage(EndPointManager.java:121)

at com.screenconnect.EndPointManager$SocketEndPointManager.runIncomingThread(EndPointManager.java:319)

at com.screenconnect.EndPointManager$SocketEndPointManager.access$100(EndPointManager.java:133)

at com.screenconnect.EndPointManager$SocketEndPointManager$1.run(EndPointManager.java:197)

at java.lang.Thread.run(Thread.java:745)

2017-02-09 14:07:49.172 -0500 Exception:

java.io.EOFException

at java.io.DataInputStream.readByte(DataInputStream.java:267)

at com.screenconnect.MessageSerializer.deserialize(MessageSerializer.java:97)

at com.screenconnect.EndPointManager.receiveMessage(EndPointManager.java:121)

at com.screenconnect.EndPointManager$SocketEndPointManager.runIncomingThread(EndPointManager.java:319)

at com.screenconnect.EndPointManager$SocketEndPointManager.access$100(EndPointManager.java:133)

at com.screenconnect.EndPointManager$SocketEndPointManager$1.run(EndPointManager.java:197)

at java.lang.Thread.run(Thread.java:745)

2017-02-09 14:08:19.649 -0500 Exception:

java.io.EOFException

at java.io.DataInputStream.readByte(DataInputStream.java:267)

at com.screenconnect.MessageSerializer.deserialize(MessageSerializer.java:97)

at com.screenconnect.EndPointManager.receiveMessage(EndPointManager.java:121)

at com.screenconnect.EndPointManager$SocketEndPointManager.runIncomingThread(EndPointManager.java:319)

at com.screenconnect.EndPointManager$SocketEndPointManager.access$100(EndPointManager.java:133)

at com.screenconnect.EndPointManager$SocketEndPointManager$1.run(EndPointManager.java:197)

at java.lang.Thread.run(Thread.java:745)

Exception in thread "ShutdownHook" java.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.

at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)

at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)

at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)

at java.security.AccessController.doPrivileged(Native Method)

at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:264)

at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)

at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)

at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:126)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:264)

at java.awt.Toolkit$2.run(Toolkit.java:860)

at java.awt.Toolkit$2.run(Toolkit.java:855)

at java.security.AccessController.doPrivileged(Native Method)

at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)

at sun.swing.SwingUtilities2.getSystemMnemonicKeyMask(SwingUtilities2.java:2020)

at javax.swing.plaf.basic.BasicLookAndFeel.initComponentDefaults(BasicLookAndFeel.java:1158)

at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:431)

at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:148)

at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1577)

at javax.swing.UIManager.setLookAndFeel(UIManager.java:539)

at javax.swing.UIManager.setLookAndFeel(UIManager.java:579)

at javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1349)

at javax.swing.UIManager.initialize(UIManager.java:1459)

at javax.swing.UIManager.maybeInitialize(UIManager.java:1426)

at javax.swing.UIManager.getDefaults(UIManager.java:659)

at javax.swing.UIManager.getString(UIManager.java:788)

at javax.swing.filechooser.UnixFileSystemView.<clinit>(FileSystemView.java:610)

at javax.swing.filechooser.FileSystemView.getFileSystemView(FileSystemView.java:86)

at com.screenconnect.client.ClientOSToolkit.getScreenConnectDirectoryForUser(ClientOSToolkit.java:134)

at com.screenconnect.client.ClientOSToolkit$UnixClientToolkit.getScreenConnectDirectoryForUser(ClientOSToolkit.java:171)

at com.screenconnect.client.ClientFileTransferHandler.getBaseDirectory(ClientFileTransferHandler.java:25)

at com.screenconnect.FileTransferHandler.getDirectory(FileTransferHandler.java:9)

at com.screenconnect.FileTransferHandler.ensureCleanedUp(FileTransferHandler.java:17)

at com.screenconnect.client.ClientService.ensureCleanedUp(ClientService.java:114)

at com.screenconnect.client.Program$MainAction$2$1.run(Program.java:134)

at java.lang.Thread.run(Thread.java:745)