Please provide
- Operating system: Ubuntu 20.04 LTS
- SonarQube for VS Code plugin version: 4.25.1
- VS Code version: 1.101.2
- Programming language you’re coding in: PHP
- Is connected mode used: no
And a thorough description of the problem / question:
This exception occurs when I save the file:
2025-07-04 12:28:49.086 [info] [Error - 12:28:49.085] [sonarlint : SonarLint Client RPC sequential executor] java.lang.IllegalStateException: Duplicate key 4a32e1a6-5070-4666-9da0-47d64fcba2ca (attempted merging values org.sonarsource.sonarlint.ls.connected.DelegatingIssue@36dd15fc and org.sonarsource.sonarlint.ls.connected.DelegatingIssue@4d471db7)
at java.base/java.util.stream.Collectors.duplicateKeyException(Unknown Source)
at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Unknown Source)
at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source)
at java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source)
at org.sonarsource.sonarlint.ls.IssuesCache.lambda$reportIssues$3(IssuesCache.java:50)
at java.base/java.util.HashMap.forEach(Unknown Source)
at org.sonarsource.sonarlint.ls.IssuesCache.reportIssues(IssuesCache.java:45)
at org.sonarsource.sonarlint.ls.AnalysisHelper.handleIssues(AnalysisHelper.java:102)
at org.sonarsource.sonarlint.ls.clientapi.SonarLintVSCodeClient.raiseIssues(SonarLintVSCodeClient.java:629)
at org.sonarsource.sonarlint.core.rpc.client.SonarLintRpcClientImpl.lambda$raiseIssues$34(SonarLintRpcClientImpl.java:363)
at org.sonarsource.sonarlint.core.rpc.client.SonarLintRpcClientImpl.lambda$notify$4(SonarLintRpcClientImpl.java:150)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
When I downgrade the plugin it works as intended (i.e 4.11.1
as I read in this issue)