commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vitaly Ilinykh (JIRA)" <j...@apache.org>
Subject [jira] Commented: (VFS-120) SFTP-Exception: "com.jcraft.jsch.JSchException: session is down" if the SFTP-Server was killed and restarted (a normal shutdown of the SFTP-Server occured no Exception after restart.)
Date Thu, 13 May 2010 09:44:46 GMT

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

Vitaly Ilinykh commented on VFS-120:
------------------------------------

I didn't want to fix the lib sources, so made this workaround:
------------------------------------------------
try {

         fsmgr = VFS.getManager();
         .................................
         foSftpServer = fsmgr.resolveFile("sftp://user:pass@sftp.server.net/", fsopts);
         ....................
         vfs = fsmgr.createVirtualFileSystem("vfs://").getFileSystem();
         vfs.addJunction("/sftp", foSftpServer);
         ....................
         dstFile.copyFrom(srcFile, Selectors.SELECT_FILES);
} catch (Exception e) {
                try {
                	if ( e.getCause().getCause().getCause().getMessage().equals("session is down")
){
                		fsmgr.closeFileSystem(foSftpServer.getFileSystem()); // workaround for JSchException:
"session is down"
                	}	
                } catch (Exception e1){ }
                	
}

> SFTP-Exception: "com.jcraft.jsch.JSchException: session is down" if the SFTP-Server was
killed and restarted (a normal shutdown of the SFTP-Server occured no Exception after restart.)
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: VFS-120
>                 URL: https://issues.apache.org/jira/browse/VFS-120
>             Project: Commons VFS
>          Issue Type: Bug
>    Affects Versions: 1.0
>         Environment: Tomcat 5.5
> JDK 6.0 (build with JDK 5)
> commons-vfs-1.0.jar:
> Specification-Title: Commons VFS
> Implementation-Version: 1.0
> JSCH: jsch-0.1.31.jar
>            Reporter: Harald Brabenetz
>            Assignee: Mario Ivankovits
>            Priority: Critical
>             Fix For: 1.1
>
>         Attachments: SftpFileSystem-patch.txt
>
>
> The error occured after restarting if the SFTP-Server was KILLed!!.
> With a normal shutdown of the SFTP-Server, no exception after restarting occured.
> I found no function to force the reset of the session in SftpFileSystem.java
> There is a function:
>     DefaultFileSystemManager manager = (DefaultFileSystemManager)VFS.getManager();
>     manager.freeUnusedResources();
> But this works only if AbstractFileSystem.isReleaseable() returns true.
> And this this function return only true if all SFTP-FileObject are removed from the GarbageCollection
(finally()-Methode).
> I cannot force a GarbageCollection.
> So there is no way to handle this Error! I must restart the VM (ServletContainer).
> org.apache.commons.vfs.FileSystemException: Could not copy "file:///C:/TEMP/....." to
"sftp://......".
>         at org.apache.commons.vfs.provider.AbstractFileObject.copyFrom(AbstractFileObject.java:902)
>         at com.bearingpoint.orf.chat.core.service.ExportManagerImpl.exportChatMessages(Unknown
Source)
>         at com.bearingpoint.orf.chat.core.service.ExportManagerImpl.startExportNow(Unknown
Source)
>         at com.bearingpoint.orf.chat.core.service.ExportManagerImpl$ExportManagerRunnable.run(Unknown
Source)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: org.apache.commons.vfs.FileSystemException: Could not write to "sftp://chat:chat@10.1.5.130/home/chat/chatfile_12.zip".
>         at org.apache.commons.vfs.provider.AbstractFileObject.getOutputStream(AbstractFileObject.java:1227)
>         at org.apache.commons.vfs.provider.DefaultFileContent.getOutputStream(DefaultFileContent.java:373)
>         at org.apache.commons.vfs.provider.DefaultFileContent.getOutputStream(DefaultFileContent.java:356)
>         at org.apache.commons.vfs.FileUtil.copyContent(FileUtil.java:100)
>         at org.apache.commons.vfs.provider.AbstractFileObject.copyFrom(AbstractFileObject.java:893)
>         ... 4 more
> Caused by: org.apache.commons.vfs.FileSystemException: Could not connect to SFTP server
at "sftp://chat:chat@10.1.5.130/".
>         at org.apache.commons.vfs.provider.sftp.SftpFileSystem.getChannel(SftpFileSystem.java:144)
>         at org.apache.commons.vfs.provider.sftp.SftpFileObject.doGetOutputStream(SftpFileObject.java:402)
>         at org.apache.commons.vfs.provider.AbstractFileObject.getOutputStream(AbstractFileObject.java:1219)
>         ... 8 more
> Caused by: com.jcraft.jsch.JSchException: session is down
>         at com.jcraft.jsch.Session.openChannel(Session.java:756)
>         at org.apache.commons.vfs.provider.sftp.SftpFileSystem.getChannel(SftpFileSystem.java:122)
>         ... 10 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message