anthropics / anthropics/claude-code

[Agent incident] 2026-08-28 01:35 - desktop mrzne na zámku výpisu do konzole (diagnostika běžela na UI vlákně)

Open
#95,038 0 comments 0 reactions 0 assignees View on GitHub
area:model bug platform:intellij
Dominant language
Python
Stars
145k
Forks
23.1k
PR merge metrics
PR metrics pending

Description

### Summary

Incident recorded on **2026-08-28 01:35** while working with the coding agent in IntelliJ IDEA on a private Kotlin Multiplatform project.

### Environment

- Surface: Claude Code agent in IntelliJ IDEA (JetBrains plugin)
- Project: private Kotlin Multiplatform app (Android/iOS/desktop)

### Record (verbatim, Czech)

#### 2026-08-28 01:35 — desktop mrzne na zámku výpisu do konzole (diagnostika běžela na UI vlákně)

ZADÁNÍ (doslova): „desktop zamrznut" (a dříve téhož večera 3× totéž hlášení)

DŮKAZ (výpis vláken živého procesu, `jcmd 989992 Thread.print`, 01:3x):
```
"AWT-EventQueue-0" ... java.lang.Thread.State: WAITING (parking)
- parking to wait for <0x000000070daf4bd0> (a ReentrantLock$NonfairSync)
at java.io.PrintStream.writeln
at java.io.PrintStream.println
at org.mjdev.psippr.vm.AppState.logSpamState(AppState.kt:337)
```
Na tentýž zámek parkovalo 5 vláken; 10 vláken sdíleného poolu bylo v nativních voláních
(`com.sun.jna.Native.invokeStructure`), jedno zapisovalo na disk (`FileOutputStream.writeBytes`).

PŘÍČINA (určená): `logSpamState()` se volá z `LaunchedEffect` v `rememberSpamListed`, tedy
v kompozici — na vlákně, které kreslí okno. `println` bere globální zámek `System.out`,
o který se v téhle appce pere celý p2p provoz. Když se výpis zdrží, zastaví se UI.
Efekt je navíc klíčovaný na `profiles`, takže se spouštěl při KAŽDÉ změně profilu.

CO TO NENÍ: není to síť, galerie ani stahování médií. Předchozí dvě zamrznutí téhož večera
měla jinou příčinu (blokující příjem na sdíleném poolu, opraveno `278214f5`), takže tohle
je třetí, samostatná příčina se stejným projevem.

ŠKODA: opakované zamrzání desktopu během testování; vlastník to hlásil čtyřikrát a pokaždé
hledal chybu v tom, co zrovna zkoušel (alba, video, profil).

OPRAVA (tato dávka): diagnostický výpis se přesunul mimo UI vlákno
(`withContext(Dispatchers.Default)`). Samotný výpis zůstal — je to něčí ladicí pomůcka,
neruším ji bez zadání. Testy 164, selhalo 0.

PRAVIDLO: v kompozici se nikdy nevolá `println` ani nic, co bere globální zámek. Diagnostika
patří mimo UI vlákno; jinak si appka sama zastaví vykreslování.

Provenance in the project's git history

- record key: `2026-08-28 01:35`
- first committed: `2026-08-28T01:45:53+02:00`
- first commit: `66d7b0496b59`
- stored versions of this record: 1
- files it lived in: `ai-incidents.md`, `ia-sabotages/ai-incidents.md`, `tool-sabotages/ai-incidents.md`

---
_Filed from a recovered incident log. The record above is reproduced verbatim from the project's `ai-incidents.md`; it was written in Czech at the time of the event._

Contributor guide

No contributing guide indexed for this repository

Research direction

The incident record references ai-incidents.md, ia-sabotages/ai-incidents.md, and tool-sabotages/ai-incidents.md, plus rememberSpamListed and AppState.kt:337 in a private Kotlin Multiplatform project. Start by determining whether this report is intended to change claude-code; no requested change, repository entry point, test, or completion criteria are provided.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kotlin
Domain
desktop, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
10/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.