Skip to content

java.lang.IllegalStateException in plugin Amazon Q (4.1.253) for PyCharm #74

@cke-qad

Description

@cke-qad

Describe the bug
java.lang.IllegalStateException: 'runBlockingCancellable' is forbidden in the Write Action because it may start a long-running computation. This can cause UI freezes.

java.lang.IllegalStateException: 'runBlockingCancellable' is forbidden in the Write Action because it may start a long-running computation. This can cause UI freezes.
Consider running this 'runBlockingCancellable' under a read action outside your Write Action'
	at com.intellij.openapi.progress.CoroutinesKt.assertBackgroundThreadAndNoWriteAction(coroutines.kt:587)
	at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:133)
	at com.intellij.openapi.progress.CoroutinesKt.runBlockingMaybeCancellable(coroutines.kt:197)
	at com.jetbrains.python.packaging.management.PythonPackageManager$Companion.forSdk(PythonPackageManager.kt:262)
	at software.aws.toolkits.jetbrains.services.amazonq.lsp.dependencies.providers.PythonModuleDependencyProvider.createParams(PythonModuleDependencyProvider.kt:21)
	at software.aws.toolkits.jetbrains.services.amazonq.lsp.dependencies.DefaultModuleDependenciesService.syncAllModules$lambda$4$lambda$2(DefaultModuleDependenciesService.kt:53)
	at software.aws.toolkits.jetbrains.services.amazonq.lsp.dependencies.DefaultModuleDependenciesService.syncAllModules$lambda$4$lambda$3(DefaultModuleDependenciesService.kt:51)
	at com.intellij.openapi.extensions.ExtensionPointName.forEachExtensionSafe(ExtensionPointName.kt:61)
	at software.aws.toolkits.jetbrains.services.amazonq.lsp.dependencies.DefaultModuleDependenciesService.syncAllModules(DefaultModuleDependenciesService.kt:51)
	at software.aws.toolkits.jetbrains.services.amazonq.lsp.dependencies.DefaultModuleDependenciesService.rootsChanged(DefaultModuleDependenciesService.kt:36)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:820)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:764)
	at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:503)
	at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:474)
	at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:545)
	at jdk.proxy2/jdk.proxy2.$Proxy88.enteredDumbMode(Unknown Source)
	at com.intellij.openapi.project.DumbServiceImpl.publishDumbModeChangedEvent$lambda$0$0(DumbServiceImpl.kt:318)
	at com.intellij.openapi.application.WriteIntentReadAction.lambda$run$0(WriteIntentReadAction.java:24)
	at com.intellij.openapi.application.impl.AppImplKt$rethrowCheckedExceptions$2.invoke(appImpl.kt:126)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.doRunWriteIntentReadAction(NestedLocksThreadingSupport.kt:736)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runPreventiveWriteIntentReadAction(NestedLocksThreadingSupport.kt:710)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteIntentReadAction(NestedLocksThreadingSupport.kt:664)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteIntentReadAction(ApplicationImpl.java:1185)
	at com.intellij.openapi.application.WriteIntentReadAction.compute(WriteIntentReadAction.java:55)
	at com.intellij.openapi.application.WriteIntentReadAction.run(WriteIntentReadAction.java:23)
	at com.intellij.openapi.project.DumbServiceImpl.publishDumbModeChangedEvent$lambda$0(DumbServiceImpl.kt:318)
	at com.intellij.openapi.project.DumbServiceImpl$Companion.runCatchingIgnorePCE(DumbServiceImpl.kt:701)
	at com.intellij.openapi.project.DumbServiceImpl$Companion.access$runCatchingIgnorePCE(DumbServiceImpl.kt:679)
	at com.intellij.openapi.project.DumbServiceImpl.publishDumbModeChangedEvent(DumbServiceImpl.kt:318)
	at com.intellij.openapi.project.DumbServiceImpl.incrementDumbCounter(DumbServiceImpl.kt:271)
	at com.intellij.openapi.project.DumbServiceImpl.queueTaskOnEdt(DumbServiceImpl.kt:384)
	at com.intellij.openapi.project.DumbServiceImpl.queueTask(DumbServiceImpl.kt:356)
	at com.intellij.openapi.project.DumbModeTask.queue(DumbModeTask.java:66)
	at com.jetbrains.python.psi.impl.PythonLanguageLevelPusher.updateSdkLanguageLevels(PythonLanguageLevelPusher.java:232)
	at com.jetbrains.python.psi.impl.PythonLanguageLevelPusher.afterRootsChanged(PythonLanguageLevelPusher.java:199)
	at com.intellij.openapi.roots.impl.PushedFilePropertiesUpdaterImpl$1.rootsChanged(PushedFilePropertiesUpdaterImpl.kt:84)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:820)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:764)
	at com.intellij.util.messages.impl.MessageBusImplKt.deliverMessage(MessageBusImpl.kt:503)
	at com.intellij.util.messages.impl.MessageBusImplKt.pumpWaiting(MessageBusImpl.kt:482)
	at com.intellij.util.messages.impl.MessageBusImplKt.access$pumpWaiting(MessageBusImpl.kt:1)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:545)
	at jdk.proxy2/jdk.proxy2.$Proxy257.rootsChanged(Unknown Source)
	at com.intellij.openapi.roots.impl.ProjectRootManagerComponent.fireRootsChangedEvent(ProjectRootManagerComponent.kt:269)
	at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.fireRootsChanged(ProjectRootManagerImpl.kt:445)
	at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.access$fireRootsChanged(ProjectRootManagerImpl.kt:40)
	at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$rootsChanged$1.fireRootsChanged(ProjectRootManagerImpl.kt:162)
	at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$rootsChanged$1.fireRootsChanged(ProjectRootManagerImpl.kt:160)
	at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$BatchSession.rootsChanged(ProjectRootManagerImpl.kt:136)
	at com.intellij.workspaceModel.ide.impl.legacyBridge.project.ModuleRootListenerBridgeImpl.fireRootsChanged(ModuleRootListenerBridgeImpl.kt:69)
	at com.intellij.workspaceModel.ide.impl.legacyBridge.module.LegacyProjectModelListenersBridge.changed(LegacyProjectModelListenersBridge.kt:94)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeMethod(MessageBusImpl.kt:820)
	at com.intellij.util.messages.impl.MessageBusImplKt.invokeListener(MessageBusImpl.kt:764)
	at com.intellij.util.messages.impl.MessageBusImplKt.executeOrAddToQueue(MessageBusImpl.kt:585)
	at com.intellij.util.messages.impl.MessagePublisher.publish$intellij_platform_core(MessageBusImpl.kt:556)
	at com.intellij.util.messages.impl.MessagePublisher.invoke(MessageBusImpl.kt:533)
	at jdk.proxy2/jdk.proxy2.$Proxy77.changed(Unknown Source)
	at com.intellij.workspaceModel.ide.impl.WorkspaceModelImpl.onChanged$lambda$1$0(WorkspaceModelImpl.kt:463)
	at com.intellij.workspaceModel.ide.impl.WorkspaceModelImpl.logErrorOnEventHandling(WorkspaceModelImpl.kt:503)
	at com.intellij.workspaceModel.ide.impl.WorkspaceModelImpl.onChanged(WorkspaceModelImpl.kt:462)
	at com.intellij.workspaceModel.ide.impl.WorkspaceModelImpl.access$onChanged(WorkspaceModelImpl.kt:51)
	at com.intellij.workspaceModel.ide.impl.WorkspaceModelImpl$updateProjectModel$generalTime$1$7.invoke(WorkspaceModelImpl.kt:210)
	at com.intellij.workspaceModel.ide.impl.WorkspaceModelImpl$updateProjectModel$generalTime$1$7.invoke(WorkspaceModelImpl.kt:210)
	at com.intellij.platform.workspace.storage.impl.VersionedEntityStorageImpl.replace(VersionedEntityStorageImpl.kt:255)
	at com.intellij.workspaceModel.ide.impl.WorkspaceModelImpl.updateProjectModel(WorkspaceModelImpl.kt:210)
	at com.intellij.workspaceModel.ide.impl.GlobalWorkspaceModel.applyStateToProject(GlobalWorkspaceModel.kt:283)
	at com.intellij.workspaceModel.ide.impl.GlobalWorkspaceModel.onChanged(GlobalWorkspaceModel.kt:267)
	at com.intellij.workspaceModel.ide.impl.GlobalWorkspaceModel.access$onChanged(GlobalWorkspaceModel.kt:76)
	at com.intellij.workspaceModel.ide.impl.GlobalWorkspaceModel$updateModel$generalTime$1$6.invoke(GlobalWorkspaceModel.kt:188)
	at com.intellij.workspaceModel.ide.impl.GlobalWorkspaceModel$updateModel$generalTime$1$6.invoke(GlobalWorkspaceModel.kt:188)
	at com.intellij.platform.workspace.storage.impl.VersionedEntityStorageImpl.replace(VersionedEntityStorageImpl.kt:255)
	at com.intellij.workspaceModel.ide.impl.GlobalWorkspaceModel.updateModel(GlobalWorkspaceModel.kt:188)
	at com.intellij.workspaceModel.ide.impl.legacyBridge.sdk.SdkModificatorBridgeImpl.commitChanges(SdkModificatorBridgeImpl.kt:141)
	at com.intellij.openapi.projectRoots.impl.ProjectJdkImpl.commitChanges(ProjectJdkImpl.java:182)
	at com.jetbrains.python.sdk.PythonSdkUpdater.lambda$changeSdkModificator$7(PythonSdkUpdater.java:738)
	at com.intellij.openapi.application.impl.AppImplKt$runnableUnitFunction$1.invoke(appImpl.kt:124)
	at com.intellij.openapi.application.impl.AppImplKt$runnableUnitFunction$1.invoke(appImpl.kt:124)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.runWriteAction(NestedLocksThreadingSupport.kt:998)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1130)
	at com.jetbrains.python.sdk.PythonSdkUpdater.lambda$changeSdkModificator$8(PythonSdkUpdater.java:738)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:239)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:25)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:201)
	at com.intellij.openapi.application.impl.ApplicationImpl$7.lambda$run$0(ApplicationImpl.java:605)
	at com.intellij.concurrency.ThreadContext.installThreadContext(threadContext.kt:305)
	at com.intellij.openapi.application.impl.ApplicationImpl$7.run(ApplicationImpl.java:600)
	at com.intellij.openapi.application.impl.AppImplKt.rethrowExceptions$lambda$1(appImpl.kt:83)
	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.lambda$run$0(ContextRunnable.java:26)
	at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
	at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:25)
	at com.intellij.openapi.application.impl.AppImplKt.rethrowExceptions$lambda$2(appImpl.kt:94)
	at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:130)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1$1$0(NonBlockingFlushQueue.kt:334)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:901)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1$1(NonBlockingFlushQueue.kt:333)
	at com.intellij.concurrency.ThreadContext.resetThreadContext(threadContext.kt:294)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent$lambda$1(NonBlockingFlushQueue.kt:330)
	at com.intellij.platform.locking.impl.NestedLocksThreadingSupport.tryRunWriteIntentReadAction(NestedLocksThreadingSupport.kt:689)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.runNextEvent(NonBlockingFlushQueue.kt:326)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.flushNow(NonBlockingFlushQueue.kt:305)
	at com.intellij.openapi.application.impl.NonBlockingFlushQueue.FLUSH_NOW$lambda$0(NonBlockingFlushQueue.kt:167)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:781)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:728)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:750)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:664)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:517)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:333)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1065)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:109)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1065)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:331)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:371)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

To reproduce
This happens when I start PyCharm

Expected behavior
No Exceptions

Screenshots

Your Environment

  • OS: Windows 11 Pro
  • JetBrains product: PyCharm
  • JetBrains product version: PyCharm 2025.3.2.1
  • Amazon Q version: 4.1.253

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions