0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Mozilla检测到Firefox出现了大量崩溃事件

Android编程精选 来源:OSC开源社区 2023-08-07 16:33 次阅读

近日,Mozilla 检测到 Firefox 出现了大量崩溃事件,这个问题主要发生在使用 Linux 系统的用户身上,尤其是使用基于旧版本 Debian 的 Linux 系统上。 经过调查,Mozilla 最后发现这个问题并非由 Firefox 本身引起,而是涉及到 Linux 内核和 Google 的 JavaScript 代码。

这些崩溃事件发生的十分突然,一开始 Mozilla 检测到数以千计使用一个名为 Huayra 的 Debian 发行版的用户受到影响,特别是 Huayra 5(基于 Debian 10)。后续的持续检测发现,这个问题影响了几乎所有基于旧版本 Debian 的发行版。

崩溃事件也并不是随机发生,而是能够 100% 复现。用户只要在 Google 上搜索图片 Firefox 就会出现崩溃,这个问题影响了所有版本的 Firefox 浏览器 —— 无论是最新版本还是非常老的版本,都会崩溃。

结合上面两个条件,Mozilla 的研究人员认定这个问题不是由 Firefox 这边引发的,问题应该是出在 Google 和旧版 Linux 那边,并开始分析这个问题发生的原因。

bc0563d0-3387-11ee-9e74-dac502259ad0.png

Mozilla 随后开始分析 Firefox 在崩溃时的行为,发现崩溃发生在堆栈探测期间。JIT 触及了为下一个 JavaScript 调用保存变量的区域,并不知为何导致了溢出。 第一个奇怪的地方在于,Mozilla 发现 Google 最近对其图像搜索页面进行了更改,该页面现在有一个 JS 函数,Google 在这个单独的函数中分配了 20000 个变量。进一步分析发现,这个函数可能是由 AI 生成的代码。 虽然发现了有这样的问题,不过理论上 Firefox 应该依然不会出现崩溃才对,因为 Linux 会自动扩展堆栈,Mozilla 团队也已经预留了足够的空间,随后他们通过查看受影响进程的内存确认了这一点。

在执行此操作之前,我们进行了堆栈检查并验证了我们分配的额外堆栈内存量不会溢出我们为自己设置的本机堆栈限制。因此,似乎存在我们自我施加的限制与操作系统限制之间的分歧。这在某种程度上取决于发行版,但很混乱:例如,它影响 Debian 10 但不影响 Debian 11。

随后 Mozilla 团队将检查重点放在了 Linux 内核上,结果发现 Linux 内核曾经有一个检查,可以防止对堆栈的访问离堆栈指针太远。特别是在 64KiB+256 字节以外的访问会产生崩溃,而不是扩展堆栈。这个问题在 Linux 4.20 中被修复了,所以使用较新的发行版的用户不受影响。 根据测试,Google 似乎已经在图片搜索中修复了这个问题,不过 Mozilla 仍然在着手研究解决方案,看看是否能为还在使用老系统的用户一劳永逸解决这个问题,以免未来发生同样的情况。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Google
    +关注

    关注

    5

    文章

    1772

    浏览量

    57763
  • 函数
    +关注

    关注

    3

    文章

    4345

    浏览量

    62924
  • 变量
    +关注

    关注

    0

    文章

    613

    浏览量

    28457

原文标题:Google 有一个函数,20000 个变量……

