You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tika.apache.org by "Nick Burch (Jira)" <ji...@apache.org> on 2020/03/08 15:17:00 UTC

[jira] [Commented] (TIKA-3063) Tika parser / POI crash with IndexOutOfBoundsException error

    [ https://issues.apache.org/jira/browse/TIKA-3063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17054431#comment-17054431 ] 

Nick Burch commented on TIKA-3063:
----------------------------------

Based on the error message, it looks like the file is either truncated or corrupted. Given that, throwing an {{IOException}} looks fine to me following the guidelines on https://cwiki.apache.org/confluence/display/tika/ErrorsAndExceptions

> Tika parser / POI crash with IndexOutOfBoundsException error
> ------------------------------------------------------------
>
>                 Key: TIKA-3063
>                 URL: https://issues.apache.org/jira/browse/TIKA-3063
>             Project: Tika
>          Issue Type: Bug
>          Components: parser
>    Affects Versions: 1.23
>         Environment: Windows 10 / java 1.8 / tika-app-1.23.jar
>            Reporter: MRIT64
>            Priority: Major
>         Attachments: tika_23_POI_issue.doc
>
>
> Exception duing parsing caused by an IndexOutOfBoundsException error in module poi.poifs.
> This was not happenig with tika 19, the previous version i used.
> A test file that causes the crash is attached.
> Regards
> Complete stack trace :
> Exception in thread "main" java.io.IOException:
>  at org.apache.tika.parser.ParsingReader.read(ParsingReader.java:277)
>  at java.io.Reader.read(Unknown Source)
>  at doxi.test.TikaFileParser.main(TikaFileParser.java:42)
>  Caused by: org.apache.tika.exception.TikaException: Unexpected RuntimeException from org.apache.tika.parser.microsoft.OfficeParser@5520942a
>  at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:282)
>  at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280)
>  at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:143)
>  at org.apache.tika.parser.ParsingReader$ParsingTask.run(ParsingReader.java:236)
>  at java.lang.Thread.run(Unknown Source)
>  Caused by: java.lang.IndexOutOfBoundsException: Block 40394 not found
>  at org.apache.poi.poifs.filesystem.POIFSFileSystem.getBlockAt(POIFSFileSystem.java:429)
>  at org.apache.poi.poifs.filesystem.POIFSFileSystem.readBAT(POIFSFileSystem.java:399)
>  at org.apache.poi.poifs.filesystem.POIFSFileSystem.readCoreContents(POIFSFileSystem.java:373)
>  at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:232)
>  at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:170)
>  at org.apache.tika.parser.microsoft.OfficeParser.parse(OfficeParser.java:121)
>  at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280)
>  ... 4 more
>  Caused by: java.lang.IndexOutOfBoundsException: Position 20682240 past the end of the file
>  at org.apache.poi.poifs.nio.FileBackedDataSource.read(FileBackedDataSource.java:84)
>  at org.apache.poi.poifs.filesystem.POIFSFileSystem.getBlockAt(POIFSFileSystem.java:427)
>  ... 10 more



--
This message was sent by Atlassian Jira
(v8.3.4#803005)