v0.19.1.de.md
docs/i18n/release-notes/v0.19.1.de.md
Tesserae v0.19.1 — doctor zweifelt nicht mehr an laufenden Daemons
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Русский · Español · Français
<!-- translations:end -->
Veröffentlicht 2026-07-11 · PyPI · GitHub release · pip install --upgrade tesserae==0.19.1
Ein einziger Bugfix — ein Patch-Release wert, weil doctor --fix darauf hätte handeln können.
Der Bug
Auf macOS verwendet die Pidfile-Identität der Engine ps -o lstart=, dessen Ausgabe locale-abhängig ist. Ein Daemon, der unter einer koreanischen Locale-Shell gestartet wurde, zeichnet 2026년 7월 11일… auf; ein Checker unter englischer Locale liest für denselben Zeitpunkt Sat Jul 11…. Die Abweichung wurde als PID-Wiederverwendung interpretiert, sodass tesserae doctor einen laufenden Engine-Daemon als verwaistes Pidfile meldete — und --fix anbot, das Pidfile unter dem laufenden Prozess wegzulöschen, was die Tür für einen zweiten Daemon öffnete.
Der Fix
Der ps-Aufruf ist auf LC_ALL=C festgenagelt, sodass Schreiber und Leser die Startzeit von nun an immer identisch rendern. Für Pidfiles aus früheren Builds erhält owner_is_alive eine Einweg-Rettung: Wenn die Startzeit-Darstellungen voneinander abweichen, stellt ein exakter Abgleich der vollständigen Kommandozeile das Urteil "alive" wieder her. Die Rettung kann "alive" nur jemals erweitern — eine tatsächlich wiederverwendete PID liest sich weiterhin als verwaist, weil beide Identitätssignale abweichen.
Live auf einer Maschine mit koreanischer Locale gefunden, Minuten nach dem Start des 0.19.0-Engine-Daemons; regressionsgetestet in beide Richtungen (Locale-Abweichung → alive, echte PID-Wiederverwendung → stale) plus einer Absicherung auf Quellcode-Ebene, dass der ps-Aufruf locale-gepinnt bleibt.