Skip to content

"Cannot find runner" exception on running lambda local debug from gutter mark in Rider #2022

@sdubov

Description

@sdubov

Describe the bug
Debug option is not blocked when open lambda gutter mark because we do not know the exact debug options a user want to use when running a lambda and not sure if run configuration already exists. It result to the issue when we have an existing run configuration with dotnetcore 3.1 runtime option. Running such configuration cause an exception:

com.intellij.execution.ExecutionException: Cannot find runner for [Local] FunctionHandler
	at com.intellij.execution.runners.ExecutionEnvironmentBuilder$Companion.create(ExecutionEnvironmentBuilder.kt:48)
	at com.intellij.execution.runners.ExecutionEnvironmentBuilder$Companion.create(ExecutionEnvironmentBuilder.kt:74)
	at com.intellij.execution.runners.ExecutionEnvironmentBuilder.create(ExecutionEnvironmentBuilder.kt)
	at com.intellij.execution.ProgramRunnerUtil.executeConfiguration(ProgramRunnerUtil.java:127)
	at software.aws.toolkits.jetbrains.services.lambda.LambdaDaemonHost.runConfiguration(LambdaDaemonHost.kt:124)
	at software.aws.toolkits.jetbrains.services.lambda.LambdaDaemonHost.access$runConfiguration(LambdaDaemonHost.kt:35)
	at software.aws.toolkits.jetbrains.services.lambda.LambdaDaemonHost$initDebugLambdaHandler$1.invoke(LambdaDaemonHost.kt:56)
	at software.aws.toolkits.jetbrains.services.lambda.LambdaDaemonHost$initDebugLambdaHandler$1.invoke(LambdaDaemonHost.kt:35)
	at com.jetbrains.rd.util.reactive.Signal.fire(Signal.kt:30)
	at com.jetbrains.rd.framework.impl.RdSignal.onWireReceived(RdSignal.kt:39)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:31)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:11)
	at com.jetbrains.rd.framework.impl.ProtocolContexts.readMessageContextAndInvoke(ProtocolContexts.kt:151)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:30)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:11)
	at com.jetbrains.rdclient.protocol.RdDispatcher.pumpProtocolQueue(RdDispatcher.kt:71)
	at com.jetbrains.rd.platform.protocol.SwitchingScheduler.pumpProtocolQueue(SwitchingScheduler.kt:19)
	at com.jetbrains.rdclient.util.idea.ExtensionsKt.callSynchronously(Extensions.kt:142)
	at com.jetbrains.rider.util.idea.ExtensionsKt.syncFromBackend(Extensions.kt:82)
	at com.jetbrains.rider.intentions.altEnter.ReSharperPopupModel.executeItem(ReSharperPopupModel.kt:117)
	at com.jetbrains.rider.intentions.altEnter.PopupModel$attachTo$2.invoke(PopupModel.kt:23)
	at com.jetbrains.rider.intentions.altEnter.PopupModel$attachTo$2.invoke(PopupModel.kt:9)
	at com.jetbrains.rd.util.reactive.Signal.fire(Signal.kt:30)
	at com.jetbrains.rider.services.popups.nova.impl.DefaultPopupViewModel$initViewModel$3.invoke(DefaultPopupViewModel.kt:77)
	at com.jetbrains.rider.services.popups.nova.impl.DefaultPopupViewModel$initViewModel$3.invoke(DefaultPopupViewModel.kt:16)
	at com.jetbrains.rd.util.reactive.Signal.fire(Signal.kt:30)
	at com.jetbrains.rider.services.popups.nova.impl.DefaultPopupListModel$executeSelectedItem$executeDelegate$1.invoke(DefaultPopupListModel.kt:137)
	at com.jetbrains.rider.services.popups.nova.impl.DefaultPopupListModel$executeSelectedItem$executeDelegate$1.invoke(DefaultPopupListModel.kt:15)
	at com.jetbrains.rider.services.popups.nova.ui.PopupListView$sam$java_lang_Runnable$0.run(PopupListView.kt)
	at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94)
	at com.intellij.ui.popup.AbstractPopup.lambda$dispose$16(AbstractPopup.java:1445)
	at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2254)
	at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:186)
	at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:138)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:171)
	at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:36)
	at com.intellij.ui.popup.AbstractPopup.dispose(AbstractPopup.java:1441)
	at com.intellij.openapi.util.ObjectNode.lambda$execute$0(ObjectNode.java:111)
	at com.intellij.openapi.util.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:189)
	at com.intellij.openapi.util.ObjectNode.execute(ObjectNode.java:71)
	at com.intellij.openapi.util.ObjectTree.executeAll(ObjectTree.java:137)
	at com.intellij.openapi.util.Disposer.dispose(Disposer.java:121)
	at com.intellij.ui.popup.AbstractPopup.cancel(AbstractPopup.java:734)
	at com.jetbrains.rider.services.popups.nova.ui.PopupViewImpl.cancel(PopupViewImpl.kt:84)
	at com.intellij.ui.popup.AbstractPopup.cancel(AbstractPopup.java:684)
	at com.intellij.ui.popup.AbstractPopup.dispose(AbstractPopup.java:1385)
	at com.jetbrains.rider.services.popups.nova.ui.PopupViewImpl$2.invoke(PopupViewImpl.kt:60)
	at com.jetbrains.rider.services.popups.nova.ui.PopupViewImpl$2.invoke(PopupViewImpl.kt:34)
	at com.jetbrains.rd.util.lifetime.LifetimeDefinition.destruct(RLifetime.kt:266)
	at com.jetbrains.rd.util.lifetime.LifetimeDefinition.terminate(RLifetime.kt:252)
	at com.jetbrains.rd.util.lifetime.LifetimeDefinition.terminate$default(RLifetime.kt:226)
	at com.jetbrains.rider.services.popups.nova.ui.PopupViewHierarchy.a(PopupViewHierarchy.kt:155)
	at com.jetbrains.rider.services.popups.nova.ui.PopupViewHierarchy.closeAllViews(PopupViewHierarchy.kt:167)
	at com.jetbrains.rider.services.popups.nova.ui.PopupListView$executeSelectedItem$1.invoke(PopupListView.kt:284)
	at com.jetbrains.rider.services.popups.nova.ui.PopupListView$executeSelectedItem$1.invoke(PopupListView.kt:34)
	at com.jetbrains.rider.services.popups.nova.impl.DefaultPopupListModel.executeSelectedItem(DefaultPopupListModel.kt:144)
	at com.jetbrains.rider.services.popups.nova.ui.PopupListView.a(PopupListView.kt:278)
	at com.jetbrains.rider.services.popups.nova.ui.PopupListView.handleReleased(PopupListView.kt:270)
	at com.jetbrains.rider.services.popups.nova.ui.MouseListenerEx$DefaultImpls.mouseReleased(MouseListenerEx.kt:13)
	at com.jetbrains.rider.services.popups.nova.ui.PopupListView.mouseReleased(PopupListView.kt:34)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6650)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
	at java.desktop/java.awt.Component.processEvent(Component.java:6415)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5025)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4857)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2773)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4857)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:967)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:904)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:836)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:450)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:733)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:449)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:503)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:188)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at com.jetbrains.rider.services.popups.nova.impl.RiderModalPopupCookie$ModalContext.dispose(RiderModalPopupCookie.kt:48)
	at com.intellij.openapi.util.ObjectTree.executeActionWithRecursiveGuard(ObjectTree.java:189)
	at com.intellij.openapi.util.ObjectTree.executeUnregistered(ObjectTree.java:202)
	at com.intellij.openapi.util.ObjectTree.executeAll(ObjectTree.java:131)
	at com.intellij.openapi.util.Disposer.dispose(Disposer.java:121)
	at com.intellij.openapi.util.Disposer.dispose(Disposer.java:111)
	at com.jetbrains.rider.services.popups.nova.impl.RiderModalPopupCookie$Companion.using(RiderModalPopupCookie.kt:82)
	at com.jetbrains.rider.services.popups.RiderPopupModelHost.showPopup(RiderPopupModelHost.kt:50)
	at com.jetbrains.rdclient.services.popups.FrontendPopupModelHost$1.invoke(FrontendPopupModelHost.kt:45)
	at com.jetbrains.rdclient.services.popups.FrontendPopupModelHost$1.invoke(FrontendPopupModelHost.kt:39)
	at com.jetbrains.rd.util.reactive.IViewableMap$view$2.invoke(ViewableCollections.kt:146)
	at com.jetbrains.rd.util.reactive.IViewableMap$view$2.invoke(ViewableCollections.kt:64)
	at com.jetbrains.rd.util.reactive.IViewableMap$view$1.invoke(ViewableCollections.kt:108)
	at com.jetbrains.rd.util.reactive.IViewableMap$view$1.invoke(ViewableCollections.kt:64)
	at com.jetbrains.rd.util.reactive.IViewableMap$adviseAddRemove$1.invoke(ViewableCollections.kt:126)
	at com.jetbrains.rd.util.reactive.IViewableMap$adviseAddRemove$1.invoke(ViewableCollections.kt:64)
	at com.jetbrains.rd.util.reactive.Signal.fire(Signal.kt:30)
	at com.jetbrains.rd.util.reactive.ViewableMap.put(ViewableMap.kt:29)
	at com.jetbrains.rd.framework.impl.RdMap.onWireReceived(RdMap.kt:129)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:31)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2$2.invoke(MessageBroker.kt:11)
	at com.jetbrains.rd.framework.impl.ProtocolContexts.readMessageContextAndInvoke(ProtocolContexts.kt:151)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:30)
	at com.jetbrains.rd.framework.MessageBroker$invoke$2.invoke(MessageBroker.kt:11)
	at com.jetbrains.rdclient.protocol.RdDispatcher.a(RdDispatcher.kt:96)
	at com.jetbrains.rdclient.protocol.RdDispatcher.access$flushAll(RdDispatcher.kt:18)
	at com.jetbrains.rdclient.protocol.RdDispatcher$flushAllRunnable$1.run(RdDispatcher.kt:23)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:322)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:132)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47)
	at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:188)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:967)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:839)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:450)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:449)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:802)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:497)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

To reproduce

  1. Rider IDE
  2. Create a sample "Hello World" Lambda project
  3. Create local lambda run configuration with runtime set to dotnetcore3.1
  4. Open lambda gutter mark menu and select Debug option

Expected behavior
Run local lambda configuration dialog is opened with runtime set to default runtime value dotnetcore2.1.

Screenshots
None.

Your Environment

  • OS: macOS 10.15.6
  • JetBrains product: Rider
  • JetBrains product version: RD-202.6397.268
  • AWS Toolkit version: 1.17-202
  • SAM CLI version: 1.1.0
  • JVM/Python version:

Additional context
None.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugWe can reproduce the issue and confirmed it is a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions