网易首页 > 网易号 > 正文 申请入驻

我所见过的最奇怪的Bug

0
分享至

Bug 千千万,文中提到的 bug,你遇见过吗?

原文链接:https://engineering.gusto.com/the-weirdest-bug-ive-seen-yet/

未经允许,禁止转载!

作者 | Amy Lai 译者 | 弯月

责编 | 夏萌

出品 | CSDN(ID:CSDNnews)

问题介绍

最近,我们收到了一份报告,说用户在使用内部软件时Chrome突然崩溃了。这导致我们正常的客户服务受到了各种干扰,他们在回复客户的电子邮件或与客户通话期间,突然就看不到工作所必需的客户账户信息了。

图:Chrome窗口崩溃

本来这并不属于我们的工作范围,通常浏览器兼容性之类的问题由其他团队负责,所以我对调试浏览器一窍不通。我应该从哪里着手呢?于是,我求助于一位经验更丰富的队友,我们的产品基础设施团队以及IT团队。

第一条线索

我们首先尝试找出受影响的用户有哪些共同点。

我们很快了解到:

  • 并非所有员工都受到了影响。

  • 面向客户的软件似乎没有受到影响。

  • 其他内部软件页面似乎都很正常。

  • 这个页面并不是每次都会崩溃。遇到此问题后,用户反复尝试重新加载该页面,有时会崩溃,而有时则不会。

  • 并非所有的内部页面都会崩溃,但其中有多个页面崩溃,包括访问最多的页面。

  • 在Safari或Firefox中未发生此问题。

猜测一:Chrome的版本问题

我们最初猜测可能是Chrome的版本问题。于是,我们让其中一个受影响的用户升级他们的Chrome版本,初步迹象看起来问题有希望得到解决。然而,我们很快了解到,尽管安装新的Chrome版本后,页面的崩溃频率降低了,但问题并没有得到根除。

此次尝试,我们获得了以下新线索:

  • 特定Chrome版本的发布已经有一段时间了。

  • 受影响的用户使用了不同版本的Chrome。

  • 使用相同版本的Chrome版本,有的用户受到了影响,而有些则未受影响。

  • 升级/降级受影响用户的Chrome版本无法解决问题。

猜测二:Chrome扩展问题

也许是Chrome扩展的问题?我们尝试让其中一个用户禁用了三个核心扩展,崩溃就停止了,于是我们以为问题得到了解决。然而,当我们尝试使用访客配置文件(没有扩展)重现修复操作时,仍然看到了崩溃。我们又回到了起点。

难以重现的bug
我们的基础设施团队向所有工程人员发送了一条消息,询问是否有人能够重现这个问题。令人沮丧的是,尽管我们的许多客户服务代表都受到了影响,但除了两名土耳其的工程师外,所有工程团队都没有报告任何崩溃。经过几周的努力,我们逐渐了解到以下情况:

  • 出于安全原因,我们未启用Chrome崩溃报告。

  • 从几周前的代码库中检出代码并没有解决问题,这表明该问题不是由于最近的代码变更引起的。

  • 加载页面的静态HTML版本并不会引发崩溃。

  • 使用开源的Chromium代替Chrome不会引发崩溃,因此我们无法得知哪一段Chrome代码出现了问题。

  • 引起Chrome崩溃的不仅仅是一个内部应用,还有好几个。

  • 删除页面的特定内容并没有解决问题。

  • 禁用内部字体并没有解决问题。

为了回避这个问题,我们的用户开始使用其他浏览器,因此这个问题的紧迫性也有所缓解。由于还有其他重要的工作,因此这个bug的调查进度缓慢。在无法重现Bug的情况下,我们没有太多的线索。然而,我们希望解决这个问题,因为用户在Chrome中设置了书签/设置/首选项。我们认为,我们不应该要求用户避免使用这款流行的浏览器,并且我们仍然会定期收到来自各种用户的询问,问我们这个Bug的调查是否有了进展。

好运降临

有一天,一名工程师突然报告说她也受到了影响。她唯一的改变是下载了Grammarly桌面应用程序。

等等,真的吗?我们必须试试看能否重现这个bug。

  • 下载Grammarly桌面应用程序。问题立即重现了!

  • 删除Grammarly。问题没有消失。重启电脑,问题又消失了。

  • 重新安装Grammarly。Chrome又开始崩溃了。

我们与许多受影响的用户确认,他们也在计算机上安装了Grammarly。于是,我们有了突破口!

