Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance issues with magic comments since 7.1.0 #124

Closed
EmilVogt opened this issue Sep 20, 2020 · 3 comments
Closed

Performance issues with magic comments since 7.1.0 #124

EmilVogt opened this issue Sep 20, 2020 · 3 comments
Assignees
Labels
1-bug 🐛 Issue type: Bug report (something isn't working as expected) 2-confirmed Issue status: Confirmed, reproducible bug in LTeX 3-fixed Issue resolution: Issue has been fixed on the develop branch
Milestone

Comments

@EmilVogt
Copy link

Describe the bug
Since version 7.1.0 of LTeX I'm experiencing performance issues when using LTeX with default settings (i.e. language=en-US) and word2vec model for en but using the magic command % LTeX: language=de-DE.
This brings the OpenJDK Platform binary (java.exe) in the Windows Task manager to high CPU usages (50% for some time even after VS Code is closed) and the input to VS Code lags significantly.

Steps to reproduce
Steps to reproduce the behavior:

  1. Use default language (en-US) and set a directory for the word2vec model
  2. Open a latex document with magic comment % LTeX: language=de-DE
  3. Typing something quickly and/or trying to see Quick fix... leads to performance issues

Expected behavior
Smooth keyboard input and fast suggestion for Quick fixes.

Sample document

% LTeX: language=de-DE
\documentclass{article}

\usepackage[utf8]{inputenc}

\begin{document}

Example text

\section*{Part 1}

Brown fox and so on. 

\section*{Part 2}

Das sollte auf Deutsch überprüft werden. Schreibe etwas: 

\end{document}
[Info  - 9:44:59 PM] Starting ltex-ls...
Sep 20, 2020 9:45:02 PM org.bsplines.ltexls.LtexLanguageServer initialize
INFO: Setting locale to 'en'
Sep 20, 2020 9:45:05 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'en-US' via LanguageTool: ''
Sep 20, 2020 9:45:05 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 0 rule matches
WARN: ngram index dir C:\LanguageTool\NGrams\de not found for German (Germany)
Sep 20, 2020 9:45:13 PM org.bsplines.ltexls.languagetool.LanguageToolJavaInterface activateWord2VecModelRules
WARNING: Could not load word2vec model rules from 'C:\LanguageTool\word2vec\', disabling them. The following exception occurred:
java.io.FileNotFoundException: C:\LanguageTool\word2vec\de\dictionary.txt (The system cannot find the path specified)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
	at org.languagetool.rules.neuralnetwork.Word2VecModel.<init>(Word2VecModel.java:31)
	at org.languagetool.language.German.getWord2VecModel(German.java:233)
	at org.languagetool.JLanguageTool.activateWord2VecModelRules(JLanguageTool.java:569)
	at org.bsplines.ltexls.languagetool.LanguageToolJavaInterface.activateWord2VecModelRules(LanguageToolJavaInterface.java:166)
	at org.bsplines.ltexls.settings.SettingsManager.reinitializeLanguageToolInterface(SettingsManager.java:87)
	at org.bsplines.ltexls.settings.SettingsManager.setSettings(SettingsManager.java:143)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragment(DocumentChecker.java:72)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragments(DocumentChecker.java:62)
	at org.bsplines.ltexls.DocumentChecker.check(DocumentChecker.java:168)
	at org.bsplines.ltexls.LtexLanguageServer.lambda$checkDocument$2(LtexLanguageServer.java:215)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:212)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:193)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Sep 20, 2020 9:45:13 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'de-DE' via LanguageTool: '\n\n\n\n\n\nExample text\n\nPart 1.\n\nBrown fox and so on.\n\nPart 2.\n\nDas sollte auf Deutsch \u00FCberpr\u00FCft werden.'... (truncated to 100 characters)