文章出处:【微信号:AndroidPush,微信公众号:Android编程精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ADS1298为什么无法检测到脑电信号?

    目前可以检测到心电和眼电,无法检测到脑电信号,已知电极没有问题。 自己做的PCB板,ADS1298配置为HR模式,1KSPS,gain=6,采用2.4V参考电压,关闭右腿驱动,3V单电源供电。将
    发表于 01-03 07:18

    江苏多维科技皮特级TMR芯片成功检测到高质量的成人实时心磁信号

    江苏多维科技皮特级TMR芯片成功检测到高质量的成人实时心磁信号
    的头像 发表于 12-16 16:07 189次阅读
    江苏多维科技皮特级TMR芯片成功<b class='flag-5'>检测到</b>高质量的成人实时心磁信号

    调试ADS1299时出现采集功能和电极脱落检测功能冲突的情况,怎么处理?

    在调试ADS1299时出现采集功能和电极脱落检测功能冲突的情况,具体表现是当我打开电极脱落检测功能时,共模抑制比从120dB降至90dB左右,请问是什么问题导致的呢? 期待您的回复
    发表于 11-22 08:08

    使用LMX2820时,电荷泵的输出无法检测到锁定是怎么回事?

    您好,在使用LMX2820时,电荷泵的输出会出现如图所示的情况,无法检测到锁定,输出的频率也与我目标的有些差距,请问是什么问题呢,感谢您的回答。另外我的环路滤波器与EVM板上一致,参考时钟信号为差分,Vpp=400mV。
    发表于 11-08 11:35

    Firefox、Chrome和Puppeteer已支持WebDriver BiDi

    近期,我们与 BrowserStack 一起见证 WebDriver BiDi 在 BrowserStack 中正式投入使用。并且 WebDriver BiDi 也继续得到了完善,Firefox
    的头像 发表于 11-06 16:35 535次阅读

    CYUSB3014 ezUsbSuite (eclipse) 启动时崩溃怎么解决?

    尝试使用带有 CYUSB3014 芯片的 ezUsbSuite,但它崩溃: 如有任何指点,不胜感激!.....!
    发表于 07-03 07:16

    nvs使用时出现的系统崩溃的原因?怎么解决?

    问题:设备使用nvs储存相关参数,设备开始正常使用,在一两个月后读参数的过程中出现系统崩溃,而且不是所以设备都有问题,只有百分之十以内会出现,在重新写完之后读会变正常以下是程序以及崩溃
    发表于 06-12 06:27

    Mozilla启动安卓版火狐Firefox浏览器性能调查程序

    来自用户的反馈显示,安卓版 Firefox 浏览器启用遥感测量后,可能会影响网站加载和浏览器启动速度。以 CNN 网站为例,测试数据表明,启用遥感测量后,CPU 加载页面的时间延长了 16.5 秒。
    的头像 发表于 05-31 10:02 550次阅读

    stm32的foc是怎么检测到无感无刷电机的转子的位置的?

    是怎么检测到无感无刷电机的转子的位置的?如果是通过ADC检测相电流的话,请说明怎么通过电流推导出转子的位置的。
    发表于 04-28 06:03

    Mozilla撤销Firefox 125更新中安全改进

    Firefox 125稳定版致力于改良底层代码,以期更有效地防止用户访问可疑URL地址。其官方描述为:“扩展下载保护得到加强,能够更加积极地阻止来自高风险URL的下载。”
    的头像 发表于 04-23 11:44 454次阅读

    IAR仿真时崩溃怎么解决?

    发现IAR有个BUG,程序中定义一个unsigned char型的变量,如果在代码中给变量赋某些值(比如0xEC,0xE0),在IAR仿真环境下查看该变量时会导致IAR奔溃退出。不查看该值就不会崩溃;如果赋的值是0x13或者其他值就不会。 有木有坛友遇到相似的情
    发表于 04-22 07:57

    Firefox Nightly新增原生垂直标签特性

    近日,基于Mozilla旗下的Firefox浏览器用户向来期望其能集成垂直标签页功能,这一愿景在Mozilla Connect页面被热烈讨论,迫切欲望仅次于原生标签分组功能以及恢复对PWA应用的支持。
    的头像 发表于 04-03 14:43 870次阅读

    Mozilla重启Firefox原生标签页组研发 

    查阅IT之家2015年报导显示,早在2009年,Firefox即开始提供一款名为Panorama的标签页组功能。然而,根据Mozilla的数据分析,这一功能的实际使用率仅为万分之一,故而在2016年被去除,Mozilla当时推荐
    的头像 发表于 03-19 14:16 398次阅读

    STM32F407VGT6低速晶振采用外置的无源晶振32.768kHz,出现大量的不起振怎么解决?

    最近公司买进了一批新的马来西亚生产的STM32F407VGT6单片机,低速晶振采用外置的无源晶振32.768kHz,出现大量的不起振问题,在初始化配置阶段一直在检测标志位的while
    发表于 03-18 06:36

    Mozilla发布Firefox 123.0稳定版,新添网站兼容性报告工具

    2023年2月20日,Mozilla发布Firefox 123.0稳定版及115.9 ESR版本,并更迭Beta、Dev、Nightly三个开发频道版本至124、125;手机版Firefox亦升级到123.0。
    的头像 发表于 02-20 15:45 728次阅读