BuildNot yet confirmed elsewhere1 publisher2 min readPublished
JetBrains Marketplace groups UI freeze reports for plugins that register its error handler
JetBrains Marketplace now shows plugin authors UI freeze reports attributed to their plugins, grouped by error type. The reports appear only once Marketplace reporting is enabled in the plugin, a plugin.xml change JetBrains says is worth making before it is needed.
The Engineer · Build desk
What happened
- Each report carries an automatically generated thread-dump excerpt listing the threads Marketplace identified as involved in the freeze.
- The Marketplace error handler has been available since IntelliJ Platform 2023.3 and needs no custom implementation, only a registration in plugin.xml.
- Patrick Scheibe's analyze-freeze skill gives AI coding agents guidance on coroutine behavior, Dispatchers.Default starvation and other common freeze patterns.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- decision Turning on reporting is a release decision: the handler sits in the plugin descriptor, so it covers users only once they run a version that includes it.
- constraint Plugins whose supported range reaches below IntelliJ Platform 2023.3 have no Marketplace handler on those older builds, and the post does not say how to cover them.
- exposure Full dumps are diagnostic data from users' IDEs, so feeding them to an AI service falls under each project's own data-handling rules, per JetBrains.
- capability An author facing a freeze they cannot reproduce now starts from the threads a user's IDE recorded as stuck, instead of from the user's description.
The opt-in is one element in plugin.xml [15]:
```xml <extensions defaultExtensionNs="com.intellij"> <errorHandler implementation="com.intellij.diagnostic.JetBrainsMarketplaceErrorReportSubmitter"/> </extensions> ```
Plugins that support Split Mode register it in a frontend or shared module [17]. JetBrains says it is "worth setting this up before you need it" [2].
Reading a report starts at the event dispatch thread. That thread is usually named `AWT-EventQueue-0` or contains `EDT`, and the first job is to establish whether it is doing expensive work or waiting on something else [8]. The full `dump-N.txt` files are sampled every five seconds while the freeze lasts [6]. A 30-second freeze would leave about six of them [21]. Comparing them shows whether the same operation stays on the stack from sample to sample [9]. Pasting a dump into the IDE's Analyze Stack Trace or Thread Dump action gives a first pass [18]. In the post's example, that pass flags file I/O on the EDT inside `org.xml.sax.helpers.XMLFilterImpl.parse` [10]. Depending on what the IDE managed to capture, a report can also hold a JFR CPU snapshot, a `report.txt` stack analysis and OpenTelemetry metrics covering VFS activity and UI responsiveness [7].
The harder case is a freeze whose cause runs off the EDT. A long, non-cancellable read action on a background thread can hold a lock that a write action needs, and the UI waits while the expensive work happens elsewhere [11]. Read on its own, the EDT in that dump is just waiting. The excerpt lists the threads identified as involved in the freeze [4], so the lock holder should sit next to the EDT in the same view. Repeats of the same pattern land in one pile behind a representative report [3].
Patrick Scheibe's analyze-freeze skill gives AI coding agents guidance on coroutine behavior and `Dispatchers.Default` starvation [12]. The excerpt is the suggested first input because it costs the agent fewer tokens than the full dumps [5]. The suggested prompt is good work. It tells the agent to "Cite the dump evidence for each conclusion" and to "Distinguish observed facts from hypotheses," and it closes with "Do not edit code yet." [13] That is a tighter brief than most bug reports a plugin author gets from users. JetBrains also tells authors to check the agent's cited frames against the full dump and their own code before changing anything [19].
What to watch
- Whether JetBrains documents how freezes from users on plugin versions without the handler are treated once a later version registers it.
- Whether the analyze-freeze skill, now distributed as a gist, moves into JetBrains' official plugin tooling.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence62
- Adoption
- Insufficient
- Hype gap+5
- Incentives45
- Confidence60
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
JetBrains Marketplace now gives plugin authors access to UI freeze reports attributed to their plugins, shown on the plugin's management page under a Freezes tab.
- [2]
Plugin authors need to enable Marketplace reporting in their plugin first; JetBrains writes that it is "worth setting this up before you need it."
- [3]
Marketplace groups freeze reports by error type and collects similar reports into piles; each pile shows a representative report so recurring patterns can be spotted without opening every occurrence.
- [4]
Each report includes an automatically generated thread-dump excerpt showing the threads identified as involved in the freeze.
- [5]
The short excerpt is a good first input for a coding agent, helping it get oriented while using fewer tokens than the full dumps.
- [6]
The dump-N.txt files contain full thread dumps captured every five seconds during the freeze.
- [7]
Depending on what the IDE captured, a report may also include snapshot.jfr (a CPU snapshot), report.txt (an analysis of the captured thread stacks) and open-telemetry-metrics.csv (performance metrics covering areas such as VFS activity and UI responsiveness).
- [8]
The event dispatch thread is usually named AWT-EventQueue-0 or contains EDT; the first check is whether it is busy doing expensive work or waiting for something else to finish.
- [9]
If several dumps are available, comparing them shows whether the same operation remains on the stack across samples.
- [10]
In the post's example, the analyzer identifies file I/O on the EDT in org.xml.sax.helpers.XMLFilterImpl.parse.
- [11]
The cause can be on a background thread: a long, non-cancellable read action may hold a lock needed by a write action, leaving the UI waiting even though the expensive work runs elsewhere.
- [12]
Patrick Scheibe created the analyze-freeze skill to help AI coding agents investigate IntelliJ Platform thread dumps; it includes guidance on coroutine behavior, Dispatchers.Default starvation and other common freeze patterns, with suggestions for fixing them.
- [13]
"Cite the dump evidence for each conclusion. Distinguish observed facts from hypotheses." ... "Do not edit code yet."
ReportedSupportedSource: Suggested analyze-freeze prompt published in the JetBrains Platform blog postView cited source - [14]
Before sharing dumps with an AI service, authors should follow their project's process for handling diagnostic data.
- [15]
Marketplace reporting is enabled by registering an errorHandler with implementation com.intellij.diagnostic.JetBrainsMarketplaceErrorReportSubmitter inside an extensions block with defaultExtensionNs="com.intellij" in plugin.xml.
- [16]
The Marketplace error handler has been available since IntelliJ Platform 2023.3 and requires no custom implementation.
- [17]
For plugins that support Split Mode, the handler is registered in a frontend or shared plugin module.
- [18]
A downloaded full dump can be pasted into the IDE's Analyze Stack Trace or Thread Dump action, opened via Search Everywhere, to inspect the results.
- [19]
Authors should check the agent's cited frames against the full dump and their code before making changes.
- [20]
Because the handler is declared in the plugin's own plugin.xml descriptor and reporting must be enabled in the plugin first, reporting takes effect for users running a plugin version that contains the registration.
- [21]
A 30-second freeze sampled at one full dump every five seconds would produce about six full thread dumps.
Sources
1 independent publisher whose own reporting we read for this story.
- blog.jetbrains.comUI freeze reports are now available in JetBrains Marketplace
1 article · October 9, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- UI freeze diagnosticsFollow
- AI Coding AgentsFollow
- IDE plugin developmentFollow