Sep 20, 2020 9:45:16 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 6 rule matches
Sep 20, 2020 9:45:25 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'en-US' via LanguageTool: ''
Sep 20, 2020 9:45:25 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 0 rule matches
Sep 20, 2020 9:45:25 PM org.bsplines.ltexls.languagetool.LanguageToolJavaInterface activateWord2VecModelRules
WARNING: Could not load word2vec model rules from 'C:\LanguageTool\word2vec\', disabling them. The following exception occurred:
java.io.FileNotFoundException: C:\LanguageTool\word2vec\de\dictionary.txt (The system cannot find the path specified)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
	at org.languagetool.rules.neuralnetwork.Word2VecModel.<init>(Word2VecModel.java:31)
	at org.languagetool.language.German.getWord2VecModel(German.java:233)
	at org.languagetool.JLanguageTool.activateWord2VecModelRules(JLanguageTool.java:569)
	at org.bsplines.ltexls.languagetool.LanguageToolJavaInterface.activateWord2VecModelRules(LanguageToolJavaInterface.java:166)
	at org.bsplines.ltexls.settings.SettingsManager.reinitializeLanguageToolInterface(SettingsManager.java:87)
	at org.bsplines.ltexls.settings.SettingsManager.setSettings(SettingsManager.java:143)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragment(DocumentChecker.java:72)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragments(DocumentChecker.java:62)
	at org.bsplines.ltexls.DocumentChecker.check(DocumentChecker.java:168)
	at org.bsplines.ltexls.LtexLanguageServer.lambda$checkDocument$2(LtexLanguageServer.java:215)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:212)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:193)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Sep 20, 2020 9:45:25 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'de-DE' via LanguageTool: '\n\n\n\n\n\nExample text\n\nPart 1.\n\nBrown fox and so on.\n\nPart 2.\n\nDas sollte auf Deutsch \u00FCberpr\u00FCft werden.'... (truncated to 100 characters)
Sep 20, 2020 9:45:26 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 6 rule matches
Sep 20, 2020 9:45:28 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'en-US' via LanguageTool: ''
Sep 20, 2020 9:45:28 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 0 rule matches
Sep 20, 2020 9:45:28 PM org.bsplines.ltexls.languagetool.LanguageToolJavaInterface activateWord2VecModelRules
WARNING: Could not load word2vec model rules from 'C:\LanguageTool\word2vec\', disabling them. The following exception occurred:
java.io.FileNotFoundException: C:\LanguageTool\word2vec\de\dictionary.txt (The system cannot find the path specified)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
	at org.languagetool.rules.neuralnetwork.Word2VecModel.<init>(Word2VecModel.java:31)
	at org.languagetool.language.German.getWord2VecModel(German.java:233)
	at org.languagetool.JLanguageTool.activateWord2VecModelRules(JLanguageTool.java:569)
	at org.bsplines.ltexls.languagetool.LanguageToolJavaInterface.activateWord2VecModelRules(LanguageToolJavaInterface.java:166)
	at org.bsplines.ltexls.settings.SettingsManager.reinitializeLanguageToolInterface(SettingsManager.java:87)
	at org.bsplines.ltexls.settings.SettingsManager.setSettings(SettingsManager.java:143)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragment(DocumentChecker.java:72)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragments(DocumentChecker.java:62)
	at org.bsplines.ltexls.DocumentChecker.check(DocumentChecker.java:168)
	at org.bsplines.ltexls.LtexLanguageServer.lambda$checkDocument$2(LtexLanguageServer.java:215)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:212)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:193)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Sep 20, 2020 9:45:28 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'de-DE' via LanguageTool: '\n\n\n\n\n\nExample text\n\nPart 1.\n\nBrown fox and so on.\n\nPart 2.\n\nDas sollte auf Deutsch \u00FCberpr\u00FCft werden.'... (truncated to 100 characters)
