[JetBrains] Sidebar panel frequently freezes across all OS'
Before submitting your bug report
- [x] I've tried using the "Ask AI" feature on the Continue docs site to see if the docs have an answer
- [x] I believe this is a bug. I'll try to join the Continue Discord for questions
- [x] I'm not able to find an open issue that reports the same bug
- [x] I've seen the troubleshooting guide on the Continue Docs
Relevant environment info
- OS:
- Continue version:1.0.46, has affected many previous versions
- IDE version: IntelliJ IDEA 2025.2.1 (Ultimate Edition), has affected many previous versions
- Model: Claude, but any.
Description
IntelliJ crashes about 3-4 times a day on a set of Mac / PC endpoints.
Window in IJ freezes, like so:
No keyboard / mouse input to Continue until IJ is restarted fully (not just individual window)
To reproduce
No response
Log output
No log output
@sestinj / @RomneyDa - This seems to have been affecting quite a lot of people for some time. Any ideas what might be causing this? Persists across windows / mac / WSL-g
My Team is also massively affected by this on Windows
IntelliJ IDEA 2025.2.3 (Ultimate Edition) -- but also on various other versions
Continue 1.0.46 -- but also on previous versions
Windows 11 (Build 22631.5909)
Restarting ide about 20 times in a day: PhpStorm 2025.2.3 macOs 15.7 ome times hangs in minutes and some times working hours without issues
@bdavj @Hakenadu @pedroll thank for reporting this. It does seem to be affecting many users. Could you provider more details as to when and how it happens? Does it gradually get slower? Does it suddenly lock up a few times a day? Does it only happen when using e.g. autocomplete or chat?
Any details helping us debug this would be greatly appreciated!
Hi @RomneyDa - it's often when I'm not using it - I'll come back to It and UI elements will be the wrong size, or missing, and it's not responding to any input. I'd say at lease 3x a day, regardless of how much or little it's used.
@RomneyDa Thank you for looking into this issue. At the moment, it causes many of our users to switch from IntelliJ to VSCode just to use the agent mode, before returning to IntelliJ to continue their work.
at this very moment my IDE looks like this (versions as mentioned in my previous message)
However, I have also experienced the IDE freezing in other UI states. It feels as if a UI thread is simply hanging.
There is nothing relevant in core.log and nothing in prompt.log at the time the issues occur.
There are some IntelliJ logs however that occurred before that could be related to this behaviour:
this one
java.lang.NullPointerException: Cannot read field "isNull" because "robj" is null at jcef/com.jetbrains.cef.remote.router.RemoteMessageRouterImpl.create(RemoteMessageRouterImpl.java:38) at jcef/com.jetbrains.cef.remote.router.RemoteMessageRouter.lambda$new$4(RemoteMessageRouter.java:65) at jcef/com.jetbrains.cef.remote.CefServer.onConnected(CefServer.java:122) at jcef/com.jetbrains.cef.remote.router.RemoteMessageRouter.<init>(RemoteMessageRouter.java:63) at jcef/org.cef.browser.CefMessageRouter.create(CefMessageRouter.java:219) at jcef/org.cef.browser.CefMessageRouter.create(CefMessageRouter.java:203) at com.intellij.ui.jcef.JBCefApp.createMessageRouter(JBCefApp.java:503) at com.intellij.ui.jcef.JBCefJSQuery$JSQueryFunc.<init>(JBCefJSQuery.java:246) at com.intellij.ui.jcef.JBCefJSQuery$JSQueryFunc.<init>(JBCefJSQuery.java:236) at com.intellij.ui.jcef.JBCefJSQuery.lambda$create$0(JBCefJSQuery.java:56) at com.intellij.ui.jcef.JBCefJSQuery.create(JBCefJSQuery.java:70) at com.intellij.ui.jcef.JBCefBrowserJsCall.createQueryWithinScope(JBCefBrowserJsCall.kt:167) at com.intellij.ui.jcef.JBCefBrowserJsCall.createResultHandlerQueryWithinScope(JBCefBrowserJsCall.kt:152) at com.intellij.ui.jcef.JBCefBrowserJsCall.invoke(JBCefBrowserJsCall.kt:135) at com.intellij.ui.jcef.JBCefBrowserJsCallKt.executeJavaScriptAsync(JBCefBrowserJsCall.kt:58) at com.github.continuedev.continueintellijextension.browser.ContinueBrowser.sendToWebview(ContinueBrowser.kt:88) at com.github.continuedev.continueintellijextension.continue.CoreMessenger.handleMessage(CoreMessenger.kt:60) at com.github.continuedev.continueintellijextension.continue.CoreMessenger.access$handleMessage(CoreMessenger.kt:17) at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41) at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41) at com.github.continuedev.continueintellijextension.continue.process.ContinueProcessHandler$1.invokeSuspend(ContinueProcessHandler.kt:33) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:130) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:613) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:1183) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:778) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:765)
and this one
2025-10-14 10:40:34,175 [5473396] WARN - #c.i.u.j.JBCefClient - JavaScript query pool is over [size: 200] java.lang.Throwable at com.intellij.ui.jcef.JBCefClient$JSQueryPool.useFreeSlot(JBCefClient.java:194) at com.intellij.ui.jcef.JBCefJSQuery.create(JBCefJSQuery.java:63) at com.intellij.ui.jcef.JBCefBrowserJsCall.createQueryWithinScope(JBCefBrowserJsCall.kt:167) at com.intellij.ui.jcef.JBCefBrowserJsCall.createResultHandlerQueryWithinScope(JBCefBrowserJsCall.kt:152) at com.intellij.ui.jcef.JBCefBrowserJsCall.invoke(JBCefBrowserJsCall.kt:135) at com.intellij.ui.jcef.JBCefBrowserJsCallKt.executeJavaScriptAsync(JBCefBrowserJsCall.kt:58) at com.github.continuedev.continueintellijextension.browser.ContinueBrowser.sendToWebview(ContinueBrowser.kt:88) at com.github.continuedev.continueintellijextension.continue.CoreMessenger.handleMessage(CoreMessenger.kt:60) at com.github.continuedev.continueintellijextension.continue.CoreMessenger.access$handleMessage(CoreMessenger.kt:17) at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41) at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41) at com.github.continuedev.continueintellijextension.continue.process.ContinueProcessHandler$1.invokeSuspend(ContinueProcessHandler.kt:33) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:130) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:613) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:1183) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:778) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:765) 2025-10-14 10:40:34,176 [5473397] WARN - #c.i.u.j.JBCefJSQuery - Set the property JBCefClient.Properties.JS_QUERY_POOL_SIZE to use JBCefJSQuery after the browser has been created java.lang.IllegalStateException at com.intellij.ui.jcef.JBCefJSQuery.create(JBCefJSQuery.java:66) at com.intellij.ui.jcef.JBCefBrowserJsCall.createQueryWithinScope(JBCefBrowserJsCall.kt:167) at com.intellij.ui.jcef.JBCefBrowserJsCall.createResultHandlerQueryWithinScope(JBCefBrowserJsCall.kt:152) at com.intellij.ui.jcef.JBCefBrowserJsCall.invoke(JBCefBrowserJsCall.kt:135) at com.intellij.ui.jcef.JBCefBrowserJsCallKt.executeJavaScriptAsync(JBCefBrowserJsCall.kt:58) at com.github.continuedev.continueintellijextension.browser.ContinueBrowser.sendToWebview(ContinueBrowser.kt:88) at com.github.continuedev.continueintellijextension.continue.CoreMessenger.handleMessage(CoreMessenger.kt:60) at com.github.continuedev.continueintellijextension.continue.CoreMessenger.access$handleMessage(CoreMessenger.kt:17) at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41) at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41) at com.github.continuedev.continueintellijextension.continue.process.ContinueProcessHandler$1.invokeSuspend(ContinueProcessHandler.kt:33) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:130) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:613) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:1183) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:778) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:765)
I'll take a look in the logfiles again on the next crash
@RomneyDa already crashed again
I opened the chat window, let the IDE running in the background for some time and this is the result:
which looks totally fine on the screenshot but none of the controls are clickable the chat window is completely unresponsive.
again nothing interesting in the continue logs but in the intellij logs i can find the following error:
java.lang.IllegalStateException: Failed to execute the requested JS expression. The related JCEF browser in not initialized. at com.intellij.ui.jcef.JBCefBrowserJsCall.invoke(JBCefBrowserJsCall.kt:113) at com.intellij.ui.jcef.JBCefBrowserJsCallKt.executeJavaScriptAsync(JBCefBrowserJsCall.kt:58) at com.github.continuedev.continueintellijextension.browser.ContinueBrowser.sendToWebview(ContinueBrowser.kt:88) at com.github.continuedev.continueintellijextension.continue.CoreMessenger.handleMessage(CoreMessenger.kt:60) at com.github.continuedev.continueintellijextension.continue.CoreMessenger.access$handleMessage(CoreMessenger.kt:17) at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41) at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41) at com.github.continuedev.continueintellijextension.continue.process.ContinueProcessHandler$1.invokeSuspend(ContinueProcessHandler.kt:33) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:130) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:613) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:1183) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:778) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:765)
@RomneyDa I can reproduce the error on my device.
Case 1
13:23 Start IntelliJ with Continue Chat Window -> minimize IntelliJ with Chat Window opened 13:26 Maximize IntelliJ again -> Continue Chat is frozen
2025-10-14 13:23:10,374 [ 12206] INFO - STDERR - JCEF_I(23:10:373): Found free tcp-port 6188 for server.
2025-10-14 13:23:10,374 [ 12206] INFO - STDERR - JCEF_I(23:10:374): Found free tcp-port 6189 for java-handlers.
2025-10-14 13:23:10,389 [ 12221] INFO - STDERR - JCEF_V(23:10:385): Created CefServer instance. Transport port=6188 (backward port=6189). Params:
2025-10-14 13:23:10,389 [ 12221] INFO - STDERR - [--disable-features=SpareRendererForSitePerProcess, --disable-gpu-process-crash-limit, --proxy-server=censored, --disable-component-update, --autoplay-policy=no-user-gesture-required]| log_file=C:\Users\censored\AppData\Local\JetBrains\IntelliJIdea2025.2\log\jcef_1548.log, log_severity=LOGSEVERITY_DISABLE
2025-10-14 13:23:10,432 [ 12264] WARN - ContinueBrowser - Failed to execute the requested JS expression. The related JCEF browser in not initialized.
java.lang.IllegalStateException: Failed to execute the requested JS expression. The related JCEF browser in not initialized.
at com.intellij.ui.jcef.JBCefBrowserJsCall.invoke(JBCefBrowserJsCall.kt:113)
at com.intellij.ui.jcef.JBCefBrowserJsCallKt.executeJavaScriptAsync(JBCefBrowserJsCall.kt:58)
at com.github.continuedev.continueintellijextension.browser.ContinueBrowser.sendToWebview(ContinueBrowser.kt:88)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger.handleMessage(CoreMessenger.kt:60)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger.access$handleMessage(CoreMessenger.kt:17)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41)
at com.github.continuedev.continueintellijextension.continue.process.ContinueProcessHandler$1.invokeSuspend(ContinueProcessHandler.kt:33)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:130)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:613)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:1183)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:778)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:765)
Case 2
13:30 Start IntelliJ with Continue Chat Window -> minimize IntelliJ with Chat Window opened 13:33 Maximize IntelliJ again -> Continue Chat is frozen
2025-10-14 13:30:16,080 [ 11457] WARN - ContinueBrowser - Failed to execute the requested JS expression. The related JCEF browser in not initialized.
java.lang.IllegalStateException: Failed to execute the requested JS expression. The related JCEF browser in not initialized.
at com.intellij.ui.jcef.JBCefBrowserJsCall.invoke(JBCefBrowserJsCall.kt:113)
at com.intellij.ui.jcef.JBCefBrowserJsCallKt.executeJavaScriptAsync(JBCefBrowserJsCall.kt:58)
at com.github.continuedev.continueintellijextension.browser.ContinueBrowser.sendToWebview(ContinueBrowser.kt:88)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger.handleMessage(CoreMessenger.kt:60)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger.access$handleMessage(CoreMessenger.kt:17)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:41)
at com.github.continuedev.continueintellijextension.continue.process.ContinueProcessHandler$1.invokeSuspend(ContinueProcessHandler.kt:33)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.SoftLimitedDispatcher$Worker.run(SoftLimitedDispatcher.kt:130)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:613)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:1183)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:778)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:765)
so this could be related to IntelliJ being minimized (even for a short time)
I also noticed another error in the logs on both occasions. It appears to be related to a group policy on my device. While I believe this issue may not be connected, I’m including it here just in case it’s relevant.
org.jvnet.winp.WinpException: java.io.IOException: Cannot run program "C:\Users\user\AppData\Local\JetBrains\IntelliJIdea2025.2\tmp\sendctrlc.x64.B02191CB70385B094C410A8C27775ABA.exe": CreateProcess error=1260, Dieses Programm wurde durch eine Gruppenrichtlinie geblockt. Wenden Sie sich an den Systemadministrator, um weitere Informationen zu erhalten
at org.jvnet.winp.CtrlCSender.sendCtrlC(CtrlCSender.java:21)
at org.jvnet.winp.Native.sendCtrlC(Native.java:105)
at org.jvnet.winp.WinProcess.sendCtrlC(WinProcess.java:86)
at com.intellij.execution.process.LocalProcessServiceImpl.sendWinProcessCtrlC(LocalProcessServiceImpl.kt:77)
at com.intellij.execution.process.LocalProcessServiceImpl.sendWinProcessCtrlC(LocalProcessServiceImpl.kt:69)
at com.intellij.execution.process.WinProcessTerminator.terminateWinProcessGracefully$lambda$0(WinProcessTerminator.kt:30)
at com.intellij.execution.process.WinProcessTerminator.terminateWinProcessGracefully(WinProcessTerminator.kt:48)
at com.intellij.execution.process.WinProcessTerminator.terminateWinProcessGracefully$default(WinProcessTerminator.kt:26)
at com.intellij.execution.process.WinProcessTerminator.terminateWinProcessGracefully(WinProcessTerminator.kt)
at com.intellij.execution.process.KillableProcessHandler.destroyProcessGracefully(KillableProcessHandler.java:181)
at com.intellij.execution.process.KillableProcessHandler.doDestroyProcess(KillableProcessHandler.java:123)
at com.intellij.execution.process.KillableProcessHandler.destroyProcessImpl(KillableProcessHandler.java:111)
at com.intellij.execution.process.ProcessHandler.lambda$destroyProcess$0(ProcessHandler.java:127)
at com.intellij.execution.process.ProcessHandler$TasksRunner.execute(ProcessHandler.java:325)
at com.intellij.execution.process.ProcessHandler.destroyProcess(ProcessHandler.java:124)
at com.intellij.execution.process.ScriptRunnerUtil.terminateProcessHandler(ScriptRunnerUtil.java:244)
at com.intellij.lang.javascript.service.JSLanguageServiceExecutorImpl.doDispose$lambda$7$lambda$6$lambda$4(JSLanguageServiceExecutorImpl.kt:303)
at com.intellij.lang.javascript.service.JSLanguageServiceTracerUtilKt.withServiceTraceSpan(JSLanguageServiceTracerUtil.kt:42)
at com.intellij.lang.javascript.service.JSLanguageServiceTracerUtilKt.withServiceTraceSpan$default(JSLanguageServiceTracerUtil.kt:39)
at com.intellij.lang.javascript.service.JSLanguageServiceExecutorImpl.doDispose$lambda$7(JSLanguageServiceExecutorImpl.kt:302)
at java.base/java.util.concurrent.CompletableFuture$UniRun.tryFire(CompletableFuture.java:787)
at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:167)
at com.intellij.util.concurrency.ChildContext$runInChildContext$1.invoke(propagation.kt:167)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:173)
at com.intellij.util.concurrency.ChildContext.runInChildContext(propagation.kt:167)
at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:27)
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.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:735)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:732)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:732)
at java.base/java.lang.Thread.run(Thread.java:1583)
I can add the following:
I use Continue with OpenRouter and have to restart the IDE almost every 10 minutes because Continue freezes and no longer accepts user input. The error pattern is exactly the same as @bdavj's. This happens in both Agent Mode and Plan Mode. I use Jetbrains Rider on Windows 11. Autocomplete is disabled and only Chat-Window is used.
Thanks for all the detailed reports here @friefa @Hakenadu @bdavj
We made a pretty significant attempt at resolving the "robj" is null error that I see in the logs here but seems like it wasn't successful - see https://github.com/continuedev/continue/pull/6611 and https://github.com/continuedev/continue/pull/6611
As a sanity check, could folks try following the advice outlined here? https://youtrack.jetbrains.com/issue/IJPL-186252/JCEF.-NullPointerException-Cannot-read-field-objId-because-robj-is-null
This should already be set in our config here but worth a shot to try manually
Hi folks, I spent the better part of a day trying to debug following the repro steps that @Hakenadu outlined but without luck.
Problem analysis
I reproduced the crash a handful of times but very intermittently. When I did repro the crash, unsurprisingly we were overflowing the JVM heap. My initial hunch was that each new instance of the IDE spins up a new JCEFBrowser that contributes to that, but my understanding after researching more is that the browser actually runs off of the heap as a native process and doesn't contribute to that heap overflow.
So, my best guess is that we have too many messages being sent from the IDE -> browser that aren't getting processed in the browser quickly enough, each occupying one of our 200 query pools and storing the relevant payload on the heap.
For what it's worth we had a member of the team recently spend 2+ months exclusively on improving the stability of our JetBrains extension. Building a full web app inside of JetBrains is hard.
With that being said there is a temporary solution that will hopefully work for folks as we further investigate.
Temporary workaound
Visit Help → Change Memory Settings, double the memory allocation 4096 MB, then click “Save and Restart.”
@pedroll @bdavj @Hakenadu @friefa if you all could attempt the workaround above and report back, that would be helpful.
@Hakenadu , I appreciated your detailed logs in my troubleshooting efforts. If you have any other thoughts on how we can pinpoint the issue here, that would be helpful. Since you've been able to repro quite consistently, if you were able to take a stab at addressing the issue, that would be extremely helpful!
A git bisect could probably get to the bottom of this if the issue is from some of the recent updates we made to our JetBrains logic, but again, I've been unable to reliably repro which prevents me from bisecting.
Hi @Patrick-Erichsen, thank you and your team for your investigation and explanation.
Following your suggestion, I’ve doubled the memory allocation, and so far I haven’t been able to reproduce the issue.
I’ll continue to monitor the situation over the next week.
Thank you again for your support!
Although I am currently unable to consistently reproduce it, I have unfortunately found that the problem still occurs.
However, it occurs now less frequently.
Hello, same problem here : Continue's panel frequently freeze and I am forced to restart Intellij. I try the proposed fix (increase memory), but as Hakenadu the problem still occurs (less frequently (approx every 1/2 hours))
https://github.com/continuedev/continue/issues/7996 Whenever I encounter this process crashing, the same issue will also occur.
I've reported this issue on Windows before:https://github.com/continuedev/continue/issues/6110
This is a classic and common scenario. Lately, I've been experiencing frequent plugin freezes on my Mac, so I'm compelled to report it again. I'm developing in IntelliJ Studio and leave my computer for lunch at noon. When I return an hour later, it's already gone to sleep. When I shake my mouse to wake it up, the IntelliJ Studio UI freezes, and I can't interact with it at all.
I believe this issue has been around for a while. My Mac has version 1.028 installed, which I previously used and considered stable, so I haven't upgraded. Seeing so many people still reporting this issue, I believe it still exists. However, I'm not an expert in this area, so I can only report this issue and the scenarios in which it frequently occurs.
I'm not sure if it's due to excessive memory usage, as others have suggested. In my case, it seems like some IntelliJ WebView service is stopped when the system goes into sleep mode and wakes up again.
@AfterStories (and other folks invested in this fix) - mind taking a look at https://github.com/continuedev/continue/issues/8452 ? Another user has proposed a potential solution here, if other folks with Kotlin experience could give feedback on the proposal that would help move things along 👍
experiencing the issue in different version of Continue in JetBrains
Our team is also frequently encountering this issue, and it's been a significant source of disruption.
I can confirm that this appears to be a GUI-only issue, as the autocomplete still work correctly which means core and extension are not affected. We attempted to increase the pool size from 200 to 2000, but the issue persisted.
After some investigation, I believe the problem is rooted in the "Case 2" scenario described by @Hakenadu , specifically the JCEF browser in not initialized error.
The error log points to a potential issue in ContinueBrowserService.kt. It seems the browser instance is disposed of under certain conditions but is not re-initialized until the IDE is restarted. This would explain why the GUI elements that depend on it fail to render.
I hope this information helps in pinpointing the root cause.
Open Dev tool in UI, I can see many error messages about "windows.cefQuery_xxxxxx"
I also speculate that this issue is related to the performance of JCEF webview browser. I have seen many log outputs as follows: in [ Run Extension ] terminal,there are many warnings related to JSQueRY-POLL_SIZE ` WARN - #c.i.u.j.JBCefClient - JavaScript query pool is over [size: 200]
WARN - #c.i.u.j.JBCefJSQuery - Set the property JBCefClient.Properties.JS_QUERY_POOL_SIZE to use JBCefJSQuery after the browser has been created `
Details"
2025-10-29 21:58:52,758 [ 413340] WARN - #c.i.u.j.JBCefClient - JavaScript query pool is over [size: 200]
java.lang.Throwable
at com.intellij.ui.jcef.JBCefClient$JSQueryPool.useFreeSlot(JBCefClient.java:199)
at com.intellij.ui.jcef.JBCefJSQuery.create(JBCefJSQuery.java:63)
at com.intellij.ui.jcef.JBCefBrowserJsCall.createQueryWithinScope(JBCefBrowserJsCall.kt:169)
at com.intellij.ui.jcef.JBCefBrowserJsCall.createResultHandlerQueryWithinScope(JBCefBrowserJsCall.kt:154)
at com.intellij.ui.jcef.JBCefBrowserJsCall.invoke(JBCefBrowserJsCall.kt:137)
at com.intellij.ui.jcef.JBCefBrowserJsCallKt.executeJavaScriptAsync(JBCefBrowserJsCall.kt:60)
at com.github.continuedev.continueintellijextension.toolWindow.ContinueBrowser.sendToWebview(ContinueBrowser.kt:124)
at com.github.continuedev.continueintellijextension.toolWindow.ContinueBrowser$2$respond$1.invoke(ContinueBrowser.kt:50)
at com.github.continuedev.continueintellijextension.toolWindow.ContinueBrowser$2$respond$1.invoke(ContinueBrowser.kt:49)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger.handleMessage(CoreMessenger.kt:62)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger.access$handleMessage(CoreMessenger.kt:14)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:37)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:37)
at com.github.continuedev.continueintellijextension.continue.process.ContinueProcessHandler$1.invokeSuspend(ContinueProcessHandler.kt:30)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
2025-10-29 21:58:52,761 [ 413343] WARN - #c.i.u.j.JBCefJSQuery - Set the property JBCefClient.Properties.JS_QUERY_POOL_SIZE to use JBCefJSQuery after the browser has been created
java.lang.IllegalStateException
at com.intellij.ui.jcef.JBCefJSQuery.create(JBCefJSQuery.java:66)
at com.intellij.ui.jcef.JBCefBrowserJsCall.createQueryWithinScope(JBCefBrowserJsCall.kt:169)
at com.intellij.ui.jcef.JBCefBrowserJsCall.createResultHandlerQueryWithinScope(JBCefBrowserJsCall.kt:154)
at com.intellij.ui.jcef.JBCefBrowserJsCall.invoke(JBCefBrowserJsCall.kt:137)
at com.intellij.ui.jcef.JBCefBrowserJsCallKt.executeJavaScriptAsync(JBCefBrowserJsCall.kt:60)
at com.github.continuedev.continueintellijextension.toolWindow.ContinueBrowser.sendToWebview(ContinueBrowser.kt:124)
at com.github.continuedev.continueintellijextension.toolWindow.ContinueBrowser$2$respond$1.invoke(ContinueBrowser.kt:50)
at com.github.continuedev.continueintellijextension.toolWindow.ContinueBrowser$2$respond$1.invoke(ContinueBrowser.kt:49)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger.handleMessage(CoreMessenger.kt:62)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger.access$handleMessage(CoreMessenger.kt:14)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:37)
at com.github.continuedev.continueintellijextension.continue.CoreMessenger$startContinueProcess$1.invoke(CoreMessenger.kt:37)
at com.github.continuedev.continueintellijextension.continue.process.ContinueProcessHandler$1.invokeSuspend(ContinueProcessHandler.kt:30)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
I (and a couple of other users) have tried the VM arg. Seen no crashes since!
Plugin still freezes too. IntelliJ IDEA 2025.2.4 Continue IDE Version 1.0.47 & 1.0.48 I use the plugin by making requests. Everything works fine. I minimize the plugin windows and after a certain delay, the interface becomes frozen. And eventually nothing is displayed anymore :
Lot of activity on this thread! Thanks everyone for providing all the helpful logs and anecdotes.
I'm relatively confident that @houssemzaier has identified the root cause here: https://github.com/continuedev/continue/issues/8452#issuecomment-3457646735
And he has volunteered to submit a fix! 🙏
I do think that even with this fix we will still get the errors that @AfterStories and @QianKuang8 reported, ie JavaScript query pool is over [size: 200].
We haven't increased the pool size because it would just result in the heap overflowing even faster, but once the underlying memory issues are resolved from @houssemzaier 's work, I think the next step is to attempt bumping the query pool, maybe just double to 400.
Thanks for the shoutout @Patrick-Erichsen!
I'm focused on getting the Gson singleton PR right. Working through the critical paths now, we should have something ready for review in the next day or two.
Really appreciate the opportunity to contribute to Continue! 👍
I (and a couple of other users) have tried the VM arg. Seen no crashes since!
Spoke too soon. Crashed this morning :(
@houssemzaier 's PR is a good step forward in reducing the chance of JCEF getting stuck. I've noticed that it's still possible to encounter a state where the GUI freezes and requires an IDE restart to recover. As a potential solution, what if we try to recreate the JCEF instance whenever the browser disappears and can never receive the message from extension? This might cause some minor data loss, but it would be far less disruptive than a full IDE restart.
Thanks for the feedback @QianKuang8! You're so right, the Gson optimization reduces memory pressure, but doesn't address all freeze scenarios.
Your JCEF recovery idea makes sense. Losing the current conversation is definitely better than restarting the entire IDE.
This feels like a good follow-up improvement. I've submitted the Gson PR (#8524) as a first step. I'll continue profiling to identify any other contributing factors.
Happy to collaborate!
https://github.com/openpilot-hub/devpilot-intellij/blob/545e5aad139a6f728b33d7805a6b0ee3963cdc6e/src/main/java/com/zhongan/devpilot/gui/toolwindows/chat/DevPilotChatToolWindow.java#L112 I found a similar jetbrains plugin processing mechanism, including reusing json instances and reload jbcef window strategy. Maybe this problem can be referred to, and the effect is still being observed.
https://github.com/continuedev/continue/pull/8524 has been merged! Thank you again @houssemzaier .
This will be available in v1.0.52 which will be published in a few days once the release clears the JetBrains review process. Thank you @RomneyDa for getting the release out!
It would be helpful if folks could report back once that is out and let us know if the freezing is fixed.