SonarQube for IntelliJ: jsonrpc.ResponseErrorException: Internal error

Environment:

  • Java: JetBrains s.r.o. 21.0.6
  • OS: Linux amd64
  • IDE: IntelliJ IDEA 2025.1.1
  • SonarQube for IDE: 10.22.0.81244

Opened a 4th intelliJ project (window). The newly openend project is not bound to sonarlint, so nothing should happen in the plugin?

org.eclipse.lsp4j.jsonrpc.ResponseErrorException: Internal error.
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:220)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:204)
	at o.ss.sl.core.rpc.protocol.SingleThreadedMessageConsumer.lambda$new$0(SingleThreadedMessageConsumer.java:49)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)

sonarlint plugin tool window log tab output:

 [2025-05-12T09:53:47.648] [sonarlint-analysis-scheduler] INFO org.sonar.iac.kubernetes.plugin.SonarLintFileListener - Module file event for MODIFIED for file [uri=file:///mnt/data/workspaces/cluster/product/server/downtime.tracker] has been ignored because it's not a Kubernetes file.
 [2025-05-12T09:54:02.3] [sonarlint-analysis-scheduler] INFO org.sonar.iac.kubernetes.plugin.SonarLintFileListener - Module file event for MODIFIED for file [uri=file:///mnt/data/workspaces/cluster/product/server/downtime.tracker] has been ignored because it's not a Kubernetes file.
 [2025-05-12T09:54:17.307] [sonarlint-analysis-scheduler] INFO org.sonar.iac.kubernetes.plugin.SonarLintFileListener - Module file event for MODIFIED for file [uri=file:///mnt/data/workspaces/cluster/product/server/downtime.tracker] has been ignored because it's not a Kubernetes file.
 [2025-05-12T09:54:32.332] [sonarlint-analysis-scheduler] INFO org.sonar.iac.kubernetes.plugin.SonarLintFileListener - Module file event for MODIFIED for file [uri=file:///mnt/data/workspaces/cluster/product/server/downtime.tracker] has been ignored because it's not a Kubernetes file.
 [2025-05-12T09:54:39.302] [sonarlint-analysis-scheduler] INFO org.sonar.iac.kubernetes.plugin.SonarLintFileListener - Module file event for MODIFIED for file [uri=file:///mnt/data/workspaces/cluster/product/server/downtime.tracker] has been ignored because it's not a Kubernetes file.
 [2025-05-12T09:54:57.059] [sonarlint-analysis-scheduler] INFO org.sonar.iac.kubernetes.plugin.SonarLintFileListener - Module file event for MODIFIED for file [uri=file:///mnt/data/workspaces/cluster/product/server/downtime.tracker] has been ignored because it's not a Kubernetes file.
 [2025-05-12T09:55:12.262] [sonarlint-analysis-scheduler] INFO org.sonar.iac.kubernetes.plugin.SonarLintFileListener - Module file event for MODIFIED for file [uri=file:///mnt/data/workspaces/cluster/product/server/downtime.tracker] has been ignored because it's not a Kubernetes file.
 [2025-05-12T09:55:43.459] [sonarlint-analysis-scheduler] INFO org.sonar.iac.kubernetes.plugin.SonarLintFileListener - Module file event for MODIFIED for file [uri=file:///mnt/data/workspaces/cluster/product/server/downtime.tracker] has been ignored because it's not a Kubernetes file.
 [2025-05-12T09:55:58.464] [sonarlint-analysis-scheduler] INFO org.sonar.iac.kubernetes.plugin.SonarLintFileListener - Module file event for MODIFIED for file [uri=file:///mnt/data/workspaces/cluster/product/server/downtime.tracker] has been ignored because it's not a Kubernetes file.
 [2025-05-12T09:56:13.473] [sonarlint-analysis-scheduler] INFO org.sonar.iac.kubernetes.plugin.SonarLintFileListener - Module file event for MODIFIED for file [uri=file:///mnt/data/workspaces/cluster/product/server/downtime.tracker] has been ignored because it's not a Kubernetes file.

To be honest, it’s a bit concerning that I see logs in this tool window for an intellij project completely unrelated to the openened project.

Is there no separation between multi-project / multi-window IntelliJ instances in the plugin?

Hey @thomas-k-dev, thanks for your feedback on this.

When we have information to log, we usually try to log it as close to the related project as possible. When this is not possible, we rely on global logging, which may affect all the opened projects for your IntelliJ instance, which is probably what happened in your case.

Nonetheless, I think there are scenarios where this could be improved and where we could avoid having global logging. As a result, I created this improvement ticket on our side.

Regarding your error, there should be a more complete stacktrace in the SonarQube for IDE logs.

The newly openend project is not bound to sonarlint, so nothing should happen in the plugin?

Even if your project is not bound, it still communicates with our SLOOP process - SonarLint Out Of Process - which handles all the logic in a separate Java process. The communication is done via JSON-RPC, and this is related to the error you got. So it’s still possible that you may have errors on a fresh project, although this is something unexpected that should be investigated.

I see now that in this project window I didn’t have the verbose logs enabled (only in other projects), so that might be why more info is missing

I believe the actual error should be logged, even if verbose logs were not enabled. This generic Internal error. is definitely annoying and is a limitation of our current implementation.