Sep 20, 2020 9:45:30 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 6 rule matches
Sep 20, 2020 9:45:41 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'en-US' via LanguageTool: ''
Sep 20, 2020 9:45:41 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 0 rule matches
Sep 20, 2020 9:45:41 PM org.bsplines.ltexls.languagetool.LanguageToolJavaInterface activateWord2VecModelRules
WARNING: Could not load word2vec model rules from 'C:\LanguageTool\word2vec\', disabling them. The following exception occurred:
java.io.FileNotFoundException: C:\LanguageTool\word2vec\de\dictionary.txt (The system cannot find the path specified)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
	at org.languagetool.rules.neuralnetwork.Word2VecModel.<init>(Word2VecModel.java:31)
	at org.languagetool.language.German.getWord2VecModel(German.java:233)
	at org.languagetool.JLanguageTool.activateWord2VecModelRules(JLanguageTool.java:569)
	at org.bsplines.ltexls.languagetool.LanguageToolJavaInterface.activateWord2VecModelRules(LanguageToolJavaInterface.java:166)
	at org.bsplines.ltexls.settings.SettingsManager.reinitializeLanguageToolInterface(SettingsManager.java:87)
	at org.bsplines.ltexls.settings.SettingsManager.setSettings(SettingsManager.java:143)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragment(DocumentChecker.java:72)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragments(DocumentChecker.java:62)
	at org.bsplines.ltexls.DocumentChecker.check(DocumentChecker.java:168)
	at org.bsplines.ltexls.LtexLanguageServer.lambda$checkDocument$2(LtexLanguageServer.java:215)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:212)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:193)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Sep 20, 2020 9:45:41 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'de-DE' via LanguageTool: '\n\n\n\n\n\nExample text\n\nPart 1.\n\nBrown fox and so on.\n\nPart 2.\n\nDas sollte auf Deutsch \u00FCberpr\u00FCft werden.'... (truncated to 100 characters)
Sep 20, 2020 9:45:42 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 6 rule matches
Sep 20, 2020 9:45:44 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'en-US' via LanguageTool: ''
Sep 20, 2020 9:45:44 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 0 rule matches
Sep 20, 2020 9:45:44 PM org.bsplines.ltexls.languagetool.LanguageToolJavaInterface activateWord2VecModelRules
WARNING: Could not load word2vec model rules from 'C:\LanguageTool\word2vec\', disabling them. The following exception occurred:
java.io.FileNotFoundException: C:\LanguageTool\word2vec\de\dictionary.txt (The system cannot find the path specified)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
	at org.languagetool.rules.neuralnetwork.Word2VecModel.<init>(Word2VecModel.java:31)
	at org.languagetool.language.German.getWord2VecModel(German.java:233)
	at org.languagetool.JLanguageTool.activateWord2VecModelRules(JLanguageTool.java:569)
	at org.bsplines.ltexls.languagetool.LanguageToolJavaInterface.activateWord2VecModelRules(LanguageToolJavaInterface.java:166)
	at org.bsplines.ltexls.settings.SettingsManager.reinitializeLanguageToolInterface(SettingsManager.java:87)
	at org.bsplines.ltexls.settings.SettingsManager.setSettings(SettingsManager.java:143)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragment(DocumentChecker.java:72)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragments(DocumentChecker.java:62)
	at org.bsplines.ltexls.DocumentChecker.check(DocumentChecker.java:168)
	at org.bsplines.ltexls.LtexLanguageServer.lambda$checkDocument$2(LtexLanguageServer.java:215)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:212)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:193)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Sep 20, 2020 9:45:44 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'de-DE' via LanguageTool: '\n\n\n\n\n\nExample text\n\nPart 1.\n\nBrown fox and so on.\n\nPart 2.\n\nDas sollte auf Deutsch \u00FCberpr\u00FCft werden.'... (truncated to 100 characters)
Sep 20, 2020 9:45:45 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 6 rule matches
Sep 20, 2020 9:45:46 PM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint handleCancellation
[... truncated]

LTeX configuration
Please paste all configuration settings starting with ltex. from your settings.json. You can help us by temporarily removing some irrelevant settings from your settings.json and see if the bug still occurs.

{
  "enabled": [
    "markdown",
    "latex",
    "rsweave"
  ],
  "language": "en-US",
  "dictionary": {
    "en-US": [
      "trunc",
      "ated"
    ]
  },
  "workspaceDictionary": {},
  "workspaceFolderDictionary": {},
  "disabledRules": {},
  "workspaceDisabledRules": {},
  "workspaceFolderDisabledRules": {},
  "enabledRules": {},
  "workspaceEnabledRules": {},
  "workspaceFolderEnabledRules": {},
  "ltex-ls": {
    "path": "",
    "languageToolHttpServerUri": ""
  },
  "java": {
    "path": "",
    "initialHeapSize": 64,
    "maximumHeapSize": 512
  },
  "commands": {
    "ignore": [],
    "dummy": []
  },
  "environments": {
    "ignore": []
  },
  "markdown": {
    "ignore": [
      "CodeBlock",
      "FencedCodeBlock",
      "IndentedCodeBlock"
    ],
    "dummy": [
      "AutoLink",
      "Code"
    ]
  },
  "ignoreRuleInSentence": [],
  "configurationTarget": {
    "addToDictionary": "workspaceFolder",
    "disableRule": "workspaceFolder",
    "ignoreRuleInSentence": "workspaceFolder"
  },
  "additionalRules": {
    "motherTongue": "",
    "languageModel": "C:\\LanguageTool\\NGrams\\",
    "neuralNetworkModel": "",
    "word2VecModel": "C:\\LanguageTool\\word2vec\\"
  },
  "sentenceCacheSize": 2000,
  "diagnosticSeverity": "information",
  "clearDiagnosticsWhenClosingFile": true,
  "trace": {
    "server": "verbose"
  }
}

