aws-toolkit-jetbrains
aws-toolkit-jetbrains copied to clipboard
Configure AWS Connection Error
Describe the bug Plugin crashes constantly when my aws credentials are not valid due to MFA token expiration
To reproduce have MFA active wait for it to expire try do anything in plugin, error bubble apears:
java.lang.RuntimeException: Configure AWS Connection
at software.aws.toolkits.jetbrains.core.execution.AwsConnectionRunConfigurationExtension.getConnection(AwsConnectionExtension.kt:91)
at software.aws.toolkits.jetbrains.core.execution.AwsConnectionRunConfigurationExtension.validateConfiguration(AwsConnectionExtension.kt:65)
at software.aws.toolkits.jetbrains.core.execution.JavaAwsConnectionExtension.validateConfiguration(JavaAwsConnectionExtension.kt:45)
at com.intellij.execution.configuration.RunConfigurationExtensionsManager.validateConfiguration(RunConfigurationExtensionsManager.kt:159)
at com.intellij.execution.JavaRunConfigurationExtensionManager$Companion.checkConfigurationIsValid(JavaRunConfigurationExtensionManager.kt:29)
at com.intellij.execution.JavaRunConfigurationExtensionManager.checkConfigurationIsValid(JavaRunConfigurationExtensionManager.kt)
at com.intellij.execution.application.ApplicationConfiguration.checkConfiguration(ApplicationConfiguration.java:174)
at com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl$checkSettings$1.run(RunnerAndConfigurationSettingsImpl.kt:333)
at com.intellij.util.RunnableCallable.call(RunnableCallable.java:20)
at com.intellij.util.RunnableCallable.call(RunnableCallable.java:11)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:536)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:485)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.executeSynchronously(NonBlockingReadActionImpl.java:428)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl.executeSynchronously(NonBlockingReadActionImpl.java:186)
at com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl.checkSettings(RunnerAndConfigurationSettingsImpl.kt:338)
at com.intellij.execution.impl.RunManagerImpl$Companion.canRunConfiguration(RunManagerImpl.kt:94)
at com.intellij.execution.impl.RunManagerImpl$Companion.canRunConfiguration(RunManagerImpl.kt:87)
at com.intellij.execution.impl.ExecutionManagerImpl$executeConfiguration$1.call(ExecutionManagerImpl.kt:673)
at com.intellij.execution.impl.ExecutionManagerImpl$executeConfiguration$1.call(ExecutionManagerImpl.kt:72)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:536)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:501)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1152)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:75)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:158)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:115)
at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:58)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:189)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:176)
at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:58)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:112)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:75)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:501)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:408)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:829)
Expected behavior Plugin should no throw error when MFA token expires
Screenshots
Your Environment
- OS: Arch Linux
- JetBrains product: IntelliJ IDEA (Ultimate Edition)
- JetBrains product version: 2022.1.3
- AWS Toolkit version: 1.48-221
- SAM CLI version: i dont know where to find this
- JVM/Python version: 11.0.15+10 amd64 VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Additional context
Same symptoms, with a different environment:
- OS: macOS Monterrey 12.6
- JetBrains product: IntelliJ IDEA (Ultimate Edition)
- JetBrains product version: 2022.2.2
- AWS Toolkit Version: 1.51-222
- SAM CLI version: aws-cli/2.7.25 Python/3.9.11 Darwin/21.6.0 exe/x86 prompt/off
- JVM version: 17.0.4+6-b469.53 x86_64 VM: OpenJDK 64-bit Server VM by JetBrains s.r.o.
Same here
IntelliJ IDEA 2022.2.3 (Community Edition) Build #IC-222.4345.14, built on October 5, 2022 Runtime version: 17.0.4.1+7-b469.62 aarch64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 12.6
Non-Bundled Plugins: com.mallowigi.idea (18.1.0) aws.toolkit (1.52-222)
Same issue here on MacOS. I was able to work around it by selecting another profile, entering my MFA for that one (the popup worked,) and then switching back.
Here is my redacted ~/.aws/config
... Note: The mfa_serial
for DEV-US and PROD-US is different. PROD-US matches the one under default
. Not sure if that's relevant, but it jumps out at me.
[default]
source_profile = default
region = us-west-2
mfa_serial = arn:aws:iam::xxx:mfa/me
[profile PROD-US]
source_profile = default
region = us-east-1
mfa_serial = arn:aws:iam::xxx:mfa/me
[profile DEV-US]
source_profile = default
region = us-east-1
mfa_serial = arn:aws:iam::yyy:mfa/me
role_arn = arn:aws:iam::xxx:role/developers
I was getting the connection error for PROD-US. I switched to DEV-US using the toolbar in IDEA, which prompted me for MFA. Then, I was able to switch back to PROD-US, and things worked as expected.
This may not work for everyone (you have to have 2+ profiles), but it did get me connected. Hope this helps someone.
I see this crash and I don't even have MFA token configuration on the connections I'm using!