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

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

说明与用途

Background ReadAction Freeze Companion 发现了 JetBrains 代码中未被现有静态分析工具捕获的真实冻结错误。

问题

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.

结果

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

工作流

  • 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

证据

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.

来源

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

来源

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

来源

  • 记录日期: 2026-10-01T16:40:46.457Z