"LTeX Language Server" log file
First, reproduce the bug. Then, go to ViewOutput and select LTeX Language Server in the drop-down list. Paste this log here:

[... truncated]
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragments(DocumentChecker.java:62)
	at org.bsplines.ltexls.DocumentChecker.check(DocumentChecker.java:168)
	at org.bsplines.ltexls.LtexLanguageServer.lambda$checkDocument$2(LtexLanguageServer.java:215)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:212)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:193)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Sep 20, 2020 9:47:44 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'de-DE' via LanguageTool: '\n\n\n\n\n\nExample text\n\nPart 1.\n\nBrown fox and so on.\n\nPart 2.\n\nDas sollte auf Deutsch \u00FCberpr\u00FCft werden.'... (truncated to 100 characters)
Sep 20, 2020 9:47:46 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 7 rule matches
Sep 20, 2020 9:47:47 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'en-US' via LanguageTool: ''
Sep 20, 2020 9:47:47 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 0 rule matches
Sep 20, 2020 9:47:47 PM org.bsplines.ltexls.languagetool.LanguageToolJavaInterface activateWord2VecModelRules
WARNING: Could not load word2vec model rules from 'C:\LanguageTool\word2vec\', disabling them. The following exception occurred:
java.io.FileNotFoundException: C:\LanguageTool\word2vec\de\dictionary.txt (The system cannot find the path specified)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
	at org.languagetool.rules.neuralnetwork.Word2VecModel.<init>(Word2VecModel.java:31)
	at org.languagetool.language.German.getWord2VecModel(German.java:233)
	at org.languagetool.JLanguageTool.activateWord2VecModelRules(JLanguageTool.java:569)
	at org.bsplines.ltexls.languagetool.LanguageToolJavaInterface.activateWord2VecModelRules(LanguageToolJavaInterface.java:166)
	at org.bsplines.ltexls.settings.SettingsManager.reinitializeLanguageToolInterface(SettingsManager.java:87)
	at org.bsplines.ltexls.settings.SettingsManager.setSettings(SettingsManager.java:143)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragment(DocumentChecker.java:72)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragments(DocumentChecker.java:62)
	at org.bsplines.ltexls.DocumentChecker.check(DocumentChecker.java:168)
	at org.bsplines.ltexls.LtexLanguageServer.lambda$checkDocument$2(LtexLanguageServer.java:215)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:212)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:193)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Sep 20, 2020 9:47:47 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'de-DE' via LanguageTool: '\n\n\n\n\n\nExample text\n\nPart 1.\n\nBrown fox and so on.\n\nPart 2.\n\nDas sollte auf Deutsch \u00FCberpr\u00FCft werden.'... (truncated to 100 characters)
