Our Products:   CompleteFTP  edtFTPnet/Free  edtFTPnet/PRO  edtFTPj/Free  edtFTPj/PRO
0 votes
595 views
in Java FTP by (270 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.

by (2.7k 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.
by (162k 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.

Categories

...