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!