aws / aws-toolkit-jetbrains

AWS Toolkit for JetBrains - a plugin for interacting with AWS from JetBrains IDEs
https://plugins.jetbrains.com/plugin/11349-aws-toolkit
Apache License 2.0
730 stars 197 forks source link

PyCharm - Amazon Q Plugin Version 3.12-241 - Cannot Authenticate #4609

Closed mlehne closed 1 week ago

mlehne commented 1 week ago

In PyCharm, the latest version of the plugin (3.12-241) does not authenticate. Cicking the "Re-authenticate" button does nothing - does not open the browser window and just sits there. Similar results for Amazon Q menu -> "Reconnect to Amazon Q" -> Yes.

Trying to install the 3.11 version of the plugin results in auto-upgrading to 3.12, so the plugin is unusable to me at this point.

visit1985 commented 1 week ago

Same issue with 3.12-233

Exception in plugin AWS Core (3.12-233):

java.lang.NullPointerException
    at software.aws.toolkits.jetbrains.core.credentials.sso.SsoAccessTokenProvider.refreshToken(SsoAccessTokenProvider.kt:415)
    at software.aws.toolkits.jetbrains.core.credentials.sso.bearer.InteractiveBearerTokenProvider.refresh(BearerTokenProvider.kt:171)
    at software.aws.toolkits.jetbrains.core.credentials.sso.bearer.InteractiveBearerTokenProvider.refreshToken(BearerTokenProvider.kt:144)
    at software.aws.toolkits.jetbrains.core.credentials.sso.bearer.InteractiveBearerTokenProvider.supplier$lambda$0(BearerTokenProvider.kt:111)
    at software.amazon.awssdk.utils.cache.CachedSupplier.lambda$jitteredPrefetchValueSupplier$8(CachedSupplier.java:300)
    at software.amazon.awssdk.utils.cache.NonBlocking.fetch(NonBlocking.java:151)
    at software.amazon.awssdk.utils.cache.CachedSupplier.refreshCache(CachedSupplier.java:208)
    at software.amazon.awssdk.utils.cache.CachedSupplier.get(CachedSupplier.java:135)
    at software.aws.toolkits.jetbrains.core.credentials.sso.bearer.InteractiveBearerTokenProvider.resolveToken(BearerTokenProvider.kt:153)
    at software.aws.toolkits.jetbrains.core.credentials.ToolkitAuthManagerKt$maybeReauthProviderIfNeeded$2.invoke(ToolkitAuthManager.kt:301)
    at software.aws.toolkits.jetbrains.core.credentials.ToolkitAuthManagerKt$maybeReauthProviderIfNeeded$2.invoke(ToolkitAuthManager.kt:300)
    at software.aws.toolkits.jetbrains.utils.ThreadingUtilsKt.runUnderProgressIfNeeded(ThreadingUtils.kt:32)
    at software.aws.toolkits.jetbrains.core.credentials.ToolkitAuthManagerKt.maybeReauthProviderIfNeeded(ToolkitAuthManager.kt:300)
    at software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererUtil.promptReAuth(CodeWhispererUtil.kt:184)
    at software.aws.toolkits.jetbrains.services.codewhisperer.startup.CodeWhispererProjectStartupActivity.runActivity(CodeWhispererProjectStartupActivity.kt:62)
    at com.intellij.ide.startup.impl.StartupManagerImpl.runOldActivity(StartupManagerImpl.kt:328)
    at com.intellij.ide.startup.impl.StartupManagerImpl.access$runOldActivity(StartupManagerImpl.kt:69)
    at com.intellij.ide.startup.impl.StartupManagerImpl$runPostStartupActivities$5$1.invoke(StartupManagerImpl.kt:271)
    at com.intellij.ide.startup.impl.StartupManagerImpl$runPostStartupActivities$5$1.invoke(StartupManagerImpl.kt:270)
    at com.intellij.openapi.progress.CoroutinesKt.blockingContextInner(coroutines.kt:321)
    at com.intellij.openapi.progress.CoroutinesKt.access$blockingContextInner(coroutines.kt:1)
    at com.intellij.openapi.progress.CoroutinesKt$blockingContext$2.invokeSuspend(coroutines.kt:198)
    at com.intellij.openapi.progress.CoroutinesKt$blockingContext$2.invoke(coroutines.kt)
    at com.intellij.openapi.progress.CoroutinesKt$blockingContext$2.invoke(coroutines.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
    at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264)
    at com.intellij.openapi.progress.CoroutinesKt.blockingContext(coroutines.kt:197)
    at com.intellij.ide.startup.impl.StartupManagerImpl.runPostStartupActivities(StartupManagerImpl.kt:270)
    at com.intellij.ide.startup.impl.StartupManagerImpl.access$runPostStartupActivities(StartupManagerImpl.kt:69)
    at com.intellij.ide.startup.impl.StartupManagerImpl$runPostStartupActivities$3$2.invokeSuspend(StartupManagerImpl.kt:192)
    at com.intellij.ide.startup.impl.StartupManagerImpl$runPostStartupActivities$3$2.invoke(StartupManagerImpl.kt)
    at com.intellij.ide.startup.impl.StartupManagerImpl$runPostStartupActivities$3$2.invoke(StartupManagerImpl.kt)
    at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78)
    at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:167)
    at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
    at com.intellij.ide.startup.impl.StartupManagerImpl$runPostStartupActivities$3.invokeSuspend(StartupManagerImpl.kt:191)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    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)

seems related #4610

wularr commented 1 week ago

This may be due to e.awsErrorDetails() returning null so that the chain e.awsErrorDetails().errorMessage() results in a null exception https://github.com/aws/aws-toolkit-jetbrains/blob/main/plugins/core/jetbrains-community/src/software/aws/toolkits/jetbrains/core/credentials/sso/SsoAccessTokenProvider.kt#L409. It is strange the stack trace starts on line 415.

https://github.com/aws/aws-toolkit-jetbrains/pull/4611

rli commented 1 week ago

Fix released in 3.13

mlehne commented 1 week ago

I confirmed that it works for me now in version 3.13.