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; + } } }