tika-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nick Burch (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TIKA-1925) Composite External Parser like Exiftool fails to run on Windows.
Date Sat, 02 Apr 2016 17:01:25 GMT

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

Nick Burch commented on TIKA-1925:
----------------------------------

Your patch seems to be making some very large changes, and at first glance I worry you might
be tackling a symptom not the cause...

The exiftool check doesn't need env, so I'm not sure why we're needing it to run the tool?
And if we do, to avoid path issues, maybe we should be introducing a special variable / substitution
to enable it on unixes?

Could you perhaps check the source control history and associated jiras for the change that
introduced this, and see if we can find an alternate route to solve this based on why we introduced
it to start with?

(Well, or just wait for the announced ubuntu/bash on Windows to come out, and use that!)

> 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
>
>         Attachments: ExternalParser_modified.java, ExternalParser_orig.java
>
>
> 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)

Mime
View raw message