Author: tallison
Date: Thu Jan 22 18:29:19 2015
New Revision: 1653994

URL: http://svn.apache.org/r1653994
Log:
TIKA-1526: initial fix for jvm bug that can affect users with a default Locale 
of tr running on MACOSX or BSD.  We still need to confirm that this fixes the 
problem and/or add a unit test.

Modified:
    
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java

Modified: 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java?rev=1653994&r1=1653993&r2=1653994&view=diff
==============================================================================
--- 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java
 (original)
+++ 
tika/trunk/tika-core/src/main/java/org/apache/tika/parser/external/ExternalParser.java
 Thu Jan 22 18:29:19 2015
@@ -335,6 +335,7 @@ public class ExternalParser extends Abst
     public static boolean check(String checkCmd, int... errorValue) {
        return check(new String[] {checkCmd}, errorValue);
     }
+
     public static boolean check(String[] checkCmd, int... errorValue) {
        if(errorValue.length == 0) {
           errorValue = new int[] { 127 };
@@ -354,6 +355,16 @@ public class ExternalParser extends Abst
        } catch (InterruptedException ie) {
           // Some problem, command is there or is broken
           return false;
-      }
+       } catch (Error err) {
+           if (err.getMessage() != null && 
+               (err.getMessage().contains("posix_spawn") || 
+               err.getMessage().contains("UNIXProcess"))) {
+               //"Error forking command due to JVM locale bug 
+               //(see TIKA-1526 and SOLR-6387)"
+               return false;
+           }
+           //throw if a different kind of error
+           throw err;
+       }
     }
 }


Reply via email to