Hi everyone,

 

I have an application that utilizes JSCH 1.49 and am running into an interesting scenario.  We have a user of our application that is connecting to a server, downloading some data, and at the end of the download, perhaps right before reading the last packet, the process hangs indefinitely.  Most of the file is received, but some data is missing.  I suspect that problem is caused by the server as many other transfers within the same JVM run without fail against many other servers, but sporadic connections to this server ‘lock up’ and consume limited execution threads until the JVM is restarted.  I’ve attached the JSCH debug log and thread stack below. 

 

Do you have any insight as to what might be causing this lockup? Or perhaps what can be done to allow the local thread to timeout?

 

OS is RHEL

Linux 2.6.18-308.8.2.el5 (amd64)

 

Thread Stack

java.lang.Object              wait (Native Method)    Object.java       Not Available

com.jcraft.jsch.Session       write                   Not Available     Not Available

com.jcraft.jsch.ChannelSftp   sendREAD                Not Available     Not Available

com.jcraft.jsch.ChannelSftp   _get                    Not Available     Not Available

com.jcraft.jsch.ChannelSftp   get                     Not Available     Not Available

 

Debug Log

9/10/13 3:15:12 AM            DEBUG     Connecting to ***.***.***.*** port 22

9/10/13 3:15:12 AM            DEBUG     Connection established

9/10/13 3:15:12 AM            DEBUG     Remote version string: SSH-2.0-1.82 sshlib: XroadsSftpServer

9/10/13 3:15:12 AM            DEBUG     Local version string: SSH-2.0-JSCH_0.1.49

9/10/13 3:15:12 AM            DEBUG     CheckCiphers: aes256-cbc,aes192-cbc,aes128-cbc,3des-cbc,blowfish-cbc,twofish256-cbc,twofish-cbc,twofish192-cbc,twofish128-cbc,serpent256-cbc,serpent192-cbc,serpent128-cbc,arcfour,idea-cbc,cast128-cbc,des-cbc,arcfour128,arcfour256,aes128-ctr,aes192-ctr,aes256-ctr,3des-ctr,blowfish-ctr,twofish128-ctr,twofish192-ctr,twofish256-ctr,serpent128-ctr,serpent192-ctr,serpent256-ctr,idea-ctr,cast128-ctr

9/10/13 3:15:12 AM            DEBUG     CheckKexes: diffie-hellman-group14-sha1

9/10/13 3:15:12 AM            DEBUG     diffie-hellman-group14-sha1 is not available.

9/10/13 3:15:12 AM            DEBUG     SSH_MSG_KEXINIT sent

9/10/13 3:15:12 AM            DEBUG     SSH_MSG_KEXINIT received

9/10/13 3:15:12 AM            DEBUG     kex: server: diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

9/10/13 3:15:12 AM            DEBUG     kex: server: ssh-dss

9/10/13 3:15:12 AM            DEBUG     kex: server: aes256-cbc,twofish256-cbc,twofish-cbc,aes128-cbc,twofish128-cbc,blowfish-cbc,3des-cbc,arcfour,cast128-cbc

9/10/13 3:15:12 AM            DEBUG     kex: server: hmac-sha1,hmac-md5,hmac-sha1-96,hmac-md5-96

9/10/13 3:15:12 AM            DEBUG     kex: server: zlib,none

9/10/13 3:15:12 AM            DEBUG     kex: client: diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1

9/10/13 3:15:12 AM            DEBUG     kex: client: ssh-rsa,ssh-dss

9/10/13 3:15:12 AM            DEBUG     kex: client: aes256-cbc,aes192-cbc,aes128-cbc,3des-cbc,blowfish-cbc,twofish256-cbc,twofish-cbc,twofish192-cbc,twofish128-cbc,serpent256-cbc,serpent192-cbc,serpent128-cbc,arcfour,idea-cbc,cast128-cbc,des-cbc,arcfour128,arcfour256,aes128-ctr,aes192-ctr,aes256-ctr,3des-ctr,blowfish-ctr,twofish128-ctr,twofish192-ctr,twofish256-ctr,serpent128-ctr,serpent192-ctr,serpent256-ctr,idea-ctr,cast128-ctr

9/10/13 3:15:12 AM            DEBUG     kex: client: hmac-md5,hmac-sha1,hmac-sha2-256,hmac-sha1-96,hmac-md5-96

9/10/13 3:15:12 AM            DEBUG     kex: client: none,zlib

9/10/13 3:15:12 AM            DEBUG     kex: server->client aes256-cbc hmac-md5 none

9/10/13 3:15:12 AM            DEBUG     kex: client->server aes256-cbc hmac-md5 none

9/10/13 3:15:12 AM            DEBUG     SSH_MSG_KEXDH_INIT sent

9/10/13 3:15:12 AM            DEBUG     expecting SSH_MSG_KEXDH_REPLY

9/10/13 3:15:13 AM            DEBUG     ssh_dss_verify: signature true

9/10/13 3:15:13 AM            DEBUG     SSH_MSG_NEWKEYS sent

9/10/13 3:15:13 AM            DEBUG     SSH_MSG_NEWKEYS received

9/10/13 3:15:13 AM            DEBUG     SSH_MSG_SERVICE_REQUEST sent

9/10/13 3:15:13 AM            DEBUG     SSH_MSG_SERVICE_ACCEPT received

9/10/13 3:15:13 AM            DEBUG     Authentications that can continue: publickey,password,keyboard-interactive

9/10/13 3:15:13 AM            DEBUG     Next authentication method: publickey

9/10/13 3:15:13 AM            DEBUG     Authentications that can continue: password,keyboard-interactive

9/10/13 3:15:13 AM            DEBUG     Next authentication method: password

9/10/13 3:15:14 AM            DEBUG     Authentication succeeded (password).

9/10/13 3:15:15 AM            DEBUG     COMMAND: cd '/'

9/10/13 3:15:15 AM            DEBUG     REPLY: New working directory is '/'

9/10/13 3:15:15 AM            DEBUG     COMMAND: pwd

9/10/13 3:15:15 AM            DEBUG     REPLY: Current working directory is '/'

9/10/13 3:15:15 AM            INFO      Downloading '/prod_xrdint6_bai_091013' to '/home/prod_xrdint6_bai_091013'

9/10/13 3:15:15 AM            DEBUG     COMMAND: get '/prod_xrdint6_bai_091013' '/home/prod_xrdint6_bai_091013'

 

Thanks in advance!

 

ERICK LICHTAS