[ 
https://issues.apache.org/jira/browse/VFS-627?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16040745#comment-16040745
 ] 

Aditya Kunkolienkar commented on VFS-627:
-----------------------------------------

I am facing similar issue where it gets stuck in DefaultFileContent line number 
894.

It gets stuck in below while loop after few iterations:
            final byte[] buffer = new byte[bufferSize];
            int n = 0;
            while (-1 != (n = input.read(buffer)))
            {
                output.write(buffer, 0, n);
                count += n;
            }

> SFTP randomly hangs when copying a file on remote server
> --------------------------------------------------------
>
>                 Key: VFS-627
>                 URL: https://issues.apache.org/jira/browse/VFS-627
>             Project: Commons VFS
>          Issue Type: Bug
>    Affects Versions: 2.1
>         Environment: Java 1.8.0_92
> VFS 2.1
> JSch 0.1.53
>            Reporter: Henri Hagberg
>
> I have a process where a file is first copied over SFTP to local server and 
> then on the remote server the file is copied to another location on that 
> server for archiving. Both are done using {{FileObject#copyFrom}}. Now I've 
> encountered twice the situation where during archiving (on remote server) the 
> copy action hangs indefinitely (the process was left running for over 24 
> hours). In both cases the issue happened when around 2000 files had been 
> transferred (typical amount is under 100).
> The problem is difficult to reproduce since it doesn't always happen even 
> with large number of files. Based on the stacktrace and random occurrences it 
> might be a concurrency issue. The code using VFS however is single threaded.
> {code}
> Attaching to process ID 128021, please wait...
> Debugger attached successfully.
> Server compiler detected.
> JVM version is 25.92-b14
> Deadlock Detection:
> No deadlocks found.
> Thread 19073: (state = BLOCKED)
> Thread 128165: (state = BLOCKED)
>  - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be 
> imprecise)
>  - java.lang.ref.ReferenceQueue.remove(long) @bci=59, line=143 (Compiled 
> frame)
>  - org.apache.commons.vfs2.cache.SoftRefFilesCache$SoftRefReleaseThread.run() 
> @bci=26, line=84 (Compiled frame)
> Thread 128164: (state = BLOCKED)
>  - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be 
> imprecise)
>  - java.io.PipedInputStream.awaitSpace() @bci=23, line=273 (Compiled frame)
>  - java.io.PipedInputStream.receive(byte[], int, int) @bci=31, line=231 
> (Compiled frame)
>  - java.io.PipedOutputStream.write(byte[], int, int) @bci=77, line=149 
> (Compiled frame)
>  - com.jcraft.jsch.IO.put(byte[], int, int) @bci=7, line=64 (Compiled frame)
>  - com.jcraft.jsch.Channel.write(byte[], int, int) @bci=7, line=438 (Compiled 
> frame)
>  - com.jcraft.jsch.Session.run() @bci=1260, line=1624 (Compiled frame)
>  - java.lang.Thread.run() @bci=11, line=745 (Interpreted frame)
> Thread 128139: (state = BLOCKED)
> Thread 128138: (state = BLOCKED)
>  - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be 
> imprecise)
>  - java.lang.ref.ReferenceQueue.remove(long) @bci=59, line=143 (Compiled 
> frame)
>  - java.lang.ref.ReferenceQueue.remove() @bci=2, line=164 (Compiled frame)
>  - java.lang.ref.Finalizer$FinalizerThread.run() @bci=36, line=209 
> (Interpreted frame)
> Thread 128137: (state = BLOCKED)
>  - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be 
> imprecise)
>  - java.lang.Object.wait() @bci=2, line=502 (Compiled frame)
>  - java.lang.ref.Reference.tryHandlePending(boolean) @bci=54, line=191 
> (Compiled frame)
>  - java.lang.ref.Reference$ReferenceHandler.run() @bci=1, line=153 
> (Interpreted frame)
> Thread 128022: (state = BLOCKED)
>  - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be 
> imprecise)
>  - com.jcraft.jsch.Session.write(com.jcraft.jsch.Packet, 
> com.jcraft.jsch.Channel, int) @bci=89, line=1261 (Compiled frame)
>  - com.jcraft.jsch.ChannelSftp.sendWRITE(byte[], long, byte[], int, int) 
> @bci=191, line=2619 (Compiled frame)
>  - com.jcraft.jsch.ChannelSftp.access$100(com.jcraft.jsch.ChannelSftp, 
> byte[], long, byte[], int, int) @bci=9, line=36 (Compiled frame)
>  - com.jcraft.jsch.ChannelSftp$1.write(byte[], int, int) @bci=77, line=791 
> (Compiled frame)
>  - java.io.BufferedOutputStream.write(byte[], int, int) @bci=20, line=122 
> (Compiled frame)
>  - org.apache.commons.vfs2.util.MonitorOutputStream.write(byte[], int, int) 
> @bci=8, line=123 (Compiled frame)
>  - java.io.BufferedOutputStream.flushBuffer() @bci=20, line=82 (Compiled 
> frame)
>  - java.io.BufferedOutputStream.write(byte[], int, int) @bci=39, line=126 
> (Compiled frame)
>  - org.apache.commons.vfs2.util.MonitorOutputStream.write(byte[], int, int) 
> @bci=8, line=123 (Compiled frame)
>  - 
> org.apache.commons.vfs2.provider.DefaultFileContent.write(java.io.OutputStream,
>  int) @bci=35, line=892 (Compiled frame)
>  - 
> org.apache.commons.vfs2.provider.DefaultFileContent.write(java.io.OutputStream)
>  @bci=5, line=865 (Compiled frame)
>  - 
> org.apache.commons.vfs2.provider.DefaultFileContent.write(org.apache.commons.vfs2.FileContent)
>  @bci=9, line=828 (Compiled frame)
>  - 
> org.apache.commons.vfs2.provider.DefaultFileContent.write(org.apache.commons.vfs2.FileObject)
>  @bci=7, line=849 (Compiled frame)
>  - 
> org.apache.commons.vfs2.FileUtil.copyContent(org.apache.commons.vfs2.FileObject,
>  org.apache.commons.vfs2.FileObject) @bci=7, line=90 (Compiled frame)
>  - 
> org.apache.commons.vfs2.provider.AbstractFileObject.copyFrom(org.apache.commons.vfs2.FileObject,
>  org.apache.commons.vfs2.FileSelector) @bci=148, line=338 (Compiled frame)
>  ...
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to