-
-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Describe the bug
An exception is thrown complaining about too many non-blocking reads during startup that the IDE attributes to the Material Theme UI plugin.
This may also prevent the IDE from fully loading themes/modules and/or corrupts the project settings. After the issue occurred, I had to re-import all modules in one of the projects to view the source code again. That may not be caused by the plugin though, the first time it happened I also ran out of heap memory, which could have been the main culprit for those effects.
To Reproduce
- Ensure
Appearance & Behavior > System Settings > Reopen projects on startupis checked (May need to also checkOpen project in: New window, unsure if that matters or not) - Open multiple projects in IntelliJ. I had 3 open at once. (Unknown if the size of the project contributes to the issue, in my case they are all fairly large with 6-9 modules each, ~8000-12000 total files per project)
- Restart IntelliJ in a manner that causes it to try to reopen the last opened project(s), e.g. using
File > Invalidate Caches... > Just Restart
I did not see this behavior occur when only opening any single project from that set, only when IntelliJ tried to open them all together. It consistently attributed the exception to Material Theme UI each time.
It may matter that I have custom text set in my title bar, since I see a reference to that in the stack trace. I use the following custom text: {project} ❯ {subProject} ❯ {file}
Expected behavior
Obviously, these are some pretty big projects with a lot of files, so I'm not expecting things to work perfectly, or even very quickly, but it probably shouldn't be throwing exceptions if there is a way to avoid it.
Material Theme Version
10.10.0
IDE
IntelliJ IDEA
System Info
IntelliJ IDEA 2025.3.3
Build #IU-253.31033.145, built on February 20, 2026
Source revision: 212d61deaf3a8
Licensed to <User>
Subscription is active until May 26, 2026.
Runtime version: 21.0.10+7-b1163.108 aarch64 (JCEF 137.0.17)
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.lwawt.macosx.LWCToolkit
macOS 26.3
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 15360M
Cores: 16
Metal Rendering is ON
Registry:
ide.balloon.shadow.size=0
vcs.log.index.enable=true
ide.new.editor.tabs.vertical.borders=true
new.search.everywhere.font.size.delta=4
ide.animate.toolwindows=true
ide.experimental.ui=true
ide.editor.tab.selection.animation=true
ide.colorful.toolbar.gradient.radius=2000
idea.islands.color.gradient.enabled=true
maven.packagesearch.enabled=false
Non-Bundled Plugins:
Batch Scripts Support (1.0.13)
IdeaVIM (2.30.0)
com.joshestein.ideavim-quickscope (1.0.13)
com.jetbrains.jax.ws (253.28294.251)
Statistic (5.2)
String Manipulation (9.16.0)
io.github.xiaopihai7256 (0.5.0)
ru.artyushov (1.6.0)
eu.theblob42.idea.whichkey (0.11.2)
com.github.lonre.gruvbox-intellij-theme (0.6.3)
com.intellij.javaee.ejb (253.28294.251)
com.chylex.intellij.inspectionlens (1.6.1)
com.github.lohni.gruvboxnr (1.5.0)
com.chrisrm.idea.MaterialThemeUI (10.10.0)
com.github.ArtsiomCh.NestedBracketsColorer (0.7.2)
com.github.catppuccin.jetbrains_icons (1.13.1)
zielu.gitworktree (1.1.2+252)
zielu.gittoolbox (600.2.3+253)
Kotlin: 253.31033.145-IJLogs/Screenshots
java.lang.Throwable: Too many non-blocking read actions submitted at once. Please use coalesceBy, BoundedTaskExecutor or another way of limiting the number of concurrently running threads.: 11 with similar stack traces are currently active
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:375)
at com.intellij.openapi.application.impl.SubmissionTracker.preventTooManySubmissions(SubmissionTracker.java:47)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.<init>(NonBlockingReadActionImpl.java:327)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl.submit(NonBlockingReadActionImpl.java:271)
at com.mallowigi.idea.projectframe.MTTitleFrameUtils.getProjectFrameTextAsync(MTTitleFrameUtils.kt:78)
at com.mallowigi.idea.projectframe.MTTitleFrameWidget.updatePresentationFromFile(MTTitleFrameWidget.kt:65)
at com.mallowigi.idea.projectframe.MTTitleFrameWidget.update(MTTitleFrameWidget.kt:51)
at com.intellij.openapi.actionSystem.ex.ActionUtil.updateAction$lambda$0(ActionUtil.kt:263)
at com.intellij.openapi.actionSystem.ex.ActionUtil.updateAction(ActionUtil.kt:271)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$updateAction$result$1$1$1.invoke(ActionUpdater.kt:528)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$updateAction$result$1$1$1.invoke(ActionUpdater.kt:527)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$callAction$2$1.invoke(ActionUpdater.kt:147)
at com.intellij.openapi.application.rw.InternalReadAction.insideReadAction(InternalReadAction.kt:111)
at com.intellij.openapi.application.rw.InternalReadAction.tryReadCancellable$lambda$0(InternalReadAction.kt:101)
at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal$lambda$0$0$0(cancellableReadAction.kt:32)
at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.tryRunReadAction(NestedLocksThreadingSupport.kt:901)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1237)
at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal$lambda$0$0(cancellableReadAction.kt:30)
at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:73)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:152)
at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal$lambda$0(cancellableReadAction.kt:28)
at com.intellij.concurrency.ThreadContext.installThreadContext(threadContext.kt:305)
at com.intellij.concurrency.ThreadContext.installThreadContext$default(threadContext.kt:303)
at com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal(cancellableReadAction.kt:24)
at com.intellij.openapi.application.rw.InternalReadAction.tryReadCancellable(InternalReadAction.kt:100)
at com.intellij.openapi.application.rw.InternalReadAction.tryReadAction(InternalReadAction.kt:86)
at com.intellij.openapi.application.rw.InternalReadAction.readLoop(InternalReadAction.kt:73)
at com.intellij.openapi.application.rw.InternalReadAction.access$readLoop(InternalReadAction.kt:15)
at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invokeSuspend(InternalReadAction.kt:35)
at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invoke(InternalReadAction.kt)
at com.intellij.openapi.application.rw.InternalReadAction$runReadAction$3.invoke(InternalReadAction.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:44)
at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:285)
at com.intellij.openapi.application.rw.InternalReadAction.runReadAction(InternalReadAction.kt:34)
at com.intellij.openapi.application.rw.PlatformReadWriteActionSupport.executeReadAction(PlatformReadWriteActionSupport.kt:66)
at com.intellij.openapi.application.ReadWriteActionSupport.executeReadAction$default(ReadWriteActionSupport.kt:15)
at com.intellij.openapi.application.CoroutinesKt.constrainedReadActionUndispatched(coroutines.kt:84)
at com.intellij.openapi.application.CoroutinesKt.readActionUndispatched(coroutines.kt:71)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$callAction$$inlined$useWithScope$1.invokeSuspend(trace.kt:114)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$callAction$$inlined$useWithScope$1.invoke(trace.kt)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$callAction$$inlined$useWithScope$1.invoke(trace.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:44)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:166)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.kt:925)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.access$callAction(ActionUpdater.kt:77)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$updateAction$result$1$1.invokeSuspend(ActionUpdater.kt:527)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$updateAction$result$1$1.invoke(ActionUpdater.kt)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$updateAction$result$1$1.invoke(ActionUpdater.kt)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$updateAction$$inlined$retryOnAwaitSharedData$1.invokeSuspend(ActionUpdater.kt:924)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$updateAction$$inlined$retryOnAwaitSharedData$1.invoke(ActionUpdater.kt)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$updateAction$$inlined$retryOnAwaitSharedData$1.invoke(ActionUpdater.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:44)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:166)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.updateAction(ActionUpdater.kt:978)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.kt:369)
at com.intellij.openapi.actionSystem.impl.ActionUpdater.access$expandGroupChild(ActionUpdater.kt:77)
at com.intellij.openapi.actionSystem.impl.ActionUpdater$doExpandActionGroup$2$expandResult$1$1.invokeSuspend(ActionUpdater.kt:288)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:610)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runDefaultDispatcherTask(CoroutineScheduler.kt:1194)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:906)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:775)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:762)