Hello
I am using languagetool via the command line tool. My call looks like:
java -jar ./libs/LanguageTool-3.0/languagetool-commandline.jar -c UTF-8 --api -l en-US mytext.txt
At about 5% of the calls I get a:
Exception in thread “main” java.lang.RuntimeException: java.util.concurrent.ExecutionException:
I am doing this from php via a exec call, if this matters.
The enviroment is a debian 7 box.
Output of java -version:
java version “1.8.0_25”
Java™ SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot™ 64-Bit Server VM (build 25.25-b02, mixed mode)
The text to check is short, about 5 sentences.
Does anyone have an idea what the problem could be?
The complete stacktrace:
Exception in thread “main” java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Could not load dictionary from /en/english.dict at org.languagetool.MultiThreadedJLanguageTool.analyzeSentences(MultiThreadedJLanguageTool.java:142) at org.languagetool.JLanguageTool.check(JLanguageTool.java:496) at org.languagetool.JLanguageTool.check(JLanguageTool.java:449) at org.languagetool.JLanguageTool.check(JLanguageTool.java:445) at org.languagetool.commandline.CommandLineTools.checkText(CommandLineTools.java:103) at org.languagetool.commandline.CommandLineTools.checkText(CommandLineTools.java:80) at org.languagetool.commandline.Main.runOnFileInOneGo(Main.java:214) at org.languagetool.commandline.Main.runOnFile(Main.java:193) at org.languagetool.commandline.Main.main(Main.java:530)Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Could not load dictionary from /en/english.dict at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.languagetool.MultiThreadedJLanguageTool.analyzeSentences(MultiThreadedJLanguageTool.java:135) … 8 moreCaused by: java.lang.RuntimeException: Could not load dictionary from /en/english.dict at org.languagetool.tagging.BaseTagger.(BaseTagger.java:78) at org.languagetool.tagging.BaseTagger.(BaseTagger.java:65) at org.languagetool.tagging.en.EnglishTagger.(EnglishTagger.java:40) at org.languagetool.language.English.getTagger(English.java:94) at org.languagetool.JLanguageTool.getRawAnalyzedSentence(JLanguageTool.java:722) at org.languagetool.JLanguageTool.getAnalyzedSentence(JLanguageTool.java:703) at org.languagetool.MultiThreadedJLanguageTool$AnalyzeSentenceCallable.call(MultiThreadedJLanguageTool.java:209) at org.languagetool.MultiThreadedJLanguageTool$AnalyzeSentenceCallable.call(MultiThreadedJLanguageTool.java:200) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)Caused by: java.io.IOException: Invalid argument at java.io.FileInputStream.readBytes(Native Method) at java.io.FileInputStream.read(FileInputStream.java:246) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read1(BufferedInputStream.java:286) at java.io.BufferedInputStream.read(BufferedInputStream.java:345) at java.io.FilterInputStream.read(FilterInputStream.java:107) at morfologik.util.FileUtils.readFully(FileUtils.java:64) at morfologik.fsa.CFSA2.(CFSA2.java:191) at morfologik.fsa.FSA.read(FSA.java:272) at morfologik.stemming.Dictionary.readAndClose(Dictionary.java:141) at morfologik.stemming.Dictionary.read(Dictionary.java:98) at org.languagetool.tagging.BaseTagger.(BaseTagger.java:76) … 11 more
Sorry for the messed up newlines… don’t know how to fix that…