Skip to content

IDE freezes permanently when applying a Flutter SDK path change in Settings (EDT blocked on Semaphore in FlutterSettingsConfigurable) #9013

Description

@LeonelNS

Changing the Flutter SDK path in Settings → Languages & Frameworks → Flutter and clicking Apply freezes the entire IDE permanently. The UI thread (EDT) blocks on a Semaphore.acquire() inside FlutterSettingsConfigurable.reset() and never recovers. There is no crash and nothing is written to the log, so a force-quit is the only way out.

This started after updating to Android Studio Quail 1 | 2026.1.1 Patch 2, but the root cause is in the Flutter plugin: it acquires a semaphore on the EDT with no timeout, and the background task meant to release it is itself stuck.

Environment

  • Plugin: io.flutter 93.0.0
  • IDE: Android Studio Quail 1 | 2026.1.1 Patch 2 (AI-261.23567.138.2611.15646644)
  • JRE: JetBrains Runtime 21.0.10 (aarch64)
  • OS: macOS 26.5.1, Apple Silicon (M3)
  • Dart plugin: 506.1.0

Steps to reproduce

  1. Open Settings → Languages & Frameworks → Flutter.
  2. Change Flutter SDK path from one installed version to another.
  3. Click Apply.

The thread dumps from android studio show the following that might be relevant. Ill add the whole logs in the report as well

"AWT-EventQueue-0"  Frozen for 65secs
  at java.util.concurrent.Semaphore.acquire(...)
  at io.flutter.sdk.FlutterSettingsConfigurable.reset(FlutterSettingsConfigurable.java:335)
  at io.flutter.sdk.FlutterSettingsConfigurable.apply(FlutterSettingsConfigurable.java:309)
  at com.intellij.openapi.options.ex.ConfigurableWrapper.apply(ConfigurableWrapper.java:230)
  at com.intellij.openapi.options.newEditor.ConfigurableEditor.apply(ConfigurableEditor.java:333)
  ... (Settings "Apply" button)
"ApplicationImpl pooled thread 1090"  WAITING on java.util.concurrent.Semaphore
  at java.util.concurrent.Semaphore.acquire(...)
  at io.flutter.sdk.FlutterSettingsConfigurable.lambda$onVersionChanged$9(FlutterSettingsConfigurable.java:415)

"ApplicationImpl pooled thread 7"     WAITING on java.util.concurrent.Semaphore
  at java.util.concurrent.Semaphore.acquire(...)
  at io.flutter.sdk.FlutterSettingsConfigurable.lambda$onVersionChanged$9(FlutterSettingsConfigurable.java:415)

"dart"  WAITING
  at java.lang.ProcessImpl.waitFor(...)
  at com.intellij.execution.process.ProcessWaitFor.lambda$new$0(ProcessWaitFor.java:34)

Frequency
Its 100% reproducible on this machine when switching the Flutter SDK path via the Settings dialog.

Attachments
DiagnosticsReport20260624-090937.zip

Metadata

Metadata

Assignees

Labels

Type

Fields

No fields configured for Bug.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions