[
https://issues.apache.org/jira/browse/VFS-113?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12483506
]
Tim Rademacher commented on VFS-113:
------------------------------------
Hi, I experienced some errors while testing the new functionality:
org.apache.commons.vfs.FileSystemException: Could not copy "sftp://[EMAIL
PROTECTED]/blabla.txt" to "sftp://[EMAIL PROTECTED]/archive/blabla.txt".
at
org.apache.commons.vfs.provider.AbstractFileObject.copyFrom(AbstractFileObject.java:919)
at
org.apache.commons.vfs.provider.AbstractFileObject.moveTo(AbstractFileObject.java:981)
at
de.inka.service.file.InkaFileSystemConnection.move(InkaFileSystemConnection.java:463)
... 11 more
Caused by: org.apache.commons.vfs.FileSystemException: Could not close the
input stream for file "sftp://[EMAIL
PROTECTED]/data_santiago/zdm/java_jobs/dvoimport/test/PositionenInka3_1015.asc".
at
org.apache.commons.vfs.provider.DefaultFileContent$FileContentInputStream.close(DefaultFileContent.java:525)
at org.apache.commons.vfs.FileUtil.writeContent(FileUtil.java:87)
at org.apache.commons.vfs.FileUtil.copyContent(FileUtil.java:103)
at
org.apache.commons.vfs.provider.AbstractFileObject.copyFrom(AbstractFileObject.java:910)
... 13 more
Caused by: java.io.IOException: error
at com.jcraft.jsch.ChannelSftp$2.close(ChannelSftp.java:1178)
at java.io.BufferedInputStream.close(Unknown Source)
at
org.apache.commons.vfs.util.MonitorInputStream.close(MonitorInputStream.java:115)
at java.io.BufferedInputStream.close(Unknown Source)
at
org.apache.commons.vfs.util.MonitorInputStream.close(MonitorInputStream.java:115)
at
org.apache.commons.vfs.provider.DefaultFileContent$FileContentInputStream.close(DefaultFileContent.java:521)
... 16 more
or
java.lang.NullPointerException
at com.jcraft.jsch.ChannelSftp.fill(ChannelSftp.java:2153)
at com.jcraft.jsch.ChannelSftp.header(ChannelSftp.java:2179)
at com.jcraft.jsch.ChannelSftp.access$7(ChannelSftp.java:2177)
at com.jcraft.jsch.ChannelSftp$2.read(ChannelSftp.java:1100)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at
org.apache.commons.vfs.util.MonitorInputStream.read(MonitorInputStream.java:88)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at
org.apache.commons.vfs.util.MonitorInputStream.read(MonitorInputStream.java:88)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at com.Ostermiller.util.CSVLexer.zzRefill(CSVLexer.java:605)
at com.Ostermiller.util.CSVLexer.getNextToken(CSVLexer.java:789)
at com.Ostermiller.util.CSVParser.getLine(CSVParser.java:335)
at
com.Ostermiller.util.LabeledCSVParser.setLabels(LabeledCSVParser.java:245)
at
com.Ostermiller.util.LabeledCSVParser.getLine(LabeledCSVParser.java:211)
at de.inka.dvo.dao.FileImport.importFile(FileImport.java:199)
at de.inka.dvo.ExportController.doOnNewFile(ExportController.java:345)
at de.inka.dvo.dao.FileObserver.processForward(FileObserver.java:112)
at de.inka.dvo.dao.FileObserver.processForward(FileObserver.java:1)
at de.inka.util.observer.InkaObserver.update(InkaObserver.java:171)
at
de.inka.util.observer.InkaObservable.notifyObservers(InkaObservable.java:483)
at
de.inka.service.file.observer.FileObservable.processMessage(FileObservable.java:295)
at
de.inka.service.file.observer.FileObservable.processMessage(FileObservable.java:1)
at
de.inka.util.observer.InkaObservable$WorkerRunnable.run(InkaObservable.java:121)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
What I think is, that one thread opens the connection and returns the input
stream to anywhere. While the input stream is processed, another thread does
anything else with sftp. It gets the same SftpChannel from the FileSystem,
opens it (again?) and closes it, when it's finished. Then the first thread
seems to get the error.
I also got sometimes an InputStreamClosed Exception, which seems to support my
theory.
I have to look further...
Regards
Tim
> NullPointerException during getting InputStream from SftpFileObject
> -------------------------------------------------------------------
>
> Key: VFS-113
> URL: https://issues.apache.org/jira/browse/VFS-113
> Project: Commons VFS
> Issue Type: Bug
> Reporter: Tim Rademacher
> Fix For: 1.1
>
> Attachments: SftpFileObject.diff
>
>
> Hi,
> I experienced unregular NullPointerExceptions while getting an InputStream
> from an SftpFileObject. It only occures in a multithreading environment.
> I made a patch. By now it seems to work!
> Regards,
> Tim
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]