史上九大离奇软件bug

  编写充满缺陷的应用程序是很容易的事情,数十年来,全世界的软件开发者已经通过他们所发布的每一个程序来证明了这一点。然而,真正有趣的bug却相对很少产生。我要讨论的是这样的bug:它们导致技术产品或服务长期无法工作,或者提示软件做出好像对使用者心怀怨恨的行为。即便这些bug自身通常是源自于一些小错误,例如输入错误或错误的数学计算,但它们带来的后果绝不仅仅是令人厌烦。

  为编写本文,我收集了令这个世界上一些最大的软件和服务提供商痛苦不堪的9个真正罕见的bug(我并没有提及具有引发大爆炸或导致人员死亡等副作用的bug)。我开始自己的研究的时候,考虑了整个PC历史时代,但是,我很快发现,最奇怪的bug都出现在最近的几年里。实际上,我列出的3个最古怪的bug(包括Google的Android OS、Microsoft的Zune和Google自身),都是在刚刚过去的几个月中突然出现的。我不确定是不是软件变得bug越来越多,但我真的很肯定,bug变得越来越怪异了。

  然而,我们的第一个bug要从一个较简单的时代说起。在那个时代,软件公司还没有开始对敏感信息高度加密。

  1995:众多不幸的纳税申报单

  事件:Intuit的MacInTax(该程序后来为TurboTax所替代)设计让Mac用户用来规划个人税收。但是,一位纳税人发现,这个软件的1994报税季的版本还有另外一项功能,它允许具备少许通信常识的任何客户拨通连接到一台计算机,那里存储了未加任何保护的60000份纳税申报单。一旦进入该计算机,用户可以看到任何纳税申报单并进行修改,甚至直接完全删除掉纳税申报单。

  Bug: MacInTax捆绑了一个调试工具,用来帮助客户诊断调制解调器的问题。该工具连接到Intuit承包商所负责运行的一台服务器。该工具使用一个未加密的或者加密很弱的账户名和密码,这使得任何人可能会偶然发现自己可以完整地访问MacInTax用户的数据。Intuit称这一故障为“一次疏忽”(别开玩笑了),并且为此道歉。结果,对于任何人的纳税申报单遇到问题的情况,该公司都要支付罚款。

  1998:拍卖中断[jsj1]

  事件:6月10日,世界领先的在线拍卖站点eBay遭遇了一次断线。事情并不起眼:在整个20世纪90年代的后期,这家公司的买家和竞价者频繁地遭遇不定期的宕机。但是,这种断线还是不断地发生。到了6月11日站点恢复的时候,已经过去了22小时,并且,230万次拍卖受到影响,这迫使eBay失去了一笔巨额酬金。

  Bug: eBay将此次瘫痪归咎于糟糕的数据库,它抱怨说这个糟糕的数据库使用了Sun Microsystems公司的充满问题的软件。14个月之后,网站又发生了一次14小时的断线,这几乎令人尴尬,而且代价昂贵;这次,该公司说应该归咎于硬件问题。

  2005:惊人的结局

  事件:你怀疑过Tivo的吉祥物(这个歪着嘴呲牙一笑的电视机形状的东西)也有虐待狂的一面吗?如果你在2005年下半年拥有过这家公司的一台DVR(视频录像机)的话,你可能会相信。终日懒散在家的人们开始发现他们的TiVo会随机地砍掉电视剧结尾的一大段,这把很多电视剧的悬疑结局转变为永远扣人心弦的悬念。

  Bug:这家公司过了一段时间才做出回应,但它最终得出结论,只有Series 2 TiVo在很长一段时间内持续运行的情况下,才会发生截断记录的影响。最初,公司建议用户偶尔切断DVR的电源,然后再次恢复电源;后来,该公司发布了一个补丁,这个补丁刻意用来永久性地根除这一问题。

  2006:游戏结束

  事件:你可能会说Bubble Bobble Revolution(泡泡龙革命)是一款难度惊人的游戏,它是20世纪80年代的经典街机游戏Bubble Bobble(泡泡龙)的Nintendo DS(任天堂掌上游戏机)版。例如,第30关是根本无法打过的。这真是在开玩笑,尤其这款游戏还吹嘘总共有100关。

  Bug:与很多街机式游戏一样,Bubble Bobble Revolution通过挑战玩家来击败一个überenemy(超级敌人,über来自于德语,相当于英语中的super,überenemy也就是所谓的boss)来结束关卡。但是,第30关没有boss可供打败,因此,就没有办法继续到第31关。几个月后,游戏的发行者Codemasters用一个调试后的版本替代了有问题的产品,并且以道歉的方式将其插入到另一个游戏Rainbow Islands Revolution中。

  2007:Skype出问题

  事件:8月16日,广为流行的Skype互联网电话服务的拥趸发现,Skype无法正常工作。这可不是偶然的中断——对于上百万的用户,Skype持续两天不能使用,对任何主要的Web服务来说,这可能是最长时间的断线了。

  Bug:在整个中断期间,Skype的雇员频繁地更新博客,公开地介绍他们纠正错误的努力尝试。但是,直到他们设法恢复服务之后,他们才说明发生了什么:Microsoft的Windows Update突然给数量众多的Skype用户的PC打补丁,这迫使他们的计算机重新启动。一旦所有这些PC重新启动,它们将同时尝试登录Skype。从理论上讲,该服务不应该令人担忧,但是,大量的连接尝试暴露出它在资源分配算法上的一个脆弱的bug。在随后的公告中,该公司说不会抱怨Microsoft。但是,正是由于设计来修正Windows bug的Windows Update补丁引发了问题,这一事件也被作为一个经典的案例,来说明消除bug 和听之任之这两者的风险是相同的。

  2007:盗版,随处可见的盗版

  事件:Microsoft的Windows Genuine Advantage版权保护技术设计用来给软件窃贼制造麻烦,它会拒绝盗版软件更新、督促他们付钱购买,并且关闭漂亮的功能。在8月26日,WGA开始随机地对那些已经为Windows版本付费的人们撒野。在长达19个小时的时间里,它基本上无法辨别付费用户和盗版用户。

  Bug:在一篇问题补救的博客文章中,Microsoft的Alex Kochis说,公司偶然将未竣工代码送入到WGA服务器使用,导致无法进行Windows正版验证。人们猜测所谓的未竣工代码是对Windows许可代码进行超强度加密的软件,但是,这个软件还没有批量生产。像鸡尾酒一样混合的Beta代码以及尚未发布的软件,都被证明是有害的,并且WGA开始拒绝合法的Windows许可,将其视为伪造的。这不是WGA唯一一次出错,但是,这次无疑是这一技术的最低谷。可能是作为对此事故的回应,Microsoft自此开始减少WGA的惩罚措施(最近,该功能重新命名为Windows Activation Technologies)。

  2008:比--更容易

  事件:当第一台基于Google Android OS的T-Mobile G1在秋季上市的时候,用户很快发现,如果你在其微小的键盘上输入“reboot”的话,手机真的会重新启动。如果这种情况不是在每个Android应用程序中的任何环境下都发生的话(即便你只是匆匆给你的奶奶写一封Email,建议她安装完新的软件之后reboot她的PC机),这听上去像是一个优点,而不是一个bug。

  Bug:Android是基于Linux的,它配备了一项令人讨厌的功能,该功能能够允许程序员以最高的权限登录并且从远程设备向手机发布命令行指令。遗憾的是,这一功能有如此多的bug,以至于手机总是接受命令,而不管权限级别。并且,如果没有找到远程设备,它将直接执行自己所留意到的在键盘上随时输入的命令。除了讨厌的重新启动,这个缺陷也潜在地很大程度上打开了安全漏洞,Google对此也很认同,并通过给Android打补丁来消除这一缺陷。

  2008:Zunes冻结的日子

  事件:你肯定会同情Zune的用户。不仅因为他们的MP3播放器被选作“Microsoft试图耍酷的又一次失败”的代名词,而且因为在12月31日,拥有30GB硬盘的型号的每个用户都发现他们的播放器本能地重新启动,然后当用户试图重新启动它的时候它冻结了。就好像某人为世界上的30GB Zunes设置了一个陷阱,阻止它们进入2009年。

  Bug: Julius Caesar在公元前45年发明闰年的时候,这一矛盾就开始出现了,但是,软件开发者似乎仍然没有理解它。Zune拒绝重启,是因为该设备处理闰年的方式的错误,这只是软件在遇到有额外一天的年份的概念时出现问题的众多例子之一。好在,修正起来很简单:在1月1日重新启动Zune就可以重新使用它们。然而,对于那些已经计划使用一个Zune来度过新年前夜的晚会的人们来说,这多少有点令人讨厌。

  2009:随处可见的恶意软件

  事件:在Google上搜索的时候,你是否注意到结果列表中的一项带有一条警告,说Google相信它带有恶意软件?如果你在1月31日一大早使用Google搜索的话,你就会看到。在那天早晨55分钟的时间内,Google的搜索结果标明每个站点对你的PC都是有害的。这涉及到整个Internet上的所有站点,包括Google自己的所有站点和服务。

  Bug:正如Google的Marissa Mayer在博客贴子中的说明,恶意软件检测功能通过在一个已知攻击者的列表上查找站点,从而识别出危险站点。在1月31日早晨,对这个列表的更新意外地包含了一条斜杠(“/”)。所有的URL都包含一条斜杠,并且,反恶意软件功能把这条斜杠理解为所有的URL都是可疑的,因此,它愉快地对于搜索结果中的每个站点都添加一条警告。很多软件错误源自于输入错误,但是,很少见到如此简单的一个输入错误带来的结果如此奇怪且影响如此广泛。

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: