Jon Scharff created SOLR-7430:
---------------------------------

             Summary: Encrypted pptx/xlsx causes a ClassNotFoundException
                 Key: SOLR-7430
                 URL: https://issues.apache.org/jira/browse/SOLR-7430
             Project: Solr
          Issue Type: Bug
          Components: contrib - Solr Cell (Tika extraction)
    Affects Versions: 5.1
         Environment: Windows 7 (64bit) jre 1.8.0_40-b26 (64 bit)
            Reporter: Jon Scharff


When indexing an encrypted pptx or xlsx file via the command

solr-home>java -Dc=<core> -Dauto=yes -Ddata=files -jar 
example\exampledocs\post.jar file.pptx

on a server started with

solr-home>bin\solr start

a ClassNotFoundException results instead of a EncryptedDocumentException.

It appears that poi is using reflection to get the proper encryption handler, 
but the necessary jar files are not supplied by jetty's ClassLoader.

A portion of the resulting error trace is below.

org.apache.solr.common.SolrException: org.apache.tika.exception.TikaException: 
TIKA-198: Illegal IOException from 
org.apache.tika.parser.microsoft.OfficeParser@2e973e0f

        at 
org.apache.solr.handler.extraction.ExtractingDocumentLoader.load(ExtractingDocumentLoader.java:227)

        ...

Caused by: org.apache.tika.exception.TikaException: TIKA-198: Illegal 
IOException from org.apache.tika.parser.microsoft.OfficeParser@2e973e0f

        at 
org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:262)

        at 
org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:256)

        at 
org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120)

        at 
org.apache.solr.handler.extraction.ExtractingDocumentLoader.load(ExtractingDocumentLoader.java:221)

        ... 31 more

Caused by: java.io.IOException: java.lang.ClassNotFoundException: 
org.apache.poi.poifs.crypt.agile.AgileEncryptionInfoBuilder

        at 
org.apache.poi.poifs.crypt.EncryptionInfo.&lt;init&gt;(EncryptionInfo.java:69)

        at 
org.apache.tika.parser.microsoft.OfficeParser.parse(OfficeParser.java:228)

        at 
org.apache.tika.parser.microsoft.OfficeParser.parse(OfficeParser.java:172)

        at 
org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:256)

        ... 34 more

Caused by: java.lang.ClassNotFoundException: 
org.apache.poi.poifs.crypt.agile.AgileEncryptionInfoBuilder

        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

        at 
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:430)

        at 
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:383)

        at 
org.apache.poi.poifs.crypt.EncryptionInfo.getBuilder(EncryptionInfo.java:150)

        at 
org.apache.poi.poifs.crypt.EncryptionInfo.&lt;init&gt;(EncryptionInfo.java:67)

        ... 37 more




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to