Sep 20, 2020 9:47:48 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 7 rule matches
Sep 20, 2020 9:47:50 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'en-US' via LanguageTool: ''
Sep 20, 2020 9:47:50 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 0 rule matches
Sep 20, 2020 9:47:50 PM org.bsplines.ltexls.languagetool.LanguageToolJavaInterface activateWord2VecModelRules
WARNING: Could not load word2vec model rules from 'C:\LanguageTool\word2vec\', disabling them. The following exception occurred:
java.io.FileNotFoundException: C:\LanguageTool\word2vec\de\dictionary.txt (The system cannot find the path specified)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
	at org.languagetool.rules.neuralnetwork.Word2VecModel.<init>(Word2VecModel.java:31)
	at org.languagetool.language.German.getWord2VecModel(German.java:233)
	at org.languagetool.JLanguageTool.activateWord2VecModelRules(JLanguageTool.java:569)
	at org.bsplines.ltexls.languagetool.LanguageToolJavaInterface.activateWord2VecModelRules(LanguageToolJavaInterface.java:166)
	at org.bsplines.ltexls.settings.SettingsManager.reinitializeLanguageToolInterface(SettingsManager.java:87)
	at org.bsplines.ltexls.settings.SettingsManager.setSettings(SettingsManager.java:143)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragment(DocumentChecker.java:72)
	at org.bsplines.ltexls.DocumentChecker.checkAnnotatedTextFragments(DocumentChecker.java:62)
	at org.bsplines.ltexls.DocumentChecker.check(DocumentChecker.java:168)
	at org.bsplines.ltexls.LtexLanguageServer.lambda$checkDocument$2(LtexLanguageServer.java:215)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:212)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:193)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

Sep 20, 2020 9:47:50 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Checking the following text in language 'de-DE' via LanguageTool: '\n\n\n\n\n\nExample text\n\nPart 1.\n\nBrown fox and so on.\n\nPart 2.\n\nDas sollte auf Deutsch \u00FCberpr\u00FCft werden.'... (truncated to 100 characters)
Sep 20, 2020 9:47:51 PM org.bsplines.ltexls.DocumentChecker checkAnnotatedTextFragment
INFO: Obtained 7 rule matches

"LTeX Language Client" log file
First, set the ltex.trace.server setting in your settings.json to "verbose". Then, reload the VS Code window and reproduce the bug. Go to ViewOutput and select LTeX Language Client in the drop-down list. Paste this log here (note: it will contain your checked document):

[... truncated]
                "start": {
                    "line": 11,
                    "character": 0
                },
                "end": {
                    "line": 11,
                    "character": 5
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 6
                },
                "end": {
                    "line": 11,
                    "character": 9
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 10
                },
                "end": {
                    "line": 11,
                    "character": 13
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 17
                },
                "end": {
                    "line": 11,
                    "character": 19
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 15,
                    "character": 45
                },
                "end": {
                    "line": 15,
                    "character": 50
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        }
    ]
}


[Trace - 9:47:33 PM] Sending request 'textDocument/codeAction - (56)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/Username/minimal.tex"
    },
    "range": {
        "start": {
            "line": 15,
            "character": 87
        },
        "end": {
            "line": 15,
            "character": 87
        }
    },
    "context": {
        "diagnostics": []
    }
}


[Trace - 9:47:33 PM] Sending notification '$/cancelRequest'.
Params: {
    "id": 55
}


[Trace - 9:47:36 PM] Received notification 'telemetry/event'.
Params: {
    "type": "progress",
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "operation": "checkDocument",
    "progress": 1
}


[Trace - 9:47:36 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 0
                },
                "end": {
                    "line": 7,
                    "character": 7
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 8
                },
                "end": {
                    "line": 7,
                    "character": 12
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 0
                },
                "end": {
                    "line": 11,
                    "character": 5
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 6
                },
                "end": {
                    "line": 11,
                    "character": 9
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 10
                },
                "end": {
                    "line": 11,
                    "character": 13
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 17
                },
                "end": {
                    "line": 11,
                    "character": 19
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 15,
                    "character": 45
                },
                "end": {
                    "line": 15,
                    "character": 50
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        }
    ]
}


[Trace - 9:47:36 PM] Sending request 'textDocument/codeAction - (57)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/Username/minimal.tex"
    },
    "range": {
        "start": {
            "line": 15,
            "character": 87
        },
        "end": {
            "line": 15,
            "character": 87
        }
    },
    "context": {
        "diagnostics": []
    }
}


[Trace - 9:47:36 PM] Sending notification '$/cancelRequest'.
Params: {
    "id": 56
}


[Trace - 9:47:39 PM] Received notification 'telemetry/event'.
Params: {
    "type": "progress",
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "operation": "checkDocument",
    "progress": 1
}


