NullPointerException when opening files or on startup

Eclipse IDE for Enterprise Java and Web Developers (includes Incubating components)
Version: 2024-06 (4.32.0)
Build id: 20240606-1231

SonarLint Console:

Using Java installation of Eclipse
Using JRE from C:\q-drive\eclipse-jee-2021-06-R\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_22.0.1.v20240426-1149\jre
Starting SonarLint for Eclipse 10.4.0.82051
SonarLint backend started, instance=org.sonarsource.sonarlint.core.rpc.impl.SonarLintRpcServerImpl@2421cc4

Started embedded server on port 64120
Can't open directory channel. Log directory fsync won't be performed.
Downloaded plugin list in 412ms
[SYNC] Synchronizing analyzer configuration for project '###'
Downloaded settings in 546ms

[SYNC] Active rules for 'css' are up-to-date
[SYNC] Active rules for 'java' are up-to-date
[SYNC] Active rules for 'js' are up-to-date
[SYNC] Active rules for 'jsp' are up-to-date
[SYNC] Active rules for 'kotlin' are up-to-date
[SYNC] Active rules for 'php' are up-to-date
[SYNC] Active rules for 'py' are up-to-date
[SYNC] Active rules for 'ruby' are up-to-date
[SYNC] Active rules for 'scala' are up-to-date
[SYNC] Active rules for 'secrets' are up-to-date
[SYNC] Active rules for 'ts' are up-to-date
[SYNC] Active rules for 'web' are up-to-date
[SYNC] Active rules for 'xml' are up-to-date

Synchronizing project branches for project '###'
[SYNC] Synchronizing issues for project '###' on branch 'master'
[SYNC] Synchronizing taint issues for project '###' on branch 'master'

Error running task 'Synchronizing projects...'

java.lang.NullPointerException: Cannot invoke "jetbrains.exodus.entitystore.Entity.getProperty(String)" because the return value of "jetbrains.exodus.entitystore.Entity.getLink(String)" is null
at org.sonarsource.sonarlint.core.serverconnection.storage.XodusServerIssueStore.adaptTaint(XodusServerIssueStore.java:231)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:702)
at org.sonarsource.sonarlint.core.serverconnection.storage.XodusServerIssueStore.lambda$loadTaint$6(XodusServerIssueStore.java:334)
at java.base/java.util.Optional.map(Optional.java:260)
at org.sonarsource.sonarlint.core.serverconnection.storage.XodusServerIssueStore.lambda$loadTaint$7(XodusServerIssueStore.java:332)
at jetbrains.exodus.entitystore.PersistentEntityStoreImpl.computeInReadonlyTransaction(PersistentEntityStoreImpl.java:782)
at org.sonarsource.sonarlint.core.serverconnection.storage.XodusServerIssueStore.loadTaint(XodusServerIssueStore.java:331)
at org.sonarsource.sonarlint.core.serverconnection.ServerIssueUpdater.syncTaints(ServerIssueUpdater.java:80)
at org.sonarsource.sonarlint.core.sync.TaintSynchronizationService.updateServerTaintIssuesForProject(TaintSynchronizationService.java:97)
at org.sonarsource.sonarlint.core.sync.TaintSynchronizationService.synchronizeTaintVulnerabilities(TaintSynchronizationService.java:80)
at org.sonarsource.sonarlint.core.sync.SynchronizationService.lambda$synchronizeProjectWithProgress$6(SynchronizationService.java:203)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.sonarsource.sonarlint.core.sync.SynchronizationService.lambda$synchronizeProjectWithProgress$7(SynchronizationService.java:197)
at java.base/java.util.HashMap.forEach(HashMap.java:1429)
at org.sonarsource.sonarlint.core.sync.SynchronizationService.synchronizeProjectWithProgress(SynchronizationService.java:197)
at org.sonarsource.sonarlint.core.sync.SynchronizationService.lambda$synchronizeProjectsOfTheSameConnection$4(SynchronizationService.java:185)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.sonarsource.sonarlint.core.sync.SynchronizationService.synchronizeProjectsOfTheSameConnection(SynchronizationService.java:181)
at org.sonarsource.sonarlint.core.sync.SynchronizationService.lambda$synchronizeProjectsSync$3(SynchronizationService.java:165)
at org.sonarsource.sonarlint.core.progress.TaskManager.startTask(TaskManager.java:61)
at org.sonarsource.sonarlint.core.progress.TaskManager.startTask(TaskManager.java:44)
at org.sonarsource.sonarlint.core.sync.SynchronizationService.synchronizeProjectsSync(SynchronizationService.java:157)
at org.sonarsource.sonarlint.core.sync.SynchronizationService.synchronizeConnectionAndProjectsIfNeededSync(SynchronizationService.java:328)
at org.sonarsource.sonarlint.core.sync.SynchronizationService.lambda$synchronizeConnectionAndProjectsIfNeededAsync$12(SynchronizationService.java:292)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.sonarsource.sonarlint.core.sync.SynchronizationService.lambda$synchronizeConnectionAndProjectsIfNeededAsync$13(SynchronizationService.java:292)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
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:1570)

Hi @y-mishchenko ,

Thank you for the report and apologies for the late reply.

Can you reproduce this issue or was it a one-off? If you can reproduce, could please enable and provide verbose logs?

Best,

Vojtech