Announcement: LanguageTool 5.6

Hi, LanguageTool 5.6 has been released and can now be downloaded from here. It includes rule updates for Catalan, Dutch, English, French, German, Portuguese, Russian, Spanish, and Ukrainian.

Checksums (sha256):

47295caf3a2c97f24b48ccf576a31ddf4e26252696d7376dd2c5c174619409ad  LanguageTool-5.6.oxt
6cabbf546cf7fab2f4b8493827657d528a78add565b219cb2e27001612925b7e  LanguageTool-5.6.zip

It is not yet available through the LibreOffice/OpenOffice extension manager because I’d like to wait for feedback from people who install it manually.

1 Like

Hi. Just tried, and I have a beautiful Java crash… (I had the same with LT 5.5.1, but not 5.4)
I’m on macOS, here are the details of the config:

macOS version: 12.1
Java version: Oracle 1.8.0_311
LO version: 7.2.4.1
LT extension version: 5.5.1 or 5.6

1 Like

@Fred.Kruse Any idea what might cause this? I have no idea why this class would be missing.

I just tested with a JRE 17.0.1, and it works fine. The problem seems in the Java 1.8.0_311 JRE…

WRONG… I was still with LT 5.4… Same issue with JRE 17.0.1

1 Like

Normally I always wait with the installation of a new version of the LanguageTool extension until it is available in the LibreOffice Extension Center. But since I was curious if the error you described also occurs with my LibreOffice installation, I just installed the extension manually today.

And I can give the all-clear, at least for my system. I was able to install LanguageTool 5.6 without any problems and as after every update, I briefly tested the functionality of my LanguageTool installation with the LanguageTool test document. Using LanguageTool 5.6 does not give any error messages and the extension seems to work perfectly.

For hardware reasons, I still use macOS Catalina and not macOS Monterey like you. Therefore, our systems are probably not completely comparable. So it could be that the following is not necessarily true for your system. However, from my own experience, I know that there are some things to be aware of when using LibreOffice in combination with Java on a Mac.

It should be known by now, but still the following note up front: LibreOffice releases available from the Apple App Store don’t include Java support at all, because apps distributed in the App Store are not allowed to depend on optional functionality like Java.

According to the TDF Wiki, using macOS 10.10 and newer you need to install JDK, not JRE. You may find download links for choosing a JDK version of Oracle Java on this page.

Instead of Java 8 you could try Java 11 or Java 17. Don’t worry, there can be multiple JDKs installed on the macOS system.

According to the LanguageTool help center, it is a Mac-specific issue that additionally to Java 8 (or later) you may also need to have Java for OS X installed. On my system, it should still be installed, as this was required on my iMac Late 2013 at the time. For your newer system, however, it may not necessarily apply anymore.

Instead of Oracle Java it is usually preferable to use OpenJDK. At Adoptium you can get prebuilt OpenJDK binaries for free.

:paperclip: Attachment

English version notes of my LibreOffice & Java installation:

Version: 7.2.5.2 / LibreOffice Community
Build ID: 499f9727c189e6ef3471021d6132d4c694f357e5
CPU threads: 4; OS: Mac OS X 10.15.7; UI render: default; VCL: osx
Locale: nl-NL (nl_NL.UTF-8); UI: nl-NL
Calc: threaded
Java version: Eclipse Temurin 17.0.1 by Adoptium

Thanks for this long answer. Just a bit more information:

  • I don’t use the App Store version, so Java is available
  • I tried on 2 different systems, both running Monterey (one x86, one M1)
  • I tried with Oracle Java 1.8 and Java 17 (on the M1 system it needs to be the x86 version to work with LibreOffice)
  • On both systems, LT 5.4 works flawlessly (with both Java versions) but LT 5.5.1 and 5.6 crash systematically

This is quite weird as I don’t see why the OS version can have an influence here.

By the way, I’m not sure the Java for OX still needs to be installed as I don’t think I have it on the M1 Mac.

I just did a very interesting test: I downloaded the Apple Silicon version of LO 7.2.5.2 on my M1 Mac. It automatically picked the Azul Apple Silicon 1.8.0_312 JRE I have, and miracle, LT 5.6 works flawlessly with this configuration…
It’s getting weirder…

1 Like

Good news. LanguageTool 5.6 seems to work fine under Linux, too. Today I also manually installed the LibreOffice extension on my laptop running Manjaro Xfce. The extension integrates well into the system. I particularly noticed the revision of the settings, which now allows the user to easily specify the native language. Nicely done. :slight_smile:

:paperclip: Attachment

English version notes of my LibreOffice & Java installation:

Version: 7.2.4.1 / LibreOffice Community
Build ID: 20(Build:1)
CPU threads: 2; OS: Linux 5.10; UI render: default; VCL: gtk3
Locale: nl-NL (nl_NL.utf8); UI: nl-NL
7.2.4-3
Calc: threaded
Java version: OpenJDK 1.8.0_312

Is there any reason why 5.6 should require more memory?

We were using a standard instance of platform.sh (0.96 CPU + 0.8GB ram) for development instances but now these instances are unable to come up with out of memory errors.

BTW I see the following in my logs (and of course lots more of the same), which raises again the question if there could be some way to disable certain languages to reduce the memory footprint

