anthropics / anthropics/claude-code
[Agent incident] 2026-08-26 22:30 - přestavba endpointu (`ed608ab9`, 25. 8. 23:16) zabila příjem na mobilu
- Dominant language
- Python
- Stars
- 145k
- Forks
- 23.1k
- PR merge metrics
- PR metrics pending
Description
### Summary
Incident recorded on **2026-08-26 22:30** 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-26 22:30 — přestavba endpointu (`ed608ab9`, 25. 8. 23:16) zabila příjem na mobilu
- **Co jsem udělal špatně:** v `ed608ab9` jsem přidal přestavbu iroh endpointu po 3 neúspěšných
odchozích spojeních na „announcujícího" peera. Starý endpoint se ale „zavíral" jen přes
uniffi `close()` (uvolnění handle), ne přes `shutdown()` — v Rustu běžel dál se stejným klíčem.
Dva endpointy s jedním node id se pak přetahovaly o relay: příchozí handshaky vypršely
(22:12:38 záplava 50× `accept failed … TimedOut` naráz) a accept smyčka visela na starém
`acceptNext`. Spouštěčem byli cizí NEDOSTUPNÍ peeři (mrtvé endpointy, které přesto announcují —
známý stav, viz memory „engine vs disco endpoint"), takže se to dělo každé 3 min.
- **Škoda:** verze 1.0.183 a 1.0.184 (vydané VŠEM): mobil 26. 8. 22:05–22:21 nepřijal ani jeden
paket od nikoho, taxi nabídky z desktopu (`c99597bb`, `cb306cb7`) čekaly v outboxu, uživatel
musel restartovat appku. Půl večera „zase visí komunikace".
- **Jak jsem to dohledal:** logcat mobilu (3× `endpoint rebuilt`, poté 0 `inbound`), kv `outbox`
v `~/.psipr/psippr.db` desktopu s nabídkou, `javap` na iroh jaru (`close()` je jen Disposable,
`shutdown()` je skutečné zavření).
- **Oprava:** `rebindEndpoint` → nový endpoint se naváže, starý dostane `shutdown()` (timeout 5 s)
a teprve pak `close()`; accept smyčka je vázaná na konkrétní endpoint a nový si spouští vlastní.
Commit: viz „endpoint rebuild really shuts the old one down" (26. 8. večer).
- **Pravidlo:** u FFI objektů rozlišovat `close()` (uvolnění handle) od skutečného vypnutí;
před změnou životního cyklu endpointu ověřit v jaru (`javap`), co metoda dělá. Změna v enginu
= otestovat 2 zařízení proti sobě aspoň 10 min PŘED releasem, ne jen „přeloženo".
Provenance in the project's git history
- record key: `2026-08-26 22:30`
- first committed: `2026-08-26T22:24:13+02:00`
- first commit: `475903fd3893`
- 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 record names ai-incidents.md, ia-sabotages/ai-incidents.md, and tool-sabotages/ai-incidents.md in a private project, but identifies no Claude Code file or requested change. First confirm whether this incident belongs in the public repository; done is a specific documentation request or a clearly scoped reproducible bug, neither of which is provided here.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, ios, kotlin, rust
- Domain
- documentation, mobile-dev
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100