Hi everybody,
To sumary, we have a sFTP files collector
It has to collect files on different paths with a polling period
Thread 1 of collect
While (true)
        cd PathP
        get FileF
        sleep(X sec)
It has works several months and then I discovered that no more files were collected…
So we made several jstack and discovered the thread in charge of this job is frozen, since several days on command :
Thread 30610: (state = BLOCKED)
- java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be imprecise)
- java.io.PipedInputStream.read() @bci=142, line=310 (Compiled frame)
- java.io.PipedInputStream.read(byte[], int, int) @bci=43, line=361 (Compiled frame)
- com.jcraft.jsch.ChannelSftp.fill(byte[], int, int) @bci=17, line=2325 (Compiled frame)
- com.jcraft.jsch.ChannelSftp.header(com.jcraft.jsch.Buffer, com.jcraft.jsch.ChannelSftp$Header) @bci=12, line=2351 (Compiled frame)
- com.jcraft.jsch.ChannelSftp._realpath(java.lang.String) @bci=27, line=1810 (Compiled frame)
- com.jcraft.jsch.ChannelSftp.cd(java.lang.String) @bci=14, line=268 (Interpreted frame)
- dpm.distributorFTP.SFTPClientWrapper.cd(java.lang.String) @bci=22, line=142 (Compiled frame)
- dpm.collectorFTP.CollectorFTPClient.scanServer() @bci=225, line=776 (Compiled frame)
- dpm.collectorFTP.CollectorFTPClient.collectorProcedure() @bci=144, line=612 (Interpreted frame)
- dpm.collectorFTP.CollectorFTPClient.access$1000(dpm.collectorFTP.CollectorFTPClient) @bci=1, line=90 (Compiled frame)
- dpm.collectorFTP.CollectorFTPClient$ThreadForScan.run() @bci=28, line=226 (Compiled frame)
- java.lang.Thread.run() @bci=11, line=619 (Interpreted frame)
To be able to continue the collecte,
We launched an other thread witch restart correcly the files collect
But the old thread is always frozen on jstack "com.jcraft.jsch.ChannelSftp.cd" !!!
I saw message about "ls" "frozen"
Does this problem on "cd" has been already met