一个不稳定的测试揪出 Redis 内存漏洞

A flaky test exposed a Redis client use-after-free

24DrNemski💬 6
一个不稳定的测试揪出 Redis 内存漏洞

作为一个持续集成平台,Buildkite 对 flaky tests 再熟悉不过了。但这次,David 发现的一组不稳定测试背后,竟藏着一个致命的 Redis use-after-free 内存错误。从最初的误判为竞态条件,到 Patrick 捕获到诡异的 Double free 报错,再到 Rian 利用 core dump 和 ASAN 工具精准定位到 hiredis 库中的线程竞争问题,这场历时数天的调试之旅堪称技术侦探小说。最终,团队不仅修复了漏洞,还向上游提交了复现案例。这个故事生动展示了工具链、团队协作与一点点运气如何合力攻克最棘手的内存安全难题。

"修复一个确定性发生的 bug 已经很难了,而要复现触发它的特定场景往往是最难的一步。"

同日更多故事 · 2026-07-22