Zsh-Verlust: Wie ich einen Datenverlust-Bug in der Shell-Historie aufspürte

Tracking down a Zsh history data loss bug

Michael Stapelberg entdeckte, dass seine Zsh-Historie gelegentlich auf alte Einträge abgeschnitten wurde. Mit inotify, fatrace, bpftrace und einem gezielten Crash-Patch fand er die Ursache: Zsh liest die Historie nicht vollständig, bevor es sie neu schreibt. Der Fix ist in Zsh 5.9.2 enthalten.

Letztendlich war es die Strategie, Zsh so zu patchen, dass es laut abstürzt, und den Core-Dump des Absturzes zu analysieren, die zum Erfolg führte!

Mehr von diesem Tag

2026-08-15