2022-02-10 08:36:47.844 +0000 DEBUG [main] [getFixedThreadPoolExecutor] rID: org.languagetool.tools.LtThreadPoolFactory Request: remote-rule-executing-thread not found, returning default pool
2022-02-10 08:36:47.863 +0000 DEBUG [main] [getFixedThreadPoolExecutor] rID: org.languagetool.tools.LtThreadPoolFactory Request: remote-rule-executing-thread not found, returning default pool
2022-02-10 08:36:47.864 +0000 INFO  [main] [getPipeline] rID: org.languagetool.server.PipelinePool Requesting pipeline; pool has 2 active objects, 87 idle; pipeline settings: org.languagetool.server.PipelineSettings@5349b246[lang=English (GB),motherTongue=<null>,query=org.languagetool.server.TextChecker$QueryParams@ec8f4b9[altLanguages=[],enabledRules=[],disabledRules={WHITESPACE_RULE},enabledCategories=[],disabledCategories=[],useEnabledOnly=false,useQuerySettings=true,allowIncompleteResults=true,enableHiddenRules=true,premium=false,enableTempOffRules=false,regressionTestMode=false,mode=ALL_BUT_TEXTLEVEL_ONLY,level=PICKY,callback=<null>,inputLogging=true],globalConfig=org.languagetool.GlobalConfig@745f,user=UserConfig{dictionarySize=0, maxSpellingSuggestions=0, userDictName='default', configurableRuleValues={}, linguServices=null, filterDictionaryMatches=false, textSessionId=null, hidePremiumMatches=false, abTest='null'}]
2022-02-10 08:36:47.927 +0000 INFO  [main] [getPipeline] rID: org.languagetool.server.PipelinePool Fetching pipeline took 63ms; pool has 3 active objects, 87 idle; pipeline settings: org.languagetool.server.PipelineSettings@5349b246[lang=English (GB),motherTongue=<null>,query=org.languagetool.server.TextChecker$QueryParams@ec8f4b9[altLanguages=[],enabledRules=[],disabledRules={WHITESPACE_RULE},enabledCategories=[],disabledCategories=[],useEnabledOnly=false,useQuerySettings=true,allowIncompleteResults=true,enableHiddenRules=true,premium=false,enableTempOffRules=false,regressionTestMode=false,mode=ALL_BUT_TEXTLEVEL_ONLY,level=PICKY,callback=<null>,inputLogging=true],globalConfig=org.languagetool.GlobalConfig@745f,user=UserConfig{dictionarySize=0, maxSpellingSuggestions=0, userDictName='default', configurableRuleValues={}, linguServices=null, filterDictionaryMatches=false, textSessionId=null, hidePremiumMatches=false, abTest='null'}]
2022-02-10 08:36:48.164 +0000 DEBUG [main] [getFixedThreadPoolExecutor] rID: org.languagetool.tools.LtThreadPoolFactory Request: remote-rule-executing-thread not found, returning default pool
2022-02-10 08:36:48.168 +0000 DEBUG [main] [getFixedThreadPoolExecutor] rID: org.languagetool.tools.LtThreadPoolFactory Request: remote-rule-executing-thread not found, returning default pool
2022-02-10 08:36:48.185 +0000 INFO  [main] [getPipeline] rID: org.languagetool.server.PipelinePool Requesting pipeline; pool has 0 active objects, 90 idle; pipeline settings: org.languagetool.server.PipelineSettings@6c1cfa53[lang=Polish,motherTongue=<null>,query=org.languagetool.server.TextChecker$QueryParams@77681ce4[altLanguages=[],enabledRules=[],disabledRules={WHITESPACE_RULE},enabledCategories=[],disabledCategories=[],useEnabledOnly=false,useQuerySettings=true,allowIncompleteResults=true,enableHiddenRules=true,premium=false,enableTempOffRules=false,regressionTestMode=false,mode=TEXTLEVEL_ONLY,level=PICKY,callback=<null>,inputLogging=true],globalConfig=org.languagetool.GlobalConfig@745f,user=UserConfig{dictionarySize=0, maxSpellingSuggestions=0, userDictName='default', configurableRuleValues={}, linguServices=null, filterDictionaryMatches=false, textSessionId=null, hidePremiumMatches=false, abTest='null'}]

Ok the above is related to Debug messages in console output for v.5.6 · Issue #6199 · languagetool-org/languagetool · GitHub

Anyway, we increased the memory and now it appears to work.

Very same problem.
LO 7.2.5
LT 5.6
Java Oracle JRE 1.8 or JDK 17.

Back to version 7.4

The error is back for me with LO 7.3 (which does not recognises Java 8 anymore, so I switched to Java 17), With LT 5.6, but also 5.5.1… Very annoying !

It works fine for me:

macOS 12.3.1 (it seems not to be related)
LibreOffice 7.3.2.2
Oracle JDK 1.8.0_231 (it seems to be the main point)
LanguageTool 5.6

I have tried with different versions of macOS (Big Sur and Monterrey), LibreOffice (7.2.x and 7.3.x) and JDK (8, 11 and 17) with LanguageTool 5.5.1 and 5.6. It doesn’t matter the version of macOS and LibreOffice, the only JDK version that works fine is 1.8.0_231.

Hope this could help you.