首页 > 其他分享 >Mozilla 检测到 Firefox 出现大量崩溃事件

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

时间:2023-07-15 23:22:27浏览次数:42  
标签:Firefox Mozilla Linux 堆栈 崩溃 Debian

导读 近日,Mozilla 检测到 Firefox 出现了大量崩溃事件,这个问题主要发生在使用 Linux 系统的用户身上,尤其是使用基于旧版本 Debian 的 Linux 系统上。

经过调查,Mozilla 最后发现这个问题并非由 Firefox 本身引起,而是涉及到 Linux 内核和 Google 的 JavaScript 代码。

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

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

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

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

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

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 仍然在着手研究解决方案,看看是否能为还在使用老系统的用户一劳永逸解决这个问题,以免未来发生同样的情况。

原文来自:https://www.linuxprobe.com/linux-two-firefox.html

 

标签:Firefox,Mozilla,Linux,堆栈,崩溃,Debian
From: https://www.cnblogs.com/0227-yyds/p/17520586.html

相关文章

  • 离奇的std::map、std::set崩溃
    离奇的std::map、std::set崩溃现象描述定位之路1、和windows调用比较,没发现任何问题2、修改cmakelists.txt,发现也没有什么可以改的,能改的怎么改结果都一样3、最笨的办法之一用上,写一段这样的代码:4、面向互联网大法编程,百度、微软必应(不FQ,不能狗狗),发现一个帖子,缩小有问题代......
  • Firefox下 用Jquery 取checkbox的值 .
    <scriptsrc="js/jquery-1.5.2.js"type="text/javascript"></script><scripttype="text/javascript">//注意ie8和高版本的firefox不支持jquery对checked的选择器//vars=$('input[type="checkbox"][name="xx......
  • Firefox 无法建立到 localhost 服务器的连接解决办法
    1.问题 2.解决办法重新启动ApacheHTTP服务器(httpd)#systemctlrestarthttpd ......
  • Unreal Engine4 GPU崩溃或3D设备丢失的解决方案
    起因:UnrealEngine4在渲染时报错GPU崩溃或3D设备丢失解决办法:regedit 打开注册表在以下2个路径下新建 DWORD(32-bit)Value命名为  TdrDelay,并修改数值为:60(十进制)Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDriversComput......
  • 记一次 .NET 某埋线管理系统 崩溃分析
    一:背景1.讲故事经常有朋友跟我反馈,说看你的文章就像看天书一样,有没有一些简单入手的dump让我们先找找感觉,哈哈,今天就给大家带来一篇入门级的案例,这里的入门是从WinDbg的角度来阐述的,这个问题如果你通过记日志,分析代码的方式,可能真的无法解决,不信的话继续往下看呗!前段时间有位......
  • VScode连接WSL总是频繁断开连接,并且卡顿,导致windows系统崩溃
    vscode出现这种情况,原因在于win10自带的openSSH版本可能和vscode不太兼容,安装其他版本可能解决这个问题。本地使用的是win10自带的openSSH,版本是8.1p1。我们可以通过使用的是git自带的ssh版本来解决问题。解决办法:1.下载并安装git,网址:Git-Downloads(git-scm.com)配置环境......
  • firefox threejs 显示异常排查处理
    firefox版本:114.0.2threejs:0.135.0异常描述火狐浏览器下threejs3D页面展示的CSS3DSprite中的有borderborder-radius的div边框显示异常显示情况如下正常情况下的显示是这样的:<div></div>div{ position:fixed; cursor:default; width:auto!importan......
  • 免费修复一加手机高通崩溃qualcomm crashdump mode
    qualcommcrashdumpmodequalcommcrashdumpmodequalcommcrashdumpmode高通崩溃高通崩溃高通崩溃希望崩溃的小朋友们,送修之前能搜到。。线刷下载,挨个刷。。国内找个网站比较恶心,下载要要两块钱。。这个免费。。。https://onepluscommunityserver.com/list/Unbrick_Too......
  • 【服务器数据恢复】ext3文件系统下raid5热备盘同步失败导致阵列崩溃的数据恢复案例
    服务器数据恢复环境:两组分别由4块SAS硬盘组建的raid5磁盘阵列,ext3文件系统,通过LVM管理磁盘存储。服务器故障:一组raid5磁盘阵列中的1块硬盘故障离线,热备盘成功启用并开始同步数据,在同步还没有完成的情况下该组raid5阵列中的另外一块硬盘故障掉线,该组Raid5阵列崩溃,LVM结构损坏,文件......
  • Firefox多版本共存
    前言:有的项目要求兼容低版本Firefox,所以就需要多版本共存以方便调试 Firefox官方历史版本下载:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/点进去选择适合自己系统自己需要的版本下载版本最好是exe不要msi  下载得到安装包 选择自定义安装 选择安......