When transferring files using SFTP, ChannelDataWindow.waitForWindowSpace seems to hang, and the thread is blocked.
Here are dumps of the relevant threads:
Thread ID: 47
Thread Name: schedulerFactory_Worker-30
Thread State: TIMED_WAITING
Blocked On: com.enterprisedt.net.j2ssh.connection.ChannelDataWindow@948bc5
Blocked For: -1
Blocked Object Owner: null
Stack Trace:
java.lang.Object.wait(Native Method)
com.enterprisedt.net.j2ssh.connection.ChannelDataWindow.waitForWindowSpace(Unknown Source)
com.enterprisedt.net.j2ssh.connection.ChannelDataWindow.consumeWindowSpace(Unknown Source)
com.enterprisedt.net.j2ssh.connection.ConnectionProtocol.sendChannelData(Unknown Source)
com.enterprisedt.net.j2ssh.connection.Channel.sendChannelData(Unknown Source)
com.enterprisedt.net.j2ssh.subsystem.SubsystemChannel.sendMessage(Unknown Source)
com.enterprisedt.net.j2ssh.sftp.SftpSubsystemClient.initialize(Unknown Source)
com.enterprisedt.net.j2ssh.SshClient.openSftpChannel(Unknown Source)
com.enterprisedt.net.j2ssh.SftpClient.(Unknown Source)
com.enterprisedt.net.j2ssh.SshClient.openSftpClient(Unknown Source)
com.enterprisedt.net.j2ssh.SshClient.openSftpClient(Unknown Source)
com.enterprisedt.net.ftp.ssh.SSHFTPClient.connect(Unknown Source)
Thread ID: 9815
Thread Name: ssh-connection b6
Thread State: TIMED_WAITING
Blocked On: com.enterprisedt.net.j2ssh.transport.SshMessageStore@63e39a
Blocked For: -1
Blocked Object Owner: null
Stack Trace:
java.lang.Object.wait(Native Method)
com.enterprisedt.net.j2ssh.transport.SshMessageStore.getMessage(Unknown Source)
com.enterprisedt.net.j2ssh.transport.SshMessageStore.getMessage(Unknown Source)
com.enterprisedt.net.j2ssh.transport.AsyncService.run(Unknown Source)
java.lang.Thread.run(Thread.java:595)
Thread ID: 9814
Thread Name: Transport protocol b6
Thread State: RUNNABLE
Blocked On: null
Blocked For: -1
Blocked Object Owner: null
Stack Trace:
java.net.SocketInputStream.socketRead0(Native Method)
java.net.SocketInputStream.read(SocketInputStream.java:129)
java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
java.io.BufferedInputStream.read(BufferedInputStream.java:313)
java.io.BufferedInputStream.read1(BufferedInputStream.java:254)
java.io.BufferedInputStream.read(BufferedInputStream.java:313)
com.enterprisedt.net.j2ssh.transport.A.A(Unknown Source)
com.enterprisedt.net.j2ssh.transport.A.B(Unknown Source)
com.enterprisedt.net.j2ssh.transport.TransportProtocolCommon.processMessages(Unknown Source)
com.enterprisedt.net.j2ssh.transport.TransportProtocolCommon.startBinaryPacketProtocol(Unknown Source)
com.enterprisedt.net.j2ssh.transport.TransportProtocolCommon.run(Unknown Source)
java.lang.Thread.run(Thread.java:595)
We are using v3.4.1 of edtFTPj/PRO. The issue only happens intermittently when transferring files to one of our client's server.
Please let me know if you need further information.
Thanks,
Rohit