[
https://issues.apache.org/jira/browse/TIKA-2101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15530570#comment-15530570
]
Hudson commented on TIKA-2101:
------------------------------
SUCCESS: Integrated in Jenkins build Tika-trunk #1112 (See
[https://builds.apache.org/job/Tika-trunk/1112/])
TIKA-2101 -- Don't call MAPIMessage.close() (tallison: rev
feac58b6f74156086113bf08bbfe9feda1c14b79)
* (edit)
tika-parsers/src/main/java/org/apache/tika/parser/microsoft/OutlookExtractor.java
> Don't use MAPIMessage.close()
> -----------------------------
>
> Key: TIKA-2101
> URL: https://issues.apache.org/jira/browse/TIKA-2101
> Project: Tika
> Issue Type: Bug
> Reporter: Tim Allison
> Priority: Minor
> Fix For: 1.14
>
> Attachments: CFIGD37LXW6YJLE66KCQUV55SDU5YO5S.zip
>
>
> Regression found during comparison of 1.14 trunk and 1.13. I added a call to
> the new MAPIMessage.close() after the parse. This causes problems if an MSG
> file has multiple MSG files attached. They may all be in the same directory.
> When the first child MSG is parsed, MAPIMessage.close() closes the directory
> and the other children can't be read:
> {noformat}
> Caused by: java.lang.RuntimeException:
> java.nio.channels.ClosedChannelException
> at
> org.apache.poi.poifs.filesystem.NPOIFSStream$StreamBlockByteBufferIterator.<init>(NPOIFSStream.java:151)
> at
> org.apache.poi.poifs.filesystem.NPOIFSStream.getBlockIterator(NPOIFSStream.java:95)
> at
> org.apache.poi.poifs.filesystem.NPOIFSMiniStore.getBlockAt(NPOIFSMiniStore.java:67)
> at
> org.apache.poi.poifs.filesystem.NPOIFSStream$StreamBlockByteBufferIterator.next(NPOIFSStream.java:169)
> at
> org.apache.poi.poifs.filesystem.NPOIFSStream$StreamBlockByteBufferIterator.next(NPOIFSStream.java:142)
> at
> org.apache.poi.poifs.filesystem.NDocumentInputStream.readFully(NDocumentInputStream.java:248)
> at
> org.apache.poi.poifs.filesystem.NDocumentInputStream.read(NDocumentInputStream.java:150)
> at
> org.apache.poi.poifs.filesystem.DocumentInputStream.read(DocumentInputStream.java:125)
> at org.apache.poi.util.IOUtils.toByteArray(IOUtils.java:84)
> at org.apache.poi.util.IOUtils.toByteArray(IOUtils.java:72)
> at org.apache.poi.hsmf.datatypes.ByteChunk.readValue(ByteChunk.java:51)
> at
> org.apache.poi.hsmf.parsers.POIFSChunkParser.process(POIFSChunkParser.java:211)
> at
> org.apache.poi.hsmf.parsers.POIFSChunkParser.processChunks(POIFSChunkParser.java:112)
> at
> org.apache.poi.hsmf.parsers.POIFSChunkParser.parse(POIFSChunkParser.java:84)
> at org.apache.poi.hsmf.MAPIMessage.<init>(MAPIMessage.java:142)
> at
> org.apache.tika.parser.microsoft.OutlookExtractor.<init>(OutlookExtractor.java:82)
> at
> org.apache.tika.parser.microsoft.OfficeParser.parse(OfficeParser.java:190)
> at
> org.apache.tika.parser.microsoft.OfficeParser.parse(OfficeParser.java:130)
> at
> org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280)
> ... 30 more
> Caused by: java.nio.channels.ClosedChannelException
> at sun.nio.ch.FileChannelImpl.ensureOpen(FileChannelImpl.java:110)
> at sun.nio.ch.FileChannelImpl.size(FileChannelImpl.java:300)
> at
> org.apache.poi.poifs.nio.FileBackedDataSource.size(FileBackedDataSource.java:133)
> at
> org.apache.poi.poifs.filesystem.NPOIFSFileSystem.getChainLoopDetector(NPOIFSFileSystem.java:634)
> at
> org.apache.poi.poifs.filesystem.NPOIFSStream$StreamBlockByteBufferIterator.<init>(NPOIFSStream.java:149)
> ... 48 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)