进展

由于调试能力得到了极大改善,所以我们进行了一些尝试:反复修改代码,然后重新加载页面,直到页面崩溃。

我们的主内部应用构建于ActiveAdmin之上,但新的一部分使用了React。用React构建的页面没有崩溃。这么说是我们的ActiveAdmin代码引发了崩溃?

早些时候,我们了解到删除页面上的特定内容无法解决问题,因此我们开始查看多个页面共同的代码,比如主导航栏和侧边栏。值得注意的是,我们的React页面使用了不同的导航栏。

我们的主导航栏代码涉及很多元编程,追踪这些线索常常会让人更加困惑。最终,我们弄清楚了如何注释掉导航栏的一部分,直到最后我们找到了一行代码,注释掉该行代码Chrome就不会再崩溃:

这个小节叫做“My History”,它不同于主导航的其余部分,所有用户看到的内容不一定相同,它是针对每个用户定制的,显示的是每个用户最近访问的几个页面。我们发现即使页面成功加载,将鼠标悬停在“My History”上也会导致Chrome立即崩溃。

接近真相猜测三:Turbo

我们的目光停留在了turbo: true。这可能是导致问题的原因吗?Turbo是一个gem,是我们为了提高Rails应用程序的速度而添加进来的,但事实证明这并非问题所在:Turbo是在Bug报告之后才引入的,我们了解到引入Turbo的工程师在这之前的几个月就遇到过Chrome崩溃的问题,甚至在问题报告给我们之前几个月。

那么dropdown的定义在哪里呢?我们使用一款名为Arbre的框架从这种类型的方法中元编程HTML。为了浏览内部结构,我向中一位对Rails有深刻了解的工程师寻求帮助。最后获得的相关代码如下:

这段代码生成的HTML如下:

我们用生成的HTML替换dropdown的调用,然后逐步删除这些HTML,直到最后我们锁定了罪魁祸首。

真相大白

当我删除loader-spinner.gif(菜单选项加载时显示的占位符)之后,页面停止崩溃。真相揭晓!就是这个gif!我们替换成了另一个gif,页面没有崩溃。

我们下载了这个图片文件,将其拖入浏览器窗口。伴随着莎士比亚式的戏剧化,页面当即崩溃了。我和同伴都倒吸了一口气。

我们还发现:

  • 在Safari中打开该文件不会导致崩溃。

  • 卸载Grammarly并重启计算机后,在Chrome中加载该文件不会崩溃。

于是,我们通知了设计系统团队这个非常奇怪的现象,这个导致Chrome崩溃的gif,他们迅速换了一个新的文件。

为什么在安装了Grammarly的情况下,这个特定的gif会导致Chrome崩溃?不幸的是,由于无法访问Chrome和Grammarly的源代码,所以我们只能猜测。在我们替换了这个gif之后,Grammarly或Chrome(或二者共同)都解决了这个问题,因为原来的gif也不会再导致Chrome崩溃了。

结束语

我永远都想不到调试的尽头有一个gif在等着我。

尽管我们找到了解决方法,但在这期间内,这个bug的优先级也发生了变化,但最终我们的好奇心战胜了一切。虽然无法靠个人的力量独自解决这个bug,但我们通过坚持不懈的努力和共同协作,最终解决了这个问题。

「极客头条」—— 技术人员的新闻圈!

CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。

整理 | 梦依丹

出品 | CSDN(ID:CSDNnews)

一分钟速览新闻点!

  • 华为余承东回应“遥遥领先”被调侃:只有领先比较多时才说

  • 小米重回国产手机品牌市场份额第一,雷军:小米加油

  • 周鸿祎称大家对 AI 充满不切实际的膜拜,甚至有人找他做养猪大模型

  • 微信视频号电商 GMV 超千亿,微信支付团队将参与建设

  • 余承东发文回应懂车帝测试:坑人的测试

  • 谷歌母公司 Alphabet 在与 Epic Games 的反垄断诉讼中败诉

  • 苹果发布 iOS 17.2 正式版,带来新的「手记」APP

  • 消息称苹果 Vision Pro 上市在即,已着手培训零售店员工

  • Arm 首席执行官“夜不能寐”:担心人类会失去对人工智能的控制

  • 传联发科已经拿下苹果等大厂的 WiFi 7 芯片大单

  • 8 天 4 个国家!黄仁勋密集亚洲之行透露出哪些信号

  • Linux Mint 21.3 Beta 发布,实验性支持 Wayland

  • 《Doom》发布 30 周年

国内要闻

华为余承东回应“遥遥领先”被调侃:只有领先比较多时才说

日前,余承东在华为花粉年会上回应被网友调侃的“遥遥领先”,称自己一场发布会有时最多有一个遥遥领先,甚至有时一个都没有,只有在这个领域领先比较多的时候才会说。余承东还表示,想要做到“遥遥领先”非常不容易,每一个领先的背后都是研发创新、技术投入和不断努力的结果。(成都商报红星新闻)

小米重回国产手机品牌市场份额第一,雷军:小米加油

据 BCI 最新数据显示,11 月中国手机市场,小米以 18.3% 站上国产品牌第一、总排名第二,苹果以 21.1% 的份额排名第一。具体来看,iPhone 当月激活量 604.4 万台,同比增速 2.2%,同比激活量增长 13 万台,小米手机当月激活量为 524.3 万台,同比增速 44.1%,同比激活量增长 160.5 万台。对此,小米集团合伙人卢伟冰表示:“离苹果还有差距,继续努力”,随后,小米 CEO 雷军转发并评论:“小米加油!”(快科技)

周鸿祎称大家对 AI 充满不切实际的膜拜,甚至有人找他做养猪大模型

在 2023 中国企业领袖年会上,360 创始人周鸿祎对于最近的 AI 大模型热潮发表了看法。他表示,(感觉)大家对大模型充满了一种无限的向往或者不切实际的膜拜,之前还有人找他做养猪大模型。他认为,大模型的技术路线突破才短短几年,目前还存在着很多缺点。他希望大家对大模型有一个正确的认知,不要高估现在大模型的能力,不要低估大模型未来发展的潜力,虽然它现在已经可以跟实体产业相结合,但它还不能完全接管此类业务,应该扬长避短发挥它的长处,因为很多短板还有待解决。(凤凰网科技)

微信视频号电商 GMV 超千亿,微信支付团队将参与建设

据《晚点 LatePost》报道,微信视频号电商今年的成交总额(GMV)在一千亿元左右。同时,腾讯还将进一步扩大视频号电商业务的队伍:除了负责前端产品的视频号直播团队外,微信支付团队也将加入视频号电商的建设,参与各行业类目、达人、客户的拓展与运营,以及交易产品等基础功能的搭建。视频号的日活跃用户数在 2022 年三季度超越快手后,商业化也被提上了日程。去年 7 月,视频号分别上线了视频号小店和原生的信息流广告。知情人士透露,视频号的商业化在今年也已被腾讯确定为最重要的集团战略之一。

余承东发文回应懂车帝测试:坑人的测试

针对懂车帝对问界 M7 严寒续航测试成绩垫底,华为智能汽车解决方案 BU 董事长余承东发文称“坑人的测试!科学与严谨才是应该遵循的基本规则!”

近日,懂车帝测试严寒情况下的混动车型纯电续航达成率,约 20 个车型参加测试。其中比亚迪仰望第一,85.08% 的续航达成率;问界 M7 增程版倒数第一,只有 31.6%。针对此测试,余承东和 AITO 汽车均发文进行回应。(新浪科技)

国际要闻

谷歌母公司 Alphabet 在与 Epic Games 的反垄断诉讼中败诉

据外媒报道,Alphabet 输掉与《堡垒之夜》开发者 Epic Games 之间的反垄断官司,此前 Epic Games 起诉谷歌应用商店违反反垄断法。(财联社)

苹果发布 iOS 17.2 正式版,带来新的「手记」APP

苹果今日发布了 iOS 17.2,本次更新带来了新的「手记」APP,同时增强了操作按钮和「相机」。「手记」APP 于 6 月在 WWDC 活动上发布,该应用程序旨在让用户记录生活中的关键时刻。「手记」APP 包括手记建议、预定通知以及用于添加照片、位置等的选项。对于 iPhone 15 Pro 系列两款机型,iOS 17.2 为操作按钮添加了翻译选项,可快速翻译短语或与讲其他语言的人对话。还支持录制空间视频,并可在苹果即将推出的 Vision Pro 头显中查看。值得注意的是,同步更新的 watchOS 10.2,恢复了在手表屏幕上滑动来更改表盘的功能,苹果在 watchOS 10 首次亮相时删除了这一功能。

