Tim Allison created TIKA-2101:
---------------------------------
Summary: 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
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)