崩溃前的一个月,AT&T修改了代码以加快进程。问题是,事情发展太快了。第一个超载的服务器发送了两条消息,其中一条消息在第二个服务器重新设置时击中了它。第二台服务器假设它的CCS7内部逻辑中有一个错误,并进行了重新设置。它竖起了自己的“请勿打扰”标志,并把问题传给了第三个开关。
第三开关也得到了不堪重负,并自行复位,因此影响到整个系统的级联的问题。所有开关114在系统中保持重置自身,直到工程师降低了整个系统上的消息负载和复位的波终于爆发。
与此同时,AT&T估计损失了$ 6000万美元的长途电话费从没有通过电话。该公司采取了进一步的财政打了几个星期后,当它把长途电话费降低了三分之一在情人节,使与客户赔偿。
Windows的缺点
介绍了2006年,微软正版验证从来没有一个受欢迎的倡议微软的客户。消费者很难看到它的优点:它对一个合法的Windows安装的安全性和稳定性没有任何帮助。它所做的一切只是帮助微软根除软件盗版。
在那项任务中,它就像一个治安维持者一样警惕。事实上,在2007年8月底,它发现到处都是盗版即使是在成千上万的合法Windows用户中,看起来也是如此。
上周五,8月24日,有人在WGA团队不小心装bug-filled生产前的软件在WGA服务器上。团队快速地回到软件的测试版本,但是他们没有检查他们的修复是否确实解决了问题。它没有。因此在19个小时内,直到第二天下午3点,服务器标记全球数千个WGA客户端为非法。
Windows XP用户被告知他们运行的是盗版软件。Windows Vista用户受到了更严重的打击:他们关闭了一些功能,包括eye candy Aero主题和对ReadyBoost虚拟内存驱动器的支持。
官方对投诉的第一次回应并没有起到多大作用:不满的顾客被建议在周二重新验证。但是,即使问题得到了解决,周六下午,Vista客户端仍然需要重新验证他们的Windows安装,然后才能准备好返回到Aero。
好的,这在工程术语中是一个相对温和的问题,严格地说,它是由人为错误引起的。但问题是部署了错误的,未经测试的软件,当你考虑到受影响的人数,引发的愤怒程度和负面宣传的连锁效应,它比看起来更严重。
严重的身体缺陷
并不是所有的虫子都能一笑置之,有些甚至是致命的。医疗和军事软件如果没有经过适当的测试,就会特别危险,这些致命的缺陷就说明了这一点。
爱国者导弹误时
在第一次波斯湾战争中,伊拉克开火了飞毛腿导弹是对美军最具威胁的空降敌人。一旦这些超速死亡火箭发射,美国美国最好的防御是用爱国者反弹道导弹拦截。爱国者导弹的工作原理有点像猎枪,它先进入了一枚迎面而来的导弹的射程,然后发射出1000颗子弹来引爆它的弹头。
爱国者需要从最好的结果迎面而来的导弹部署其5到10米之间的颗粒。这需要分裂第二时序,这始终是棘手的两种物体的移动朝向彼此非常快。即使是爱国者的最突出的助推器,当时的美国总统乔治·H.W.布什承认,一个飞毛腿(满分42解雇)了过去的爱国者。单一故障总统承认是在一个美国基地,在沙特阿拉伯宰赫兰,在1991年2月25日,它耗资28名士兵他们的生活。故障被追踪软件错误。
爱国者导弹的弹道计算是根据雷达脉冲的时间来进行的,因此必须进行修改以适应现代导弹的高速飞行。介绍了一种将时钟时间更精确地转换为浮点数进行计算的子程序。这是一个整洁的组装程序,但是程序员并没有在需要的地方调用子程序。基于一个精确计时的雷达脉冲和一个不那么精确的时间的高速轨迹增加了部署时间不佳的机会。
显然,这个问题是已知的,一个临时解决方案已经到位:经常重新启动系统来重置时钟。不幸的是,“偶尔”一词并没有被定义,这就是2月底达兰会议的问题所在。方程组是r100个小时而时钟的误差约为三分之一秒。飞毛腿在这段时间内飞行了半公里,所以爱国者不可能拦截它。
在一个侧面说明,一些专家做对总统的索赔提出异议爱国者对飞毛腿的成功率超过97%,所以这个漏洞造成的伤害可能比达兰事件更大(但没那么严重)。
Therac-25医用加速器灾难
放射疗法是对抗某些癌症的一种便捷工具:电子束会杀死有害的物质,而身体则会处理死的物质。它有很强的成功率,但它取决于准确的目标和焦点。这是医学界留给机器的东西。不幸的是,在1985年到1986年间,有6名患者被确诊therac-25案例是有问题的机器。
所述therac-25案例处理两种类型的治疗:一个低功率的直接电子束和兆伏透视模式,这需要屏蔽和过滤器和离子室安全地保持危险光束上目标。麻烦的是,该动力单元中的软件从以前的模式改变用途,并没有充分的测试。
如果运营商改变太快了设备的模式,竞争条件发生了:被送到两个指令集,并第一个到达设定的模式。在6记录的案件,这意味着兆伏X射线被送往,未过滤的和未屏蔽,朝向需要直接电子疗法的患者。至少有两个人痛苦的尖叫起来,并试图从房间跑。他们都遭受辐射中毒,声称几个生命。
在1987年被召回的Therac-25已经成为了一个实物教训,说明了强大的医疗器械会出什么问题。在早期的Therac模型中,由于硬件限制,代码没有导致过量。在新系统上重用代码而不进行彻底的测试是编程上的禁忌,这是有充分理由的。
新系统确实在竞争条件的事件传递错误信息,但代码含义不清,无证,轻松地重写 - 这是运营商做了什么。有了充足的文档和培训中,过量就不会发生了。此外,更小的错误,设置标志变量偶尔造成溢出可绕过安全检查。
Multidata系统/钴60过量
不幸的是,Therac-25灾难并不是最后一次与软件相关的放射治疗失败。在Therac-25事件25年后,巴拿马国家癌症研究所的一台钴-60机器给24个病人服用过量药物伽马辐射。
如同therac-25案例中,钴-60系统是事故等待发生。不同于therac-25案例中,钴60是一种旧的,过度使用和维护不足的硬件。跑它是从多数据系统的售后方案,因为巴拿马医院负担不起什么机器的制造商,Theratronics,收取的软件。
谁经营的钴-60技术员两人退出,留下其余的工作16个小时,以跟上治疗。病得很重的病人有时会等待安排治疗,每天四到六小时。
过度劳累和疲惫技术要求一些软件维护,但管理层忽视了他们的请求。某处沿线,技术人员想出了一个更有效的方法来排队所定义的辐射的目标的盾牌。这不是在手册中,但它似乎工作。不幸的是,如果你在一个特定的顺序排列的盾牌,在多数据软件的不起眼的错误意味着患者overirradiated。由于大规模的过度劳累和undersupervision的,过程持续了七个月。
到时候多数据系统发布了关于在2001年中期是“创建一个自相交的形状轮廓数据输入序列”的顾问,这是为时已晚,许多患者。确切的死亡人数是很难计算 - 这些都是很恶心的病人,甚至他们的治疗前 - 但它是一个悲剧性的烂摊子了任何措施。
鱼鹰飞机坠毁
2000年圣诞节前两周,美国海军陆战队的鱼鹰(Osprey)一架混合飞机和直升机遭遇液压系统故障,本应在不造成人员伤亡的情况下进行补救。当鱼鹰号从飞机模式转向直升机模式着陆时,两个发动机箱中的一个的液压管路破裂。
根据海军陆战队少将在事件调查期间提交的报告,问题是“再加上电脑软件的异常。”飞行控制计算机在检测到液压故障时停止了发动机吊舱的旋转。
飞行员通过了正常程序,按下了主复位按钮,重新启动了吊舱。此时,两个螺旋桨都经历了“显著的俯仰和推力变化”,导致了失速。飞机坠入沼泽,机上四名海军陆战队员全部遇难。
软件漏洞的性质仍难以追查:波音公司和贝尔直升机公司提出的鱼鹰,波音公司的发言人仅表示,变化在软件制作。有关详细信息,要求被提到了政府,而截至目前,该解释还没有到来。
世界末日的bug
还记得1983年9月23日世界是如何陷入核危机的吗?没有?好吧,感谢你的幸运星——这是一个大虫子的故事,它们可以让整个世界停滞不前。
这一切都被一个人的常识避免了,他忽视了这个问题苏联预警系统的错误报告的来袭导弹,并在美国没有发动反击。雷竞技比分
在那个九月的早晨,警报系统在午夜半时开始鸣笛。显然,美国已经向美国总统所谓的“邪恶帝国”发射了五枚核导弹。
当时,中校斯坦尼斯彼得罗夫的理由他的方式来决定不回应:苏联在对骂与美国关于苏联攻击大韩航空公司007航班提前三个星期,但它只是在这个阶段修辞战斗。此外,如果美国要进攻苏联,就真的只能发射五枚导弹?
彼得罗夫命令部下屹立不倒,15分钟后,雷达前哨证实没有来袭导弹。这个决定花了不到五分钟,这是半小时内确认,并且仍然是世界和平。
后来对预警系统进行分析时,发现它的bug比郊区的堆肥堆还多——这意味着尽管斯坦尼斯劳斯·彼得罗夫(Stanislaus Petrov)拯救了世界,但他犯了一个严重的判断错误:他暴露了苏联程序员的无能。
这是不利于士气,或为中校。他冷遇到提前退休,是基本上是默默无闻,直到2004年5月21日,在旧金山的组织,叫做世界公民协会授予了最高荣誉——世界公民——以及对他的经济奖励。
从未存在过的bug:黑色星期一的黑暗秘密
这是举世公认的真理(的人谁不知道错误)是上世纪80年代股市繁荣的结束,1987年黑色星期一是由充满bug的软件引发的。这是华尔街有史以来单日最大跌幅:道琼斯工业平均指数暴跌508点,占其总市值的22.6%;标准普尔500指数下跌20.4%。这都是电脑模型的错误造成的。
但事实并非如此。
程序交易在当时相对较新,也较难理解,养老金缩水的人急于找到一个替罪羊,他们可以真正把责任归咎于它。指出一个错误的计划,要比理解估值过高、流动性缺乏、汇率的国际争端以及市场出了名的两极心理容易得多。所以电脑变成了坏人。
当然,程序化交易确实导致了美国市场的急剧下跌。这个软件包含了处理投资组合保险的策略模型,而1987年10月19日星期一的问题正是在这里出现的。投资组合保险衍生品与市场状况相联系。在香港和欧洲股市暴跌后,华尔街的太阳升起,随时准备作出反应:衍生品的作者在每一次下跌时都卖出,暴跌的价值引发了一连串的抛售。
但交易程序只是做他们被指示。他们为他们周围倒塌的金融市场上出售的事实是不是一个错误,这是一个功能 - 只是没有一个良好的深思熟虑的一个。
现在轮到你了,告诉我们你的虫子故事读者评论。
马特·莱克熟悉质量控制系统和审计,但他也在写一本科学书籍,其中有一个子章节是关于昆虫学的,这使他在很多方面都是昆虫鉴赏家。
这个故事,“史诗般的失败:11个臭名昭著的软件bug”最初是由计算机世界 。