sourcegraph / jetbrains

Apache License 2.0
65 stars 20 forks source link

bug: java.lang.IllegalStateException: JCEF is not supported in this env or failed to initialize #2404

Open pablocaviglia-uy opened 4 days ago

pablocaviglia-uy commented 4 days ago

IDE Information

Android Studio Ladybug | 2024.2.1 Build #AI-242.21829.142.2421.12409432, built on September 24, 2024 Runtime version: 21.0.3+-12282718-b509.11 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Toolkit: sun.awt.windows.WToolkit Windows 11.0 Kotlin plugin: K2 mode (Beta) GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation Memory: 4096M Cores: 16 Registry: ide.experimental.ui=true i18n.locale= Non-Bundled Plugins: com.sourcegraph.jetbrains (7.0.6)

Bug Description

cody ai

Additional context

Stacktrace:

java.lang.IllegalStateException: JCEF is not supported in this env or failed to initialize
    at com.intellij.ui.jcef.JBCefApp.getInstance(JBCefApp.java:210)
    at com.intellij.ui.jcef.JBCefBrowserBase.<init>(JBCefBrowserBase.java:172)
    at com.intellij.ui.jcef.JBCefBrowser.<init>(JBCefBrowser.java:36)
    at com.intellij.ui.jcef.JBCefBrowser.create(JBCefBrowser.java:116)
    at com.intellij.ui.jcef.JBCefBrowserBuilder.build(JBCefBrowserBuilder.java:136)
    at com.sourcegraph.cody.ui.web.WebUIProxy$Companion.create(WebUIProxy.kt:117)
    at com.sourcegraph.cody.ui.web.WebUIService.createWebviewView$Sourcegraph(WebUIService.kt:115)
    at com.sourcegraph.cody.ui.web.WebviewViewManager.provideView(WebviewView.kt:126)
    at com.sourcegraph.cody.ui.web.WebviewViewManager.provideHost$lambda$5(WebviewView.kt:110)
    at com.intellij.openapi.application.ActionsKt.runInEdt(actions.kt:56)
    at com.intellij.openapi.application.ActionsKt.runInEdt$default(actions.kt:53)
    at com.sourcegraph.cody.ui.web.WebviewViewManager.provideHost(WebviewView.kt:110)
    at com.sourcegraph.cody.ui.web.WebviewViewManager.provideCodyToolWindowContent(WebviewView.kt:121)
    at com.sourcegraph.cody.CodyToolWindowContent.<init>(CodyToolWindowContent.kt:31)
    at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt$instantiate$2.invoke(instantiate.kt:50)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt$instantiate$2.invoke(instantiate.kt:43)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt$instantiate$6$1.invoke(instantiate.kt:310)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.withStoredTemporaryContext(instantiate.kt:327)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate(instantiate.kt:309)
    at com.intellij.platform.instanceContainer.instantiation.InstantiateKt.instantiate(instantiate.kt:43)
    at com.intellij.serviceContainer.LightServiceInstanceSupport$LightServiceInstanceInitializer.createInstance(LightServiceInstanceSupport.kt:47)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invokeSuspend(LazyInstanceHolder.kt:162)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1$1.invoke(LazyInstanceHolder.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:62)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:163)
    at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invokeSuspend(LazyInstanceHolder.kt:160)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder$initialize$1.invoke(LazyInstanceHolder.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:27)
    at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:90)
    at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:123)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:52)
    at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.initialize(LazyInstanceHolder.kt:145)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.access$initialize(LazyInstanceHolder.kt:13)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.tryInitialize(LazyInstanceHolder.kt:135)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstance(LazyInstanceHolder.kt:95)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstanceInCallerContext$suspendImpl(LazyInstanceHolder.kt:87)
    at com.intellij.platform.instanceContainer.internal.LazyInstanceHolder.getInstanceInCallerContext(LazyInstanceHolder.kt)
    at com.intellij.serviceContainer.ComponentManagerImplKt$doGetOrCreateInstanceBlocking$1.invokeSuspend(ComponentManagerImpl.kt:1568)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
    at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:277)
    at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:111)
    at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$BuildersKt__BuildersKt(Builders.kt:84)
    at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:52)
    at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
    at com.intellij.serviceContainer.ComponentManagerImplKt$runBlockingInitialization$1.invoke(ComponentManagerImpl.kt:1686)
    at com.intellij.serviceContainer.ComponentManagerImplKt$runBlockingInitialization$1.invoke(ComponentManagerImpl.kt:1677)
    at com.intellij.openapi.progress.ContextKt.prepareThreadContext(context.kt:85)
    at com.intellij.serviceContainer.ComponentManagerImplKt.runBlockingInitialization(ComponentManagerImpl.kt:1677)
    at com.intellij.serviceContainer.ComponentManagerImplKt.doGetOrCreateInstanceBlocking(ComponentManagerImpl.kt:1567)
    at com.intellij.serviceContainer.ComponentManagerImplKt.getOrCreateInstanceBlocking(ComponentManagerImpl.kt:1562)
    at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:746)
    at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:690)
    at com.sourcegraph.cody.CodyToolWindowContent$Companion.executeOnInstanceIfNotDisposed$lambda$0(CodyToolWindowContent.kt:75)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEven...
AlecDusheck commented 10 hours ago

FYI, I fixed this using the accepted answer here:

Go to Help -> Find action, Search and select "Choose Boot Java Runtime for the IDE", In that popup, select a JetBrains runtime that has JCEF, Then restart the IDE and the error is gone.

In my case I picked 21.0.2+13-375.1-jcef. After rebooting Cody works!