[ https://issues.apache.org/jira/browse/VFS-662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Gregory resolved VFS-662. ------------------------------ Resolution: Fixed Fix Version/s: 2.4 In git master. Please verify and close. > SftpFileSystem has Thread-safe issue about idleChannel > ------------------------------------------------------- > > Key: VFS-662 > URL: https://issues.apache.org/jira/browse/VFS-662 > Project: Commons VFS > Issue Type: Bug > Reporter: qxo > Priority: Critical > Fix For: 2.4 > > Time Spent: 0.5h > Remaining Estimate: 0h > > {code} > {code:java} > Caused by: org.apache.commons.vfs2.FileSystemException: Could not connect to > SFTP server at > at org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getChannel > (SftpFileSystem.java:149) > at org.apache.commons.vfs2.provider.sftp.SftpFileObject.statSelf > (SftpFileObject.java:152) > at org.apache.commons.vfs2.provider.sftp.SftpFileObject.doGetType > (SftpFileObject.java:113) > at org.apache.commons.vfs2.provider.AbstractFileObject.getType > (AbstractFileObject.java:1517) > at org.apache.commons.vfs2.provider.sftp.SftpFileObject.refresh > (SftpFileObject.java:90) > at org.apache.commons.vfs2.provider.AbstractFileSystem.resolveFile > (AbstractFileSystem.java:364) > at org.apache.commons.vfs2.provider.AbstractFileSystem.resolveFile > (AbstractFileSystem.java:317) > at org.apache.commons.vfs2.provider.AbstractFileObject.resolveFile > (AbstractFileObject.java:2039) > at org.apache.commons.vfs2.FileObject$resolveFile$23.call (Unknown Source) > Caused by: com.jcraft.jsch.JSchException: java.io.IOException: channel is > broken > at com.jcraft.jsch.ChannelSftp.start (ChannelSftp.java:315) > at com.jcraft.jsch.Channel.connect (Channel.java:152) > at com.jcraft.jsch.Channel.connect (Channel.java:145) > at org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getChannel > (SftpFileSystem.java:113) > at org.apache.commons.vfs2.provider.sftp.SftpFileObject.doGetOutputStream > (SftpFileObject.java:635) > at org.apache.commons.vfs2.provider.AbstractFileObject.getOutputStream > (AbstractFileObject.java:1399) > at org.apache.commons.vfs2.provider.DefaultFileContent.getOutputStream > (DefaultFileContent.java:479) > at org.apache.commons.vfs2.provider.DefaultFileContent.getOutputStream > (DefaultFileContent.java:457) > Caused by: com.jcraft.jsch.JSchException: java.net.SocketException: Broken > pipe (Write failed) > at com.jcraft.jsch.Channel.connect (Channel.java:159) > at com.jcraft.jsch.Channel.connect (Channel.java:145) > at org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getChannel > (SftpFileSystem.java:113) > at org.apache.commons.vfs2.provider.sftp.SftpFileObject.doGetOutputStream > (SftpFileObject.java:635) > at org.apache.commons.vfs2.provider.AbstractFileObject.getOutputStream > (AbstractFileObject.java:1399) > at org.apache.commons.vfs2.provider.DefaultFileContent.getOutputStream > (DefaultFileContent.java:479) > at org.apache.commons.vfs2.provider.DefaultFileContent.getOutputStream > (DefaultFileContent.java:457) > Caused by: java.io.IOException: inputstream is closed > at com.jcraft.jsch.ChannelSftp.fill (ChannelSftp.java:2911) > at com.jcraft.jsch.ChannelSftp.header (ChannelSftp.java:2935) > at com.jcraft.jsch.ChannelSftp.checkStatus (ChannelSftp.java:2473) > at com.jcraft.jsch.ChannelSftp.access$300 (ChannelSftp.java:36) > at com.jcraft.jsch.ChannelSftp$1.flush (ChannelSftp.java:851) > at java.io.BufferedOutputStream.flush (BufferedOutputStream.java:141) > at org.apache.commons.vfs2.util.MonitorOutputStream.flush > (MonitorOutputStream.java:134) > at java.io.BufferedOutputStream.flush (BufferedOutputStream.java:141) > at org.apache.commons.vfs2.util.MonitorOutputStream.flush > (MonitorOutputStream.java:134) > Caused by: com.jcraft.jsch.JSchException: session is down > at com.jcraft.jsch.Channel.sendChannelOpen (Channel.java:762) > at com.jcraft.jsch.Channel.connect (Channel.java:151) > at com.jcraft.jsch.Channel.connect (Channel.java:145) > at org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getChannel > (SftpFileSystem.java:113) > at org.apache.commons.vfs2.provider.sftp.SftpFileObject.doGetOutputStream > (SftpFileObject.java:635) > at org.apache.commons.vfs2.provider.AbstractFileObject.getOutputStream > (AbstractFileObject.java:1399) > at org.apache.commons.vfs2.provider.DefaultFileContent.getOutputStream > (DefaultFileContent.java:479) > at org.apache.commons.vfs2.provider.DefaultFileContent.getOutputStream > (DefaultFileContent.java:457) > Caused by: java.net.SocketException: Broken pipe (Write failed) > at java.net.SocketOutputStream.socketWrite0 (Native Method) > at java.net.SocketOutputStream.socketWrite (SocketOutputStream.java:111) > at java.net.SocketOutputStream.write (SocketOutputStream.java:155) > at com.jcraft.jsch.IO.put (IO.java:60) > at com.jcraft.jsch.Session._write (Session.java:1379) > at com.jcraft.jsch.Session.write (Session.java:1343) > at com.jcraft.jsch.ChannelSftp.sendOPEN (ChannelSftp.java:2583) > at com.jcraft.jsch.ChannelSftp.sendOPENW (ChannelSftp.java:2571) > at com.jcraft.jsch.ChannelSftp.put (ChannelSftp.java:753) > at com.jcraft.jsch.ChannelSftp.put (ChannelSftp.java:709) > at com.jcraft.jsch.ChannelSftp.put (ChannelSftp.java:703) > at org.apache.commons.vfs2.provider.sftp.SftpFileObject.doGetOutputStream > (SftpFileObject.java:636) > at org.apache.commons.vfs2.provider.AbstractFileObject.getOutputStream > (AbstractFileObject.java:1399) > at org.apache.commons.vfs2.provider.DefaultFileContent.getOutputStream > (DefaultFileContent.java:479) > at org.apache.commons.vfs2.provider.DefaultFileContent.getOutputStream > (DefaultFileContent.java:457) > {code} > the patch code : https://github.com/apache/commons-vfs/pull/36 -- This message was sent by Atlassian JIRA (v7.6.3#76005)