消息称苹果 Vision Pro 上市在即,已着手培训零售店员工

据彭博社记者马克·古尔曼报道,苹果零售店已经开始为 Vision Pro 做准备,这意味着这款产品即将发售。苹果之前只告诉员工们这一培训将会在 2024 年初进行,大约与 Vision Pro 发售的时机接近。根据古尔曼的说法,现在这些研讨会已经开始安排下去,具体的培训活动将于明年 1 月中旬开始,每位员工需要接受为期两天的培训。(IT之家)

Arm 首席执行官“夜不能寐”:担心人类会失去对人工智能的控制

软银旗下芯片设计公司 Arm 的首席执行官 Rene Haas 在近期接受采访时表示,他担心人类可能会失去对人工智能的控制。他表示,人们必须要有一些控制、预留后门以及关闭它的方法。(财联社)

传联发科已经拿下苹果等大厂的 WiFi 7 芯片大单

据媒体报道,联发科已经拿下全球平板龙头美系品牌、英特尔笔记本电脑平台、各大手机厂 WiFi 7 大单,成功打破了博通长期垄断 WiFi 芯片市场的局面。消息显示,联发科 WiFi 7 芯片将会采用台积电 6nm 制程量产,预期明年上半年将开始拉高投片动能。(芯智讯)

8 天 4 个国家!黄仁勋密集亚洲之行透露出哪些信号

英伟达 CEO 黄仁勋的亚洲之行已经有了丰厚的收获,先后公布了在日本、新加坡、马来西亚和越南四国的合作或投资计划,表现出这家人工智能芯片巨头对于亚洲市场的重视。此外,英伟达和亚洲各国的本地厂商展开合作,或许也是为了应对美国政府新的芯片出口限制政策。(澎湃新闻)

程序员专区

Linux Mint 21.3 Beta 发布,实验性支持 Wayland

基于 Ubuntu 的桌面发行版 Linux Mint 释出了 21.3 Beta,它的默认桌面环境 Cinnamon 释出了 6.0 版本,加入了对 Wayland 显示服务器的实验性支持。Wayland 已有 15 年历史,旨在取代 X Window 系统,它已被流行桌面环境支持。Cinnamon 6.0 默认仍然是 Xorg。其他更新包括:75% 缩放支持,改进手势,改进应用 Hypnotix TV,等等。Linux Mint 21.3 代号为 Virginia,将是一个长期支持版本,一直支持到 2027 年。详情可查看: https://blog.lin uxmint.com/?p=4611(Solidot)

《Doom》发布 30 周年

id Software 于 1993 年 12 月 10 日发布了具有里程碑意义的游戏《Doom》。游戏在多个领域开创先河并获得广泛认同,它使用了包围游戏角色的 3D 环境绘图、多人游戏支持,并且能让玩家自由创建扩展游戏内容的 WAD 架构。由于它对游戏工业的冲击之大,在 1990 年代中期以后激增的 FPS 游戏,通常被称为“类DOOM(Doom-like)”游戏。为庆祝《Doom》30 周年,id Software 联合创始人约翰·卡马克(John Carmack)和约翰·罗梅洛(John Romero)再次团聚,通过 Twitch 和 Craddock 讨论了《Doom》。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
降薪850万,重签快船!伤病毁了小卡的生涯,三巨头解体或难改变

降薪850万,重签快船!伤病毁了小卡的生涯,三巨头解体或难改变

呆哥聊球
2024-06-16 12:28:04
“花几百块让朋友出丑一个月”,地铁广告成了00后最新社死神器

“花几百块让朋友出丑一个月”,地铁广告成了00后最新社死神器

科学发掘
2024-06-16 12:45:06
热情似火!克罗地亚队官推晒球迷照:柏林街头被格子衫占领

热情似火!克罗地亚队官推晒球迷照:柏林街头被格子衫占领

直播吧
2024-06-15 21:53:29
差不多2年4500万?名记:掘金担心波普像去年布朗一样被挖走

差不多2年4500万?名记:掘金担心波普像去年布朗一样被挖走

直播吧
2024-06-16 08:00:07
27岁女博士确诊HIV阳性,被传染的途径让人无法接受!

27岁女博士确诊HIV阳性,被传染的途径让人无法接受!

华人星光
2024-06-14 16:20:08
就业率爆了!2024年应届生该如何应对?

就业率爆了!2024年应届生该如何应对?

