火爆外网!23岁华人博士修复22年历史漏洞,网友:我喜欢这个故事

人工智能 新闻
年仅23岁的斯坦福大学华人博士,修复了一个已有22年历史的bug。一夜之间在外网爆火,引得无数网友围观和赞赏。有人直呼,喜欢这个故事!

近日,又有一位华人小伙在外网爆火,原因是修复了一个存在22年的Bug。

自2002年以来,这个错误就一直潜伏在Firefox浏览器的核心代码中。

当时,这款应用程序还被称为Mozilla浏览器,处于其早期版本的阶段。

事实上,这个bug的存在已经如同Firefox浏览器的一部分一样久远。

这个问题不仅仅比Firefox浏览器自身的发布历史更早,而且已经伴随我们很长时间了。

早在2002年6月,在司法部针对微软的反垄断案件即将进入最终辩论阶段时,Adam Price在他的Mac电脑上使用当时被称为Mozilla软件的时候,不得不应对一个一直存在的问题——工具提示。

「如果我将鼠标悬停在工具栏链接上,并等待一秒钟,将会出现一个黄色小框,其中包含链接的描述信息。现在,如果我使用command-tab将Mozilla切换至后台,那么这个黄色小框将依然停留在前台。唯一摆脱它的方法就是再次将Mozilla切换到前台,并将鼠标移开工具栏链接。」

这是Price在6月2日的描述。

此外,还存在一些与这个问题相关的其他错误,但Price确定了一个可以重复的错误情景。这个问题在过去几周、几个月、几年,甚至接近二十年的时间里,都被许多其他人所证实。

BUG难以修复

多年来,人们一直在检查该线程或者将其他错误标记为与该问题重复项。

有时,这个问题似乎已经得到了修复,但程序员和评论者却发现它在不同版本中略有不同,或者之前的修复似乎是偶然的。

有时,这个问题似乎也会在不同操作系统如Windows或Linux中出现。

也有人不希望这个bug解决。在该问题的21周年之际,丹尼斯(denis)评论道:「我有点倾向于让它永远存在,感觉就像是过去的一个遗迹。」

现在这个古老的问题已经不复存在,因为Bug 148624的修复已在九月初推送,这个修复已经包含在新的构建版本中。

笔者特意尝试在一台尚未更新至118.0.1版本的Mac上的Firefox浏览器中重新复制工具提示问题,但却未能再次重现它。

这次修复本身非常小巧,主要是添加了对文档是否具有焦点的检查,以确保工具提示的显示。

华人小伙修复BUG

修复这个长达二十多年bug的是华人Yifan Zhu。

Zhu出生于1999年,而三年前人们刚发现这个bug。

当Zhu开始研究这个问题时,他刚刚完成了斯坦福大学的本科和硕士学位。此时,他正在攻读电气工程博士学位,并受到本杰明·范·罗伊(Benjamin Van Roy)教授的指导。

个人主页:https://fanzhuyifan.github.io/

为Firefox的Tooltip Listener编写补丁的Yifan Zhu写信给Ars表示,他们首先在Linux上的Thunderbird中遇到了这个错误,屏幕上漂浮着看似随机的文本片段。

在虚拟桌面之间频繁切换导致主题行漂浮在屏幕上,这非常烦人。Zhu学会了切换回Firefox或Thunderbird,并在切换回来之前移动光标。

Yifan Zhu给Ars的信中说:他们首次遇到了这个问题是在运行Linux上的Thunderbird时,当在虚拟桌面之间频繁切换时,屏幕上会出现一些看似随机的文本片段,这真的很让人恼火。

Zhu发现,要解决这个问题,就必须切换回Firefox或Thunderbird应用,然后在再次返回之前移动鼠标光标。

因此,Zhu对这个问题越来越感兴趣,并着手进行研究,试图提交错误报告。

然而,他开始感到担忧,因为这个bug已经存在了20多年,但却一直没有得到修复。因为这只是一个小小的外观问题,不会导致程序崩溃,所以很可能没有人会花时间修复它。

Zhu在信中写道:除非我亲自来解决。

Zhu很有动力并且知道如何编程,但是他在像火狐浏览器这样复杂的项目中零经验,并且以前从未为开源项目做出过贡献。

然而这些困难并没有难到他,在他博士课程开始前的那个夏天,他写道:

「那么,为什么不呢?」

最终,Zhu提交了一个更新,使工具提示在Firefox失去焦点时显示,而不是在鼠标离开应用程序时。

网友赞不绝口

不久之后,Zhu收到了Emilio Cobos Álvarez的来信,Emilio改进了Zhu的方法,并协助将这个提交添加到代码库中。

虽然这个修复引入了一些新问题,但它也成功地解决了这个长期存在的错误。Cobos Álvarez称赞道:「他对Firefox的第一个贡献令人印象深刻!」

在社交媒体上,Mastodon对Zhu的贡献进行了热烈庆祝,并感到十分地高兴。

他感叹道,Bugzilla本身(bug报告工具)的存在时间甚至比bug还要长(截至8月已持续25年)。

有人赞叹了Zhu的英雄之旅:

不是任何人都能做出伟大的承诺,但伟大的承诺可以来自任何地方。

有些人甚至毫不犹豫地表示他们热爱这个故事,并随之而来的是大量的点赞和赞美。

尽管有句话说得好,在你解决一个bug时,可能会引发更多bug的出现。然而,网友们对这位华人小伙的工作给予了非常高的赞誉。

还有人感叹这就是开源的魅力,当你解决一个问题时候,所有人都能共享你的贡献,这是非常有意义的。

责任编辑:张燕妮 来源: 新智元
相关推荐

2023-10-12 16:34:20

Firefox计时器应用

2023-10-12 07:27:18

火狐浏览器

2022-09-23 00:09:48

项目Python漏洞

2014-10-29 15:44:55

2014-06-03 10:14:06

2023-12-22 16:06:40

2011-03-25 09:46:41

IBM高峰论坛

2014-05-13 15:00:59

2021-09-03 16:41:26

模型人工智能深度学习

2011-07-08 11:12:52

2021-09-10 10:47:30

程序员技能开发

2022-05-11 14:59:43

iPodTouch音乐播放器苹果

2021-11-14 11:50:36

Windows 11操作系统微软

2020-04-14 08:40:50

码农bug编程

2011-09-08 14:15:43

2011-05-03 14:28:26

打印机联想

2022-01-19 13:26:36

漏洞黑客攻击

2013-09-10 16:04:21

诺基亚WP微软

2020-08-11 09:30:39

科技人工智能企业

2013-04-15 13:53:27

编程程序员
点赞
收藏

51CTO技术栈公众号