Starting SonarLint for Eclipse 11.1.0.82589
Using Java installation of Eclipse
Using JRE from C:\Desarrollo\eclipse\jee-2024-09\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_21.0.6.v20250130-0529\jre
The Java analyzer cannot skip unchanged files in this context. A full analysis is performed for all files.
An error occurred while executing a scheduled task in sonarlint-finding-streamer
java.util.ConcurrentModificationException
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1714)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
at org.sonarsource.sonarlint.core.reporting.FindingReportingService.lambda$triggerStreaming$9(FindingReportingService.java:120)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179)
at java.base/java.util.concurrent.ConcurrentHashMap$EntrySpliterator.forEachRemaining(ConcurrentHashMap.java:3652)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at org.sonarsource.sonarlint.core.reporting.FindingReportingService.triggerStreaming(FindingReportingService.java:121)
at org.sonarsource.sonarlint.core.reporting.FindingReportingService.lambda$getStreamingDebounceAlarm$13(FindingReportingService.java:162)
at org.sonarsource.sonarlint.core.tracking.streaming.Alarm.notifyEnd(Alarm.java:55)
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:1583)
one more question about the freezes you mention: I could sadly not reproduce that, but when you do, can you create a thread dump for that? As it seems to happen for you every time it should be possible.
Additionally, when starting the IDE and editing the first file after a few seconds until it is frozen, can you provide us the full logs (enable all the options), please?
This means, enable all of this, restart the IDE and await for the error to popup and then edit a file and await the freeze. This would help us tremendiously!
thank you for the info. Nevertheless we don’t want this to happen to our users of course!
As you said it is linked to the Eclipse console, you don’t mean the SonarQube Console which is one of the provided consoles by our plug-in?
I am also experiencing the same error message on startup as well as during modifications of java code (source version 17) in Eclipse 2024-12 (4.34.0) in connected mode (SonarQube Server Community Build 25.2.0).
Using Eclipse Temurin 21.0.4 on Windows 11 24H2.
Also, sometimes a different stack trace shows up in SonarQube Console:
Unexpected error occurred in scheduled task
java.lang.ArrayIndexOutOfBoundsException: Index 163 out of bounds for length 0
at java.base/java.util.ImmutableCollections$ListN.get(ImmutableCollections.java:687)
at org.sonarsource.sonarlint.core.tracking.TextRangeUtils.getTextRangeContent(TextRangeUtils.java:107)
at org.sonarsource.sonarlint.core.tracking.TextRangeUtils.computeTextRangeHash(TextRangeUtils.java:74)
at org.sonarsource.sonarlint.core.tracking.TextRangeUtils.getTextRangeWithHash(TextRangeUtils.java:47)
at org.sonarsource.sonarlint.core.tracking.matching.RawIssueFindingMatchingAttributeMapper.getTextRangeHash(RawIssueFindingMatchingAttributeMapper.java:46)
at org.sonarsource.sonarlint.core.tracking.matching.RawIssueFindingMatchingAttributeMapper.getTextRangeHash(RawIssueFindingMatchingAttributeMapper.java:28)
at org.sonarsource.sonarlint.core.tracking.matching.IssueMatcher$LineAndTextRangeHashKey.<init>(IssueMatcher.java:115)
at org.sonarsource.sonarlint.core.tracking.matching.IssueMatcher.match(IssueMatcher.java:86)
at org.sonarsource.sonarlint.core.tracking.matching.IssueMatcher.match(IssueMatcher.java:53)
at org.sonarsource.sonarlint.core.tracking.matching.MatchingSession.matchWithKnownFinding(MatchingSession.java:79)
at org.sonarsource.sonarlint.core.tracking.matching.MatchingSession.matchWithKnownIssue(MatchingSession.java:70)
at org.sonarsource.sonarlint.core.tracking.matching.MatchingSession.matchWithKnownFinding(MatchingSession.java:58)
at org.sonarsource.sonarlint.core.tracking.TrackingService.onIssueDetected(TrackingService.java:119)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:382)
at org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:254)
at org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:173)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:185)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:156)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:454)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:400)
at org.sonarsource.sonarlint.core.analysis.AnalysisService.streamIssue(AnalysisService.java:704)
at org.sonarsource.sonarlint.core.analysis.AnalysisService.lambda$analyze$25(AnalysisService.java:660)
at org.sonarsource.sonarlint.core.analysis.container.analysis.IssueListenerHolder.handle(IssueListenerHolder.java:37)
at org.sonarsource.sonarlint.core.analysis.container.analysis.sensor.SonarLintSensorStorage.store(SonarLintSensorStorage.java:95)
at org.sonarsource.sonarlint.core.analysis.sonarapi.DefaultSonarLintIssue.doSave(DefaultSonarLintIssue.java:194)
at org.sonarsource.sonarlint.core.analysis.sonarapi.DefaultStorable.save(DefaultStorable.java:42)
at org.sonar.java.reporting.JavaIssue.save(JavaIssue.java:99)
at org.sonar.java.SonarComponents.reportIssue(SonarComponents.java:405)
at org.sonar.java.SonarComponents.lambda$reportIssue$5(SonarComponents.java:383)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.sonar.java.SonarComponents.reportIssue(SonarComponents.java:377)
at org.sonar.java.model.DefaultModuleScannerContext.reportIssue(DefaultModuleScannerContext.java:76)
at org.sonar.java.model.DefaultJavaFileScannerContext.reportIssueWithFlow(DefaultJavaFileScannerContext.java:153)
at org.sonar.java.model.DefaultJavaFileScannerContext.reportIssue(DefaultJavaFileScannerContext.java:146)
at org.sonar.java.model.DefaultJavaFileScannerContext.reportIssue(DefaultJavaFileScannerContext.java:101)
at org.sonar.java.checks.ClassVariableVisibilityCheck.visitVariable(ClassVariableVisibilityCheck.java:62)
at org.sonar.java.model.declaration.VariableTreeImpl.accept(VariableTreeImpl.java:141)
at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:37)
at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:31)
at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitClass(BaseTreeVisitor.java:67)
at org.sonar.java.checks.ClassVariableVisibilityCheck.visitClass(ClassVariableVisibilityCheck.java:52)
at org.sonar.java.model.declaration.ClassTreeImpl.accept(ClassTreeImpl.java:239)
at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:37)
at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:31)
at org.sonar.plugins.java.api.tree.BaseTreeVisitor.visitCompilationUnit(BaseTreeVisitor.java:49)
at org.sonar.java.model.JavaTree$CompilationUnitTreeImpl.accept(JavaTree.java:203)
at org.sonar.plugins.java.api.tree.BaseTreeVisitor.scan(BaseTreeVisitor.java:37)
at org.sonar.java.checks.ClassVariableVisibilityCheck.scanFile(ClassVariableVisibilityCheck.java:46)
at org.sonar.java.model.VisitorsBridge.lambda$runScanner$1(VisitorsBridge.java:272)
at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:277)
at org.sonar.java.model.VisitorsBridge.runScanner(VisitorsBridge.java:272)
at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:255)
at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:131)
at org.sonar.java.ast.JavaAstScanner.lambda$scan$0(JavaAstScanner.java:91)
at org.sonar.java.model.JParserConfig$FileByFile.parse(JParserConfig.java:275)
at org.sonar.java.model.JParserConfig$FileByFile.parse(JParserConfig.java:250)
at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:88)
at org.sonar.java.JavaFrontend.scanAndMeasureTask(JavaFrontend.java:407)
at org.sonar.java.JavaFrontend.scan(JavaFrontend.java:159)
at org.sonar.plugins.java.JavaSensor.execute(JavaSensor.java:109)
at org.sonarsource.sonarlint.core.analysis.container.analysis.sensor.SensorsExecutor.executeSensor(SensorsExecutor.java:101)
at org.sonarsource.sonarlint.core.analysis.container.analysis.sensor.SensorsExecutor.executeSensors(SensorsExecutor.java:91)
at org.sonarsource.sonarlint.core.analysis.container.analysis.sensor.SensorsExecutor.execute(SensorsExecutor.java:81)
at org.sonarsource.sonarlint.core.analysis.container.analysis.AnalysisContainer.doAfterStart(AnalysisContainer.java:122)
at org.sonarsource.sonarlint.core.plugin.commons.container.SpringComponentContainer.startComponents(SpringComponentContainer.java:180)
at org.sonarsource.sonarlint.core.plugin.commons.container.SpringComponentContainer.execute(SpringComponentContainer.java:159)
at org.sonarsource.sonarlint.core.analysis.container.module.ModuleContainer.analyze(ModuleContainer.java:75)
at org.sonarsource.sonarlint.core.analysis.command.AnalyzeCommand.doRunAnalysis(AnalyzeCommand.java:80)
at org.sonarsource.sonarlint.core.analysis.command.AnalyzeCommand.lambda$execute$0(AnalyzeCommand.java:61)
at org.sonarsource.sonarlint.core.progress.RpcProgressMonitor.lambda$startTask$0(RpcProgressMonitor.java:44)
at org.sonarsource.sonarlint.core.progress.TaskManager.startTask(TaskManager.java:64)
at org.sonarsource.sonarlint.core.progress.RpcProgressMonitor.startTask(RpcProgressMonitor.java:44)
at org.sonarsource.sonarlint.core.analysis.command.AnalyzeCommand.execute(AnalyzeCommand.java:60)
at org.sonarsource.sonarlint.core.analysis.command.AnalyzeCommand.execute(AnalyzeCommand.java:38)
at org.sonarsource.sonarlint.core.analysis.AnalysisEngine$AsyncCommand.execute(AnalysisEngine.java:147)
at org.sonarsource.sonarlint.core.analysis.AnalysisEngine.executeQueuedCommands(AnalysisEngine.java:71)
at java.base/java.lang.Thread.run(Thread.java:1583)
Also also, it seems picking up java options results in an error being reported:
StdErr: Picked up _JAVA_OPTIONS: -Djava.vendor=Sun