帝都观日记
2024-06-16 00:15:34
妹妹刚考上大学,亲哥竟将她灌醉,第二天妹妹醒来感动哭了

妹妹刚考上大学,亲哥竟将她灌醉,第二天妹妹醒来感动哭了

好笑娱乐君每一天
2024-06-13 07:35:02
教育经费已经超过了6万亿,比军费还多出了4倍!都用在了哪里?

教育经费已经超过了6万亿,比军费还多出了4倍!都用在了哪里?

十三级台阶
2024-06-15 15:13:13
好大的胆子!海警新规生效第一天,菲海警船再闯仙宾礁和黄岩岛!

好大的胆子!海警新规生效第一天,菲海警船再闯仙宾礁和黄岩岛!

可乐爱音乐
2024-06-15 23:53:24
网传武汉东湖学院女生要了30万后玩消失!男主满贴吧搜寻追讨…

网传武汉东湖学院女生要了30万后玩消失!男主满贴吧搜寻追讨…

火山诗话
2024-06-15 20:06:28
荒诞!医学院老师因紧急救人致上课迟到,被罚2000元和评优资格?

荒诞!医学院老师因紧急救人致上课迟到,被罚2000元和评优资格?

走读新生
2024-06-16 00:04:47
日本公开全球军事实力,中国排名令人意外,印度直呼不敢相信

日本公开全球军事实力,中国排名令人意外,印度直呼不敢相信

小刀99
2024-06-13 12:58:51
FirstSpear公司“快速索降手套”让士兵落地之后快速进入作战状态

FirstSpear公司“快速索降手套”让士兵落地之后快速进入作战状态

hawk26讲武堂
2024-06-15 13:13:09
1960年,王光美和女儿在北戴河海滩

1960年,王光美和女儿在北戴河海滩

视点历史
2024-06-13 17:33:24
“南涝北旱”之下:有河南农户一个人浇地60亩,有广东居民一周没见到太阳

“南涝北旱”之下:有河南农户一个人浇地60亩,有广东居民一周没见到太阳

红星新闻
2024-06-15 17:47:11
五毛特效?歼15当船超低空倒飞,垂尾都刮到水面了

五毛特效?歼15当船超低空倒飞,垂尾都刮到水面了

三叔的装备空间
2024-06-12 10:26:50
沙特背刺中方?2000亿基建项目绕过中国,中国乐了:结果反转!

沙特背刺中方?2000亿基建项目绕过中国,中国乐了:结果反转!

小陆搞笑日常
2024-06-14 19:44:12
全额奖学金邀请姜萍?香港中文大学回应:消息不实

全额奖学金邀请姜萍?香港中文大学回应:消息不实

封面新闻
2024-06-15 13:19:10
汪小菲携妻亮相华谊晚宴,马筱梅全程盯着吴彦祖,眼神暧昧惹争议

汪小菲携妻亮相华谊晚宴,马筱梅全程盯着吴彦祖,眼神暧昧惹争议

果娱
2024-06-15 14:16:58
英国王妃凯特半年来首次露面!瘦成一道闪电击破各种谣言

英国王妃凯特半年来首次露面!瘦成一道闪电击破各种谣言

九方鱼论
2024-06-15 22:51:35
2024-06-16 14:10:44
CSDN
CSDN
成就一亿技术人
24726文章数 241820关注度
往期回顾 全部

科技要闻

iPhone 16会杀死大模型APP吗?

头条要闻

上海一家三口出动去香港过周末 在高铁动卧睡一晚就到

头条要闻

上海一家三口出动去香港过周末 在高铁动卧睡一晚就到

体育要闻

没人永远年轻 但青春如此无敌还是离谱了些

娱乐要闻

上影节红毯:倪妮好松弛,娜扎吸睛

财经要闻

打断妻子多根肋骨 上市公司创始人被公诉

汽车要闻

售17.68万-21.68万元 极狐阿尔法S5正式上市

态度原创

手机
数码
教育
艺术
健康

手机要闻

华为Pura 70系列推送鸿蒙OS 4.2 167版升级:优化相机 拍月亮更强

数码要闻

优派 XG323-4K-OLED-2 显示器预告:原生 10bit、全功能 Type-C

教育要闻

视频 | 山东夏季高考试卷总数404.2万份,记者带您探访评卷现场

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

晚餐不吃or吃七分饱,哪种更减肥?

无障碍浏览 进入关怀版