Eclipse: Fetch server taint issues for <myProject>

Operating system: Windows 10
SonarLint plugin version: 9.2.0.81471
Eclipse IDE: 2023-12 (4.30.0) Build id: 20231201-2043
Programming language: Java
Connected to SonarQube Version 8.9 (build 43852)

Problem:
When I change my own java code in my Eclipse IDE, sometimes I see “User Operation is Waiting” popup window for 5-10-20 seconds (it’s a little bit annoying). The window has “SonarLint processing file…” and “Fetch server taint issues for…” messages, see screenshot:

If I click on the red circle Cancel button, I see the following stacktrace in the logs:

java.util.concurrent.CancellationException
at java.base/java.util.concurrent.CompletableFuture.cancel(CompletableFuture.java:2478)
at org.sonarlint.eclipse.core.internal.utils.JobUtils.waitForFuture(JobUtils.java:56)
at org.sonarlint.eclipse.core.internal.tracking.ProjectIssueTracker.trackWithServerIssues(ProjectIssueTracker.java:148)
at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob$ServerIssueTrackingAndMarkerUpdateJob.run(AnalyzeConnectedProjectJob.java:116)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Could you please suggest how to solve this issue?

Hi @yuriypalych,

thanks for raising the issue. I’m assuming R91.fuf is a Java project?

Could you provide me with the SonarLint logs? I’m assuming there might be some form of either race condition or the connection to the server is not working smoothly as there are multiple jobs for fetching the Taint Vulnerabilities for example. The logs can be enabled as described HERE.

Best,
Tobias

Hi @tobias.hahnen

I’m assuming R91.fuf is a Java project?

Yes, this is my Java project name.

Could you provide me with the SonarLint logs?

I activated SonarLint console logs as suggested and found NoSuchFileException in the logs (see the stacktrace below). I’ve removed eclipse-workspace.sonarlint folder completely, restarted the Eclipse and reconfigured my SonarLint bindings. At the moment I cannot reproduce the issue. I will update this ticket if the issue occurs again.

Many thanks.

org.sonarsource.sonarlint.core.serverconnection.storage.StorageException: Failed to read file: C:\java\eclipse-workspace\.sonarlint\storage\736f6e61722d746573742e6e6574637261636b65722e636f6d\projects\5377697373636f6d20536f6e61725175626520536572766572\analyzer_config.pb
	at org.sonarsource.sonarlint.core.serverconnection.storage.ProtobufFileUtil.readFile(ProtobufFileUtil.java:37)
	at org.sonarsource.sonarlint.core.serverconnection.AnalyzerConfigurationStorage.readConfiguration(AnalyzerConfigurationStorage.java:72)
	at org.sonarsource.sonarlint.core.serverconnection.AnalyzerConfigurationStorage.lambda$read$1(AnalyzerConfigurationStorage.java:53)
	at org.sonarsource.sonarlint.core.serverconnection.storage.RWLock.read(RWLock.java:32)
	at org.sonarsource.sonarlint.core.serverconnection.AnalyzerConfigurationStorage.read(AnalyzerConfigurationStorage.java:53)
	at org.sonarsource.sonarlint.core.serverconnection.ServerConnection.getAnalyzerConfiguration(ServerConnection.java:91)
	at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.analyze(ConnectedSonarLintEngineImpl.java:218)
	at org.sonarlint.eclipse.core.internal.engine.connected.ConnectedEngineFacade.lambda$0(ConnectedEngineFacade.java:223)
	at org.sonarlint.eclipse.core.internal.engine.connected.ConnectedEngineFacade.withEngine(ConnectedEngineFacade.java:127)
	at org.sonarlint.eclipse.core.internal.engine.connected.ConnectedEngineFacade.runAnalysis(ConnectedEngineFacade.java:222)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:72)
	at org.sonarlint.eclipse.core.internal.jobs.AnalyzeConnectedProjectJob.runAnalysis(AnalyzeConnectedProjectJob.java:1)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.run(AbstractAnalyzeProjectJob.java:441)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.runAnalysisAndUpdateMarkers(AbstractAnalyzeProjectJob.java:220)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractAnalyzeProjectJob.doRun(AbstractAnalyzeProjectJob.java:164)
	at org.sonarlint.eclipse.core.internal.jobs.AbstractSonarJob.run(AbstractSonarJob.java:37)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.nio.file.NoSuchFileException: C:\java\eclipse-workspace\.sonarlint\storage\736f6e61722d746573742e6e6574637261636b65722e636f6d\projects\5377697373636f6d20536f6e61725175626520536572766572\analyzer_config.pb
	at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
	at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:236)
	at java.base/java.nio.file.Files.newByteChannel(Files.java:380)
	at java.base/java.nio.file.Files.newByteChannel(Files.java:432)
	at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:422)
	at java.base/java.nio.file.Files.newInputStream(Files.java:160)
	at org.sonarsource.sonarlint.core.serverconnection.storage.ProtobufFileUtil.readFile(ProtobufFileUtil.java:34)
	... 16 more

Hi @yuriypalych,

thanks for the logs. The issue is already known (from the initial thread comment I just wasn’t quite sure) and linked to THIS ticket. It will be tackled in the near future.

Best,
Tobias