Changeset 76406 in webkit


Ignore:
Timestamp:
Jan 21, 2011 3:47:01 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

2011-01-21 Charlie Reis <creis@chromium.org>

Reviewed by Darin Fisher.

Crash in WebCore::HistoryController::itemsAreClones
https://bugs.webkit.org/show_bug.cgi?id=52819

Adds sanity checks to help diagnose the crash.

  • loader/HistoryController.cpp:

2011-01-21 Charlie Reis <creis@chromium.org>

Reviewed by Darin Fisher.

Crash in WebCore::HistoryController::itemsAreClones
https://bugs.webkit.org/show_bug.cgi?id=52819

Adds sanity checks to help diagnose the crash.

  • src/WebFrameImpl.cpp:
Location:
trunk/Source
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r76405 r76406  
     12011-01-21  Charlie Reis  <creis@chromium.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        Crash in WebCore::HistoryController::itemsAreClones
     6        https://bugs.webkit.org/show_bug.cgi?id=52819
     7
     8        Adds sanity checks to help diagnose the crash.
     9
     10        * loader/HistoryController.cpp:
     11
    1122011-01-21  Andreas Kling  <kling@webkit.org>
    213
  • trunk/Source/WebCore/loader/HistoryController.cpp

    r76205 r76406  
    659659bool HistoryController::itemsAreClones(HistoryItem* item1, HistoryItem* item2) const
    660660{
     661    // It appears that one of the items can be null in release builds, leading
     662    // to the crashes seen in http://webkit.org/b/52819.  For now, try to
     663    // narrow it down with a more specific crash.
     664    if (!item1)
     665        CRASH();
     666    if (!item2)
     667        CRASH();
     668
    661669    // If the item we're going to is a clone of the item we're at, then we do
    662670    // not need to load it again.  The current frame tree and the frame tree
  • trunk/Source/WebKit/chromium/ChangeLog

    r76390 r76406  
     12011-01-21  Charlie Reis  <creis@chromium.org>
     2
     3        Reviewed by Darin Fisher.
     4
     5        Crash in WebCore::HistoryController::itemsAreClones
     6        https://bugs.webkit.org/show_bug.cgi?id=52819
     7
     8        Adds sanity checks to help diagnose the crash.
     9
     10        * src/WebFrameImpl.cpp:
     11
    1122011-01-21  Chris Rogers  <crogers@google.com>
    213
  • trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp

    r76377 r76406  
    885885    ASSERT(historyItem.get());
    886886
     887    // Sanity check for http://webkit.org/b/52819.  It appears that some child
     888    // items of this item might be null.  Try validating just the first set of
     889    // children in an attempt to catch it early.
     890    const HistoryItemVector& childItems = historyItem->children();
     891    int size = childItems.size();
     892    for (int i = 0; i < size; ++i) {
     893      RefPtr<HistoryItem> childItem = childItems[i].get();
     894      if (!childItem.get())
     895        CRASH();
     896    }
     897
    887898    // If there is no currentItem, which happens when we are navigating in
    888899    // session history after a crash, we need to manufacture one otherwise WebKit
Note: See TracChangeset for help on using the changeset viewer.