aws-toolkit-jetbrains icon indicating copy to clipboard operation
aws-toolkit-jetbrains copied to clipboard

Configure AWS Connection Error

Open kubiq opened this issue 2 years ago • 5 comments

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 image image

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

kubiq avatar Aug 09 '22 11:08 kubiq

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.

greylurk avatar Oct 17 '22 14:10 greylurk

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)

fertroya avatar Oct 27 '22 12:10 fertroya

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.

JamesVorder avatar Mar 20 '23 16:03 JamesVorder

I see this crash and I don't even have MFA token configuration on the connections I'm using!

DavidIAm avatar Sep 15 '23 15:09 DavidIAm