Error: "Address is out of log space", SonarQube for IDE not working at all

I’m trying to use SonarQube for IDE for Eclipse after the latest update, but I’m getting an error almost immediately. I’m programming in Java, running this on Windows 11, for Eclipse version 2024-12 (4.34.0), and version 11.0 of SonarQube for IDE. The error I’m getting is below:

Unexpected error occurred in scheduled task

jetbrains.exodus.log.BlockNotFoundException: Address is out of log space, underflow, address = 52035584, file = 00000001g00.xd
	at jetbrains.exodus.log.BlockNotFoundException.raise(BlockNotFoundException.java:28)
	at jetbrains.exodus.log.Log.readBytes(Log.kt:781)
	at jetbrains.exodus.log.LogCache.readBytes(LogCache.kt:115)
	at jetbrains.exodus.log.LogCache.readFullPage(LogCache.kt:96)
	at jetbrains.exodus.log.SharedLogCache.getPage(SharedLogCache.kt:109)
	at jetbrains.exodus.log.DataIterator.checkPage(DataIterator.java:95)
	at jetbrains.exodus.tree.btree.BTreeBase.getDataIterator(BTreeBase.java:98)
	at jetbrains.exodus.tree.btree.BTreeBase.getLoggable(BTreeBase.java:123)
	at jetbrains.exodus.tree.btree.BTreeBase.compareLeafToKey(BTreeBase.java:182)
	at jetbrains.exodus.tree.btree.BasePageImmutable.binarySearch(BasePageImmutable.java:194)
	at jetbrains.exodus.tree.btree.BasePageImmutable.binarySearch(BasePageImmutable.java:141)
	at jetbrains.exodus.tree.btree.BottomPage.find(BottomPage.java:163)
	at jetbrains.exodus.tree.btree.BottomPage.find(BottomPage.java:62)
	at jetbrains.exodus.tree.btree.BTreeTraverser.doMoveTo(BTreeTraverser.java:231)
	at jetbrains.exodus.tree.btree.BTreeTraverser.moveTo(BTreeTraverser.java:220)
	at jetbrains.exodus.tree.TreeCursor.moveTo(TreeCursor.java:187)
	at jetbrains.exodus.tree.TreeCursor.getSearchKey(TreeCursor.java:143)
	at jetbrains.exodus.env.CursorImpl.getSearchKey(CursorImpl.java:104)
	at jetbrains.exodus.entitystore.iterate.PropertyValueIterable$PropertyValueIterator.<init>(PropertyValueIterable.kt:163)
	at jetbrains.exodus.entitystore.iterate.PropertyValueIterable.getIteratorImpl(PropertyValueIterable.kt:71)
	at jetbrains.exodus.entitystore.iterate.PropertyValueIterable.getIteratorImpl(PropertyValueIterable.kt:25)
	at jetbrains.exodus.entitystore.iterate.EntityIterableBase.iterator(EntityIterableBase.java:136)
	at jetbrains.exodus.entitystore.iterate.EntityIterableBase.iterator(EntityIterableBase.java:32)
	at java.base/java.lang.Iterable.spliterator(Iterable.java:101)
	at org.sonarsource.sonarlint.core.tracking.XodusKnownFindingsStore.findUniqueAmong(XodusKnownFindingsStore.java:171)
	at org.sonarsource.sonarlint.core.tracking.XodusKnownFindingsStore.findUnique(XodusKnownFindingsStore.java:167)
	at org.sonarsource.sonarlint.core.tracking.XodusKnownFindingsStore.lambda$loadFindingsForFile$5(XodusKnownFindingsStore.java:111)
	at jetbrains.exodus.entitystore.PersistentEntityStoreImpl.computeInReadonlyTransaction(PersistentEntityStoreImpl.java:782)
	at org.sonarsource.sonarlint.core.tracking.XodusKnownFindingsStore.loadFindingsForFile(XodusKnownFindingsStore.java:111)
	at org.sonarsource.sonarlint.core.tracking.XodusKnownFindingsStore.loadIssuesForFile(XodusKnownFindingsStore.java:103)
	at org.sonarsource.sonarlint.core.tracking.TrackingService.lambda$startMatchingSession$10(TrackingService.java:258)
	at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:180)
	at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
	at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1715)
	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.tracking.TrackingService.startMatchingSession(TrackingService.java:258)
	at org.sonarsource.sonarlint.core.tracking.TrackingService.onAnalysisStarted(TrackingService.java:101)
	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.analyze(AnalysisService.java:657)
	at org.sonarsource.sonarlint.core.rpc.impl.AnalysisRpcServiceDelegate.lambda$analyzeFilesAndTrack$7(AnalysisRpcServiceDelegate.java:131)
	at org.sonarsource.sonarlint.core.rpc.impl.AbstractRpcServiceDelegate.lambda$requestAsync$0(AbstractRpcServiceDelegate.java:67)
	at org.sonarsource.sonarlint.core.rpc.impl.AbstractRpcServiceDelegate.computeWithLogger(AbstractRpcServiceDelegate.java:135)
	at org.sonarsource.sonarlint.core.rpc.impl.AbstractRpcServiceDelegate.lambda$requestAsync$1(AbstractRpcServiceDelegate.java:65)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
	at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
	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)

Address is out of log space, underflow, address = 52035584, file = 00000001g00.xd

I have the exact same problem after updating a couple of minutes ago.
Eclipse version 2024-09 (4.33.0).

After closing and reopening Eclipse, no more errors appear in the console, but SonarQube for IDE also appears to be disabled. No scanning, no warnings, no nothing.

What I ended up doing was rename the .sonarlint directory in my workspace to a garbage value, restart eclipse, and let it regenerate a new one. That seemed to fix things for me.

1 Like

I can confirm that this fixes the problem!

1 Like

Hello,

Thanks for reporting. What you did is indeed a valid workaround, but I’m surprised you faced the same problem at the same time when updating. I will have a closer look

2 Likes

Hello,

We were not able to reproduce the problem. What I suspect is that you had the problem before making the update, but the error was silent. With the update, we made a few changes to make this kind of errors more visible, with a small notification. So I guess your storage was already corrupted, it just went unnoticed until this update.

Why the storage got corrupted in the first place is another question. We are discussing limitations with the current technology, so it might change in the future.

Hope this helps

1 Like