Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

JetBrains Said No Static Tool Catches This Freeze Bug. We Built One — And Found a Real Instance in Their Own Code.

Description and use

Background ReadAction Freeze Companion identified a real IntelliJ freeze bug that was not caught by existing static analysis tools.

Problem

IntelliJ IDE freezes caused by background threads calling blocking, non‑cancellable read‑lock APIs while a write action is pending, with no existing static‑analysis tool detecting the pattern.

Outcome

The plugin successfully identified a real freeze bug in JetBrains’ own code, leading to a filed issue and a suggested fix.

Workflow

  • Identify background‑thread entry points
  • Build interprocedural call‑graph traversal to blocking read‑lock APIs
  • Distinguish deprecated vs discouraged APIs
  • Detect cancellation checks and downgrade hits
  • Validate against intellij‑community source
  • Add uncovered background entry points
  • Run on Java test‑execution module
  • Find real hit in SearchForTestsTask
  • File issue IJPL‑254654 with source reference and fix suggestion

Evidence

there's no static tool that catches this today. Detection is manual — reading a thread dump after the freeze already happened in someone's real IDE.

Source

Background ReadAction Freeze Companion, a free, open-source IntelliJ Platform plugin that statically traces exactly this pattern.

Source

I filed it: IJPL-254654, with the exact source reference and a suggested fix mirroring the pattern already used nine lines above it.

Source

  • Record date: 2026-10-01T16:40:46.457Z