[Trace - 9:47:39 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 0
                },
                "end": {
                    "line": 7,
                    "character": 7
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 8
                },
                "end": {
                    "line": 7,
                    "character": 12
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 0
                },
                "end": {
                    "line": 11,
                    "character": 5
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 6
                },
                "end": {
                    "line": 11,
                    "character": 9
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 10
                },
                "end": {
                    "line": 11,
                    "character": 13
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 17
                },
                "end": {
                    "line": 11,
                    "character": 19
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 15,
                    "character": 45
                },
                "end": {
                    "line": 15,
                    "character": 50
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        }
    ]
}


[Trace - 9:47:39 PM] Sending request 'textDocument/codeAction - (58)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/Username/minimal.tex"
    },
    "range": {
        "start": {
            "line": 15,
            "character": 87
        },
        "end": {
            "line": 15,
            "character": 87
        }
    },
    "context": {
        "diagnostics": []
    }
}


[Trace - 9:47:39 PM] Sending notification '$/cancelRequest'.
Params: {
    "id": 57
}


[Trace - 9:47:42 PM] Received notification 'telemetry/event'.
Params: {
    "type": "progress",
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "operation": "checkDocument",
    "progress": 1
}


[Trace - 9:47:42 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 0
                },
                "end": {
                    "line": 7,
                    "character": 7
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 8
                },
                "end": {
                    "line": 7,
                    "character": 12
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 0
                },
                "end": {
                    "line": 11,
                    "character": 5
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 6
                },
                "end": {
                    "line": 11,
                    "character": 9
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 10
                },
                "end": {
                    "line": 11,
                    "character": 13
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 17
                },
                "end": {
                    "line": 11,
                    "character": 19
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 15,
                    "character": 45
                },
                "end": {
                    "line": 15,
                    "character": 50
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        }
    ]
}


[Trace - 9:47:42 PM] Sending request 'textDocument/codeAction - (59)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/Username/minimal.tex"
    },
    "range": {
        "start": {
            "line": 15,
            "character": 87
        },
        "end": {
            "line": 15,
            "character": 87
        }
    },
    "context": {
        "diagnostics": []
    }
}


[Trace - 9:47:42 PM] Sending notification '$/cancelRequest'.
Params: {
    "id": 58
}


[Trace - 9:47:44 PM] Received notification 'telemetry/event'.
Params: {
    "type": "progress",
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "operation": "checkDocument",
    "progress": 1
}


[Trace - 9:47:44 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 0
                },
                "end": {
                    "line": 7,
                    "character": 7
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 8
                },
                "end": {
                    "line": 7,
                    "character": 12
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 0
                },
                "end": {
                    "line": 11,
                    "character": 5
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 6
                },
                "end": {
                    "line": 11,
                    "character": 9
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 10
                },
                "end": {
                    "line": 11,
                    "character": 13
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 17
                },
                "end": {
                    "line": 11,
                    "character": 19
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 15,
                    "character": 45
                },
                "end": {
                    "line": 15,
                    "character": 50
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        }
    ]
}


[Trace - 9:47:45 PM] Sending request 'textDocument/codeAction - (60)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/Username/minimal.tex"
    },
    "range": {
        "start": {
            "line": 15,
            "character": 87
        },
        "end": {
            "line": 15,
            "character": 87
        }
    },
    "context": {
        "diagnostics": []
    }
}


[Trace - 9:47:45 PM] Sending notification '$/cancelRequest'.
Params: {
    "id": 59
}


[Trace - 9:47:47 PM] Received notification 'telemetry/event'.
Params: {
    "type": "progress",
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "operation": "checkDocument",
    "progress": 1
}


[Trace - 9:47:47 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 0
                },
                "end": {
                    "line": 7,
                    "character": 7
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 8
                },
                "end": {
                    "line": 7,
                    "character": 12
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 0
                },
                "end": {
                    "line": 11,
                    "character": 5
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 6
                },
                "end": {
                    "line": 11,
                    "character": 9
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 10
                },
                "end": {
                    "line": 11,
                    "character": 13
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 17
                },
                "end": {
                    "line": 11,
                    "character": 19
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 15,
                    "character": 45
                },
                "end": {
                    "line": 15,
                    "character": 50
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        }
    ]
}


[Trace - 9:47:47 PM] Sending request 'textDocument/codeAction - (61)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/Username/minimal.tex"
    },
    "range": {
        "start": {
            "line": 15,
            "character": 87
        },
        "end": {
            "line": 15,
            "character": 87
        }
    },
    "context": {
        "diagnostics": []
    }
}


