Ein flaky Test deckt einen Redis use-after-free auf
A flaky test exposed a Redis client use-after-free

Ein flaky Test bei Buildkite führte zu einem tiefen Debugging-Abenteuer, das einen Memory-Corruption-Bug in der redis-client Bibliothek aufdeckte. Das Team kombinierte Test Engine, Core-Dumps und ASAN, um einen use-after-free in hiredis zu identifizieren und zu beheben. Die Geschichte zeigt, wie ungewöhnliche Fehlermeldungen, Glück und die richtigen Tools helfen, selbst hartnäckigste Bugs zu finden.
Memory-Corruption-Bugs wie diese können oft Monate dauern, bis sie behoben sind, denn ein Core-Dump, der durch einen Segfault erzeugt wird, sagt dir nur, dass der Speicher irgendwann in der Vergangenheit korrumpiert wurde, gibt dir aber kaum Hinweise darauf, wie es zur Korruption kam.