Our Products:   CompleteFTP  edtFTPnet/Free  edtFTPnet/PRO  edtFTPj/Free  edtFTPj/PRO

Getting hang in SecureFileTransferClient.disconnect using edtFTPj/PRO 5.1.0

0 votes
42 views
asked Aug 13 in Java FTP by Voltron (220 points)

I have an FTP task that runs inside a WebLogic server every 5 minutes. Sometimes, maybe once a day, the thread hangs. Here are the pertinent threads:

"FTPKeepAlive" waiting for lock com.enterprisedt.net.ftp.async.internal.FTPConnectionPool@6fa4935a BLOCKED
    com.enterprisedt.net.ftp.async.internal.FTPConnectionPool.isConnected(FTPConnectionPool.java:473)
    com.enterprisedt.net.ftp.async.internal.FTPTaskProcessor$a.run(FTPTaskProcessor.java:688)

"Transport protocol 1d" RUNNABLE
    com.enterprisedt.net.j2ssh.transport.a.a(TransportProtocolInputStream.java)
    com.enterprisedt.net.j2ssh.transport.a.c(TransportProtocolInputStream.java:270)
    com.enterprisedt.net.j2ssh.transport.TransportProtocolCommon.processMessages(TransportProtocolCommon.java:1533)
    com.enterprisedt.net.j2ssh.transport.TransportProtocolCommon.startBinaryPacketProtocol(TransportProtocolCommon.java:1083)
    com.enterprisedt.net.j2ssh.transport.TransportProtocolCommon.run(TransportProtocolCommon.java:428)
    java.lang.Thread.run(Thread.java:595)

"FTPThread_edt_1" waiting for lock com.enterprisedt.net.j2ssh.SshThread@679ccbf WAITING
    java.lang.Object.wait(Native Method)
    java.lang.Thread.join(Thread.java:1095)
    java.lang.Thread.join(Thread.java:1148)
    com.enterprisedt.net.j2ssh.SshClient.close(SshClient.java:610)
    com.enterprisedt.net.ftp.ssh.SSHFTPClient.quit(SSHFTPClient.java:1885)
    com.enterprisedt.net.ftp.async.internal.FTPConnectionPool.disconnect(FTPConnectionPool.java:435)
    com.enterprisedt.net.ftp.async.internal.DisconnectTask.run(DisconnectTask.java:130)
    com.enterprisedt.net.ftp.async.internal.FTPTaskProcessor$b.run(FTPTaskProcessor.java:593)

"FTPThread_edt_0" waiting for lock java.util.Vector@543c8657 TIMED_WAITING
    java.lang.Object.wait(Native Method)
    com.enterprisedt.net.ftp.async.internal.FTPTaskProcessor$b.run(FTPTaskProcessor.java:530)

"[STUCK] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'" waiting for lock java.lang.Object@c1f7c34 WAITING
    java.lang.Object.wait(Native Method)
    java.lang.Object.wait(Object.java:474)
    com.enterprisedt.net.ftp.async.AsyncResult.waitTillComplete(AsyncResult.java:282)
    com.enterprisedt.net.ftp.async.AsyncResult.endAsyncInternal(AsyncResult.java:298)
    com.enterprisedt.net.ftp.async.DisconnectResult.endAsync(DisconnectResult.java:148)
    com.enterprisedt.net.ftp.SecureFileTransferClient.disconnect(SecureFileTransferClient.java:1542)

To my eye the hang is in that j2ssh library in TransportProtocolInputStream.java. Is there something I should be doing to shut this down more cleanly? I originally was calling SecureFileTransferClient.disconnect() but I have since changed that to call SecureFileTransferClient.disconnect(true) but it doesn't seem to have made any difference.

Thanks for any help.

commented Aug 13 by Admin (2,230 points)
We're investigating this at the moment.  There seems to be a problem in FTPConnectionPool.disconnect(), but we need to discuss it a bit further.  If you don't get a response in 24 hours then please ping this question by adding a comment.
commented Aug 14 by support2 (143,750 points)
Please email support at our domain to get a build that might fix this issue.

Please log in or register to answer this question.

...