[Trace - 9:47:47 PM] Sending notification '$/cancelRequest'.
Params: {
    "id": 60
}


[Trace - 9:47:50 PM] Received notification 'telemetry/event'.
Params: {
    "type": "progress",
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "operation": "checkDocument",
    "progress": 1
}


[Trace - 9:47:50 PM] Received notification 'textDocument/publishDiagnostics'.
Params: {
    "uri": "file:///c%3A/Users/Username/minimal.tex",
    "diagnostics": [
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 0
                },
                "end": {
                    "line": 7,
                    "character": 7
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 7,
                    "character": 8
                },
                "end": {
                    "line": 7,
                    "character": 12
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 0
                },
                "end": {
                    "line": 11,
                    "character": 5
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 6
                },
                "end": {
                    "line": 11,
                    "character": 9
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 10
                },
                "end": {
                    "line": 11,
                    "character": 13
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 11,
                    "character": 17
                },
                "end": {
                    "line": 11,
                    "character": 19
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        },
        {
            "range": {
                "start": {
                    "line": 15,
                    "character": 45
                },
                "end": {
                    "line": 15,
                    "character": 50
                }
            },
            "severity": 3,
            "source": "LTeX - GERMAN_SPELLER_RULE",
            "message": "Möglicher Tippfehler gefunden."
        }
    ]
}


[Trace - 9:47:50 PM] Sending request 'textDocument/codeAction - (62)'.
Params: {
    "textDocument": {
        "uri": "file:///c%3A/Users/Username/minimal.tex"
    },
    "range": {
        "start": {
            "line": 15,
            "character": 87
        },
        "end": {
            "line": 15,
            "character": 87
        }
    },
    "context": {
        "diagnostics": []
    }
}


[Trace - 9:47:50 PM] Sending notification '$/cancelRequest'.
Params: {
    "id": 61
}


2020-09-20T19:47:52.066Z Info: Creating bug report...

Version information
List here the version information of the relevant software.

  • Operating system: Windows_NT (win32), x64, 10.0.19041
  • VS Code: 1.49.1
  • vscode-ltex: 7.1.1
  • ltex-ls: 7.1.1
  • Java: 11.0.7

Additional context/information
You can add any other context or information about the problem here.

Removing the directory for the word2vec model in the settings.json (=disabling word2vec for all languages) fixes the performance issue. Note, that my folder C:\LanguageTool\word2vec only includes another folder en, i.e. I only downloaded the English word2vec model from https://languagetool.org/download/word2vec/.

@EmilVogt EmilVogt added 1-bug 🐛 Issue type: Bug report (something isn't working as expected) 2-unconfirmed Issue status: Bug that needs to be reproduced (all new bugs have this label) labels Sep 20, 2020
@EmilVogt
Copy link
Author

EmilVogt commented Sep 20, 2020

Downloading the German word2vec model doesn't improve performance. It still checks grammar alternating between English and German language.

Thanks a lot for your work on this extension

@valentjn valentjn added 2-confirmed Issue status: Confirmed, reproducible bug in LTeX and removed 2-unconfirmed Issue status: Bug that needs to be reproduced (all new bugs have this label) labels Sep 21, 2020
@valentjn valentjn self-assigned this Sep 21, 2020
@valentjn valentjn changed the title Performance issues with magic command for language without word2vec model Performance issues with magic comments since 7.1.0 Sep 21, 2020
@valentjn valentjn added this to the 7.1.2 milestone Sep 21, 2020
@valentjn
Copy link
Owner

Thanks for the report. This is indeed a regression from 7.1.0. The bug is triggered by having multiple languages in one document via magic comments. As far as I can tell, this should not be related to word2vec.

@valentjn valentjn added the 3-fixed Issue resolution: Issue has been fixed on the develop branch label Sep 22, 2020
@valentjn
Copy link
Owner

Fix released in 7.1.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1-bug 🐛 Issue type: Bug report (something isn't working as expected) 2-confirmed Issue status: Confirmed, reproducible bug in LTeX 3-fixed Issue resolution: Issue has been fixed on the develop branch
Projects
None yet
Development

No branches or pull requests

2 participants