23 岁博士生修复 Firefox 中的 22 年“幽灵老 Bug”
2002 年 6 月 2 日,Firefox 用户报告了一个 bug:当鼠标悬浮在工具栏图标上时会展示相关提示(该项特性名为 'Tooltips')。如果此时将浏览器从前台切换到后台,该提示会仍然留在前台——就像幽灵一样。而摆脱这一恼人提示的唯一方法是再次将浏览器从后台切换到前台,然后将鼠标从工具栏上移开。
该 bug 的具体复现如下图所示:
22 年后 Mozilla 终于为 Firefox 修复了该 bug,对应的 Bugzilla 报告也终于关闭了。
根据科技媒体 arstechnica 的报道,帮助修复该 bug 的是斯坦福大学的一年级电机工程博士生 Yifan Zhu,这也是他第一次向开源项目贡献补丁。
▲ https://fanzhuyifan.github.io/
Zhu 出生于 1999 年,也就是该 bug 首次报告三年之前。他是在 Linux 上使用邮件客户端 Thunderbird 时首次遭遇该 bug,认为这个 bug 太恼人了。他试着报告该 bug,结果发现它已经存在了 22 年之久,至今还没有修复,可能是因为它是一个小问题也不会导致崩溃处理的优先度不高。
毕竟这个 bug 仅仅影响到非常小区域的 UI,用户顺手就能临时处理,而且有很多其他比它更严重的 bug 在排队等待解决,所以这个 bug 就这样变为了“陈年老 Bug”。
于是他决定自己来修复。他知道如何编程,也正好处于博士生开始前的暑假,但此前从未向开源项目贡献代码,也从未在 Firefox 之类的复杂项目上工作过。
虽然冲劲十足,但 Zhu 刚开始的修 bug 之路算不上顺利。他先是在整个代码库里搜索 'tooltip',然后检查可能存在错误的候选内容,并插入调试打印语句跟踪执行。这样的工作非常耗费时间。
不过正是通过这样的“笨方法”,Zhu 最后定位到了问题所在。当鼠标悬浮在某个元素上时,一个计时器会启动去显示 tooltip,在鼠标移出事件后计时器将会取消。但使用快捷键切换窗口或虚拟桌面时,Firefox 没有取消计时器。Zhu 递交了补丁,让 tooltip 的显示基于 Firefox 失去焦点而不是鼠标离开应用。
几个小时后,Zhu 收到 Mozilla 资深软件工程师 Emilio Cobos Álvarez 的回复,他帮助完善了 Zhu 的补丁并提交到代码库中,并表示 Zhu 的第一个 Firefox 补丁令人印象深刻。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
什么是多云? 为什么我们需要多云可观测性 (Observability)?
Observe 是一家提供可观察性云解决方案的公司,以帮助企业加速应用故障排查和问题解决的效率。公司成立于2017年9月,总部位于美国加利福尼亚州圣马特奥。到目前为止,Observe 已经在5轮融资中总共筹集了1.62亿美元。他们最近的一轮融资是在2023年10月5日,通过可转换票据融资筹集了5000万美元,并推出了新一代人工智能功能。 本篇内容是根据Observe官网的技术文章翻译整理,以下3点是NineData的数据库工程师对多云的思考: 多云是今天的现实,也是未来的趋势 (公共云基础设施用户中有86%正在实施多云策略); 多云环境下的数据管理成为新的需求,包括文章中提到的Observability; 云环境越来越复杂,既是困难,也是机遇。 什么是多云可观察性?它是一种令人兴奋的新的科技趋势,还是只是最新一轮的被技术观测和监控厂商的营销部门夸大的流行词?你可能已经猜到了,答案介于两者之间。就像科技中许多流行的流行词一样,它起源于组织所感受到的实际需求,但在不同的上下文中,它的含义也会有所不同。因此,如果使用了多个云,是否需要多云可观察性?如何实现多云可观察性?它与“常规”可观察性有...
- 下一篇
PgHero —— PostgreSQL 性能仪表板
pghero是一个Postgres 的性能仪表板。 查看实际效果 PgHero 可作为 Docker image、Linux 软件包和 Rails 引擎使用。 选择你喜欢的安装方法即可开始。 Docker Linux Rails
相关文章
文章评论
共有0条评论来说两句吧...