【问题标题】:Firefox 28 (only Win7) crash after JS memory leakJS 内存泄漏后 Firefox 28(仅限 Win7)崩溃
【发布时间】:2014-03-25 15:10:55
【问题描述】:

我整天都在努力寻找奇怪的内存泄漏的原因,它只存在于 Firefox 28 并且只存在于 Windows 7 - Chrome(Linux / Win 7)以及相同版本的 Firefox for Linux 都可以.在旧版本的 Firefox for Windows 上也可以。

更奇怪的是,同样的功能在 FF 28 / Win 7 上运行良好,具有三个不同的数据集,但对于其他两个来说,它正在泄漏和崩溃浏览器......而且其他所有五个集合都完全正常平台/浏览器...

有人知道发生了什么吗?或者可以帮助我获得一些适当的跟踪工具,或者了解 Mozilla 页面上类似问题的一些错误报告?

而且我确定这不是由附加组件引起的 - 我已经安装了新的 Firefox 副本,甚至在安全模式下运行 - 它仍然在崩溃...

【问题讨论】:

    标签: javascript firefox memory-leaks


    【解决方案1】:

    我找到了导致内存泄漏的原因。也许这会帮助其他有类似问题的人:


    这个问题(可能)是由这个错误引起的: https://bugzilla.mozilla.org/show_bug.cgi?id=972515

    我的页面上有一些图表,其中很少有迷你图。我正在使用此代码制作动画 (source):

    var totalLength = path.node().getTotalLength();
    
    path
      .attr("stroke-dasharray", totalLength + " " + totalLength)
      .attr("stroke-dashoffset", totalLength)
      .transition()
        .duration(2000)
        .ease("linear")
        .attr("stroke-dashoffset", 0);
    

    在某些情况下,path.node().getTotalLength(); 会返回 NaN,并在制作动画时导致内存泄漏。从我的图表中删除上述代码可以解决问题。

    【讨论】:

      【解决方案2】:

      由于所有内存泄漏等原因,我刚刚对 FF 感到厌烦。我一直在运行 v16,因为每当我尝试升级到较新版本时,它们几乎都会在之后崩溃30 分钟的大量使用,而且我用过的任何一个版本的 FF 都没有修复过内存泄漏问题。一个都没有。

      我实际上在 quicklaunch 上安装了一个小批处理文件,这样我就可以在 FF 耗尽我所有的 RAM 时快速杀死它,这样我就可以重新开始使用“恢复会话”来自动重新加载我以前的所有选项卡。在尝试了泄漏问题的所有“解决方案”之后,这是唯一对我有任何好处的解决方案。显然,mozilla 的傲慢的 tards 宁愿将 UI 调整到死,也不愿制作一个真正有效的浏览器。他们甚至比 Microsoft 还要糟糕,因为 Microsoft 迟早要听取客户的意见,否则就会破产,而非营利组织只能永远漂泊。

      无论如何,我刚刚完成了 PM 的安装,包括使用他们的小导入程序从 FF 导入所有内容,并且一切顺利,包括所有设置和我使用的大量附加组件。唯一的困难是连接 roboform,我离不开它。我终于傻了,让 roboform 任务栏程序将 roboform 附加到 PM,然后完美运行。然而,roboform 任务栏程序必须一直运行才能让 roboform 继续在 PM 上工作,但这对于永远抛弃 FF 来说是一个很小的代价。

      我已经使用 PM 一个星期了,每天打开/关闭/保留数百个标签,我惊讶于 PM 比 FF 快多少,以及 PM 占用的内存占用非常小与FF。即使经过一周的大量使用,PM 也没有超过 1 GB,甚至更好的是,当我关闭选项卡时,所有的 RAM 都被归还了。

      基本上,PM 应该是 FF。更妙的是,Pale Moon 背后的天才 Mark Straver 致力于让 PM UI 从根本上不受干扰。我将来也会在我客户的所有计算机上安装 PM 而不是 FF!

      (顺便说一句,所有针对 Firefox 内存泄漏问题的“推荐修复”都是一个恶作剧。其中没有一个有效。而且插件不会导致内存泄漏!Firefox 会!我怎么知道?因为我切换了到 Pale Moon,像在 Firefox 中一样导入所有内容,你猜怎么着?在 Pale Moon 中没有内存泄漏!哦,我使用 Adblock Plus、Flash、Java、DoNotTrackMe、BetterPrivacy CookieCuller、DownloadHelper、元素隐藏助手、IE 视图、ViewAbout 、Visited 和 roboform。所以这些都不会导致 firefox 内存泄漏问题!)

      【讨论】:

        猜你喜欢
        • 2016-07-14
        • 1970-01-01
        • 1970-01-01
        • 2020-09-07
        • 1970-01-01
        • 2018-04-04
        • 2013-02-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多