什么比蟑螂活得更久?Unix 的 Bug。

作者:Justin Ryan

程序员和安全研究人员一直在发现软件 Bug;有些很严重,有些很普通,但很少有能打破纪录的。OpenBSD 的一位开发人员在探索编译器故障时发现的一个 Bug,可能已经创造了一项新纪录,成为最古老的未被发现的 Unix 故障

这个 Bug 是在 YACC 中发现的,YACC 是由 AT&T 员工 Stephen C. Johnson 编写的一个解析器生成器。原因是最新版本的 malloc 中旨在增强缓冲区溢出检测的新特性,导致大型 C++ 项目出现编译器错误。Otto Moerbeek,负责发现这个 Bug 的开发人员,是受一位用户报告 Sparc64 平台上的编译器错误而开始追查的。在发现这个故障后,Moerbeek 将其追溯到 AT&T 在 1975 年开发的 Unix 版本——33 年前,也就是 Unix 开发开始仅仅 6 年后。

虽然它可能是最古老的未被发现 Bug 的纪录保持者,但它并不是 2008 年唯一被挖掘出来的老古董。一位瑞士开发人员在 5 月份发现了一个 25 年前的故障,发现它存在于所有现代 BSD 变体中,包括 Apple 的 Mac OS X。

加载 Disqus 评论