Nilay Chheda created TIKA-1925:
----------------------------------

             Summary: Composite External Parser like Exiftool fails to run on 
Windows.
                 Key: TIKA-1925
                 URL: https://issues.apache.org/jira/browse/TIKA-1925
             Project: Tika
          Issue Type: Bug
          Components: core
    Affects Versions: 1.12
         Environment: Windows 10, Intel i7 6550U 64-Bit processor
            Reporter: Nilay Chheda
             Fix For: 1.13


While trying to run EXIFTool Parser using Tika on Windows OS, we are getting 
following error output. 
(Ref: http://wiki.apache.org/tika/EXIFToolParser)

java.io.IOException: Cannot run program "env": CreateProcess error=2, The 
system cannot find the file specified
        at java.lang.ProcessBuilder.start(Unknown Source)
        at java.lang.Runtime.exec(Unknown Source)
        at java.lang.Runtime.exec(Unknown Source)
        at 
org.apache.tika.parser.external.ExternalParser.parse(ExternalParser.java:182)
        at 
org.apache.tika.parser.external.ExternalParser.parse(ExternalParser.java:145)
        at 
org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280)
        at 
org.apache.tika.parser.ParserDecorator.parse(ParserDecorator.java:177)
        at 
org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280)
        at 
org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280)
        at 
org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120)
        at org.apache.tika.cli.TikaCLI$OutputType.process(TikaCLI.java:190)
        at org.apache.tika.cli.TikaCLI.process(TikaCLI.java:491)
        at org.apache.tika.cli.TikaCLI.main(TikaCLI.java:144)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find 
the file specified
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(Unknown Source)
        at java.lang.ProcessImpl.start(Unknown Source)
        ... 13 more
Exception in thread "main" org.apache.tika.exception.TikaException: Unexpected 
RuntimeException from org.apache.tika.parser.external.ExternalParser@51efea79
        at 
org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:282)
        at 
org.apache.tika.parser.ParserDecorator.parse(ParserDecorator.java:177)
        at 
org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280)
        at 
org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280)
        at 
org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120)
        at org.apache.tika.cli.TikaCLI$OutputType.process(TikaCLI.java:190)
        at org.apache.tika.cli.TikaCLI.process(TikaCLI.java:491)
        at org.apache.tika.cli.TikaCLI.main(TikaCLI.java:144)
Caused by: java.lang.NullPointerException
        at 
org.apache.tika.parser.external.ExternalParser.parse(ExternalParser.java:218)
        at 
org.apache.tika.parser.external.ExternalParser.parse(ExternalParser.java:145)
        at 
org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:280)
        ... 7 more

After analyzing the stack trace and little experimentation, we found that "env" 
is unix/Mac OS X/Linux specific command and does not work on Windows. 

We were able to workaround this problem by adding some Windows specific code, 
recompile Tika and run again with similar setup. I am attaching the original 
file and modified file for review. 

If fix is acceptable by Tika specific standards, I can send the pull request on 
Github to contribute the patch. 





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

Reply via email to