欢迎光临,欧宝体育娱乐在线登录官网
CN EN
服务热线: 0769-85309665
产品中心

Product Center

产品中心

联系我们

电话:0769-85309665
传真:85322966
QQ:1559436599 1048038402
电邮:bbk100@126.com
地址:东莞市长安镇沙头358省道998号巨峰科技园

您现在的位置:首页 > 产品中心

历数软件史上最闻名的Bug

来源:欧宝体育娱乐在线登录    发布时间:2023-10-22 14:25:25
产品描述

  本文首发于 InfoQ Pro(infoqpro),InfoQ Pro 是由 InfoQ 推出的全新媒体服务渠道。重视咱们,第一时刻取得 IT 深度内容和会员定制福利。

  哪怕是一行小小的代码,或许会花费数亿美元。程序缺点、臭虫,电脑体系或许程序中存在的任何一种损坏正常工作才能的问题或许缺点,都能够叫做“bug”。本文作者列举了软件史上最为闻名的一些 Bug。

  本文开端宣布在 Medium 博客,经原作者 Kesk -*- 授权,InfoQ 中文站翻译并共享。

  在这个范畴不犯任何过错或许会很难,但走运的是,并不是一切的过错都如此贵重。在这份总结列表中,我收集了一些一向引起我留意的过错。

  1996 年 6 月 4 日,欧洲空间局(European Space Agency,ESA)发射的亚利安 5 号(Ariane 5)运载火箭在法属圭亚那的库鲁发射场发射后仅 40 秒就爆破了。这枚火箭通过长达十年的研制,耗资 80 亿美元后进行首飞,但这一 Bug 的成果导致了 3.7 亿美元的丢失。

  首飞失利的原因是整数溢出,这是核算机编程中一个都会存在的过错。在本例中,有人企图在 16 位空间中设置 64 位数字。

  在 64 位数字的国际里,这一个数字过分巨大,意味着存在编程过错。所幸这一过错很快就被发现了,当他再次登录时,他的账户现已归零。

  PayPal 表明愿意为 Reynolds 挑选的工作捐献一笔数额不详的资金。

  过程:翻开 Windows 核算器。输入 4,取平方根,你会得到 2。然后再减去 2。这时,你将在不同版其他 Windows 看到不同的成果,而不是 0。

  这个 Bug 的原因是核算器办理 sqrt 操作的方法。成果将保存为浮点数而不是整数,当涉及到浮点核算时呈现精度过错,这便是你能够正常的看到的成果。

  当火星气候勘探者号行将进入火星轨迹时,通讯产生中止,成果以过错的视点进入火星大气层,而不是进入火星轨迹。原因是喷气推动实验室(Jet Propulsion Laboratory,JPL)的导航团队在核算中运用了公制,但因为丹佛的洛克希德·马丁(Lockheed Martin)公司供给的要害加速度数据运用的是英制,而不同的衡量单位产生了抵触。

  这个 Bug 是数学教授 Thomas Nicely 在 1994 年发现的。这个 Bug 是影响第一代 Intel Pentium 处理器浮点运算器的硬件过错。因为这个 Bug,处理器在做浮点除时或许会回来不正确的二进制浮点成果。Intel 将这一失利归因于浮点除法电路运用的查找表中存在条目缺失。

  并不是一切的处理器都有这样的一个问题,可是大约有 500 万块有缺点的芯片被检测出来,Intel 公司在一开端就承受替换芯片的要求,条件是客户能够证明他们遭到缺点芯片的影响。

  不过,后来 Intel 公司仍是为任何投诉的客户替换了芯片,终究给公司形成了 4.75 亿美元的丢失。

  千年虫或 2000 年问题是指与 2000 年开端的日历数据的存储和格式化有关的事情。因为许多程序在表明四位数年份时只用最终两位数字表明,成果,2000 年和 1900 年无法区别,因而估计会呈现问题。

  例如,它影响到了每天核算利率的银行、核电站、医院、交通运输等中心以及许多其他方面。为纠正这一过错,全国际耗费了数十亿美元来晋级核算机体系。

  基本上,当 2038 年 3 月 19 日格林尼治时刻 03:14:07 到来时,仍在运用 32 位体系办理日期和时刻的核算机将会无法处理这种改变。与千年虫问题类似,到时核算机将无法区别 2038 年和 1970 年。

  但是,现在简直一切台式核算机的现代处理器都是 64 位体系,运转 64 位软件,到 2038 年,32 位体系还会不会存在,很难说。

  1991 年 2 月 25 日,海湾战争期间,沙特阿拉伯的爱国者导弹发射台未能追寻和阻拦一枚来袭的伊拉克飞毛腿导弹。飞毛腿导弹击中了美国陆军的一个兵营,形成 28 名战士逝世,约 100 人受伤。

  这一问题是因为核算机管用过错,导致发动后时刻核算不精确。精确地说,用体系内部时钟丈量的十分之一秒的时刻乘以 1/10,以秒为单位回来时刻,成果,它算出的时刻是过错的,导弹因而也就无法阻拦伊拉克飞毛腿导弹的进犯。相同又是体系的四舍五入过错。

  YouTube 的计数器之前运用的是 32 位整数,这是一个在核算机架构中用来表明数据的单元。这个 32 位整数确认了它能够计数的最大或许点击率为 2,147,483,647。

  《江南 Style》视频点击率超过了最大值,咱们就得到了闻名的《江南 Style》YouTube Bug。

  现在,YouTube 的视频计数器改用 64 位整数,这在某种程度上预示着视频最大观看人数为 922 万万亿。

  BSOD 或蓝屏死机(Blue Screen of Death),是 Windows 体系产生丧命体系过错后显现的蓝色过错屏幕。它显现了体系已溃散,此刻操作体系现已处于无法可靠地运转的状况。这是由几个不同的问题引起的,例如要害进程意外停止或一般硬件毛病。

  我信任,你读完这篇文章后,当日后你犯了一个过错,就不会感觉特别糟糕了。咱们是人,有时也会犯过错。但一定要当心!哪怕是一行简略的拼写过错的代码或许会形成数亿美元的丢失。

上一篇: 赛拉图轮胎尺度 赛拉图轮胎类型是多少

下一篇: 中国十大云计算公司排名