[ 
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)

Reply via email to