浏览器在繁重的单页应用程序上崩溃

时间:2014-06-11 10:08:30

标签: javascript crash single-page-application crash-reports

我们有一个很大的单页面应用程序,它不时开始崩溃。我们现在试图调试它一段时间,但不幸的是,仍然没有结果。我们使用传统的调试工具,但它们不是很有用 - 可能没有正确使用。

该应用似乎最常在Safari上崩溃,它在Chrome中不会崩溃,但它仍然会崩溃,所以我不能排除浏览器的问题。

我已经成功获得了这个崩溃报告,你可以在这个问题的最后找到它,遗憾的是我不知道该找什么。我知道它很大,我只是把它扔给你说“在这里,找到一个bug”,但是你可以看看它并给我一些提示可能是错的或者我应该在报告中关注什么?

以下是崩溃报告http://pastebin.com/bNxpuS6T

由于

1 个答案:

答案 0 :(得分:2)

我从崩溃报告和源代码中看到的是,你的JavaScript代码试图销毁一些DOM对象,同时仍在迭代这些对象,这就是崩溃的原因。

我想您可能想检查与空闲标签关联的任何计时器是否仍处于活动状态。

详情: WebKit崩溃了

  1   com.apple.WebCore   0x00007fff83cace2d WebCore::ScriptExecutionContext::willDestroyActiveDOMObject(WebCore::ActiveDOMObject*) + 45

源代码为(click here

void ScriptExecutionContext::willDestroyActiveDOMObject(ActiveDOMObject* object)
{
    ASSERT(object);
    if (m_iteratingActiveDOMObjects)
        CRASH();
    m_activeDOMObjects.remove(object);
}