ASan nightly 版¶
**ASan nightly 版项目**涉及构建一个包含流行的AddressSanitizer工具的 Firefox nightly 版浏览器,并增强其远程崩溃报告功能,以便检测到任何错误。
该项目的目的是查找在常规浏览过程中发生的细微内存损坏,这些损坏要么根本不会导致崩溃,要么以我们无法仅从崩溃转储中确定确切问题的方式崩溃。我们有很多无法采取行动的崩溃报告,而 AddressSanitizer 跟踪通常本身就更容易采取行动(尤其是使用后释放跟踪)。该项目的一部分是确定 ASan 是否以及可以为我们提供多少可操作的崩溃报告,只需四处浏览即可。当然,该项目的成功也取决于参与者的数量。
您可以使用以下链接之一下载最新版本。这些版本每天都会自动更新,就像常规的 nightly 版构建一样(与常规版本一样,您可以转到“帮助”→“关于 nightly 版”以强制进行更新检查或确认您运行的是最新版本)。
注意
如果您来这里是为了寻找常规 ASan 版本(例如,用于模糊测试或作为开发人员来重现崩溃),您可能应该转到地址 Sanitizer文档。
要求¶
当前要求为
基于 Windows 或 Linux 的操作系统
建议使用 16 GB 内存
特殊的 ASan nightly 版 Firefox 版本
如果您已经在使用常规 nightly 版,则与常规 nightly 版实例共享配置文件应该是安全的。如果您通常使用 beta 版或正式版构建(并且您希望能够切换回这些版本),则应考虑使用第二个配置文件。
警告
**Windows 用户:**请注意,Windows 版本在设置过程中目前会显示错误(请参阅下面的“已知问题”部分),但安装仍然可以进行。我们正在解决这个问题。
注意
如果您在具有任何额外安全限制的环境中运行(例如自定义进程沙箱),请确保您的 /tmp 目录可写,并且随附的llvm-symbolizer
二进制文件可在 Firefox 进程中执行。
首选项¶
如果您希望您的崩溃报告可识别,您可以转到about:config
并将**``asanreporter.clientid``**设置为您的**有效电子邮件地址**。这不是强制性的,当然您可以匿名报告崩溃跟踪。如果您决定使用您的电子邮件地址发送报告并且您拥有 Bugzilla 帐户,请考虑使用与您的 Bugzilla 帐户相同的电子邮件。然后,我们将针对您的崩溃报告中提交的任何错误抄送您。如果您的电子邮件不属于 Bugzilla 帐户,那么我们不会发布它,而只会使用它来解决有关您的崩溃报告的问题。
注意
设置此首选项有助于我们在我们对您的设置/操作系统有疑问时与您取得联系。请考虑使用它,以便我们如有必要可以与您取得联系。
漏洞赏金计划¶
作为参与该计划的特别奖励,我们决定将所有提交的报告都视为直接在 Bugzilla 中提交。这意味着以下报告
表明存在严重或高等级的安全问题
**并且**我们的开发人员可以修复
根据我们的客户端漏洞赏金计划规则有资格获得漏洞赏金。由于该报告通常不包含任何重现步骤或测试用例,因此它很可能会获得较低级别的赏金。与常规错误报告一样,我们通常会奖励第一个(可识别的)问题报告。
警告
如果您想参与赏金计划,请确保您已如上所述设置了**``asanreporter.clientid``**首选项。我们无法奖励任何未附带电子邮件地址的提交报告。
已知问题¶
本节列出了 ASan nightly 版版本中所有当前已知的限制,这些限制被认为是错误。
[删除线:Flash 目前无法使用]
错误 1477490[删除线:- Windows:由于误报导致堆栈检测禁用]
错误 1478096 - **Windows:**使用 maintenanceservice_tmp.exe 安装时出错
据报道,如果您在 120hz 刷新率的屏幕上运行,ASan nightly 版的性能特别差。切换到 60hz 可以大幅提高性能。
请注意,这些错误是**特定于**ASan nightly 版的,如跟踪错误依赖项列表中所列。有关此项目发现的错误的完整列表,请参阅此列表,并注意某些错误可能未显示,因为它们是安全错误。
如果您遇到此处未列出的错误,请在bugzilla.mozilla.org上提交错误或发送电子邮件至choller@mozilla.com。在提交错误时,如果您抄送该电子邮件地址并将错误阻止错误 1386297,将非常有帮助。
常见问题¶
收集了哪些额外数据?¶
该项目仅收集 ASan 跟踪和(如果您在首选项中设置)您的电子邮件地址。我们不收集任何其他浏览器数据,特别是您访问的网站或页面内容。它实际上只是提交到远程位置的崩溃跟踪。
注意
ASan nightly 版浏览器仍然具有常规 nightly 版浏览器的所有数据收集功能。以上答案仅指除了常规 nightly 版浏览器可以收集的内容之外,此项目额外收集的内容。
性能影响如何?¶
ASan nightly 版构建仅在启动和浏览时会略微变慢,有时甚至不会注意到。但是,内存消耗比常规构建高得多。做好准备,有时需要重新启动浏览器,尤其是在您同时使用大量标签页时。此外,更新比常规更新更大,因此更新的下载时间会更长,尤其是在您的互联网连接较慢的情况下。
警告
如果您遇到性能问题,请参阅上面的“已知问题”部分,特别是关于屏幕刷新率降低 Firefox 性能的问题。
稳定性如何?¶
浏览器与常规 nightly 版构建一样稳定。现在已经有很多人使用它进行日常工作数周了,我们几乎没有收到任何崩溃报告。
如何确认我正在运行正确的版本?¶
如果您打开about:config
并在搜索字段中键入“asanreporter”,您应该会看到一个名为asanreporter.apiurl
的条目,该条目与一个 URL 相关联。请勿修改此值。
警告
从 Firefox 64 开始,“ASan 崩溃报告程序”功能不再列在about:support
中
是否会支持 Mac?¶
我们正在努力支持 Mac,但这可能需要更长时间,因为由于硬件限制,我们在 Mac 上没有 ASan CI 覆盖范围。如果您从事发布工程工作并希望帮助尽早实现例如 Mac 支持,请随时联系我。