WebKit Bugzilla
Attachment 356611 Details for
Bug 192403
: Add some sanity checks inside WebBackForwardList::addItem()
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-192403-20181205091957.patch (text/plain), 2.09 KB, created by
Chris Dumez
on 2018-12-05 09:19:58 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Chris Dumez
Created:
2018-12-05 09:19:58 PST
Size:
2.09 KB
patch
obsolete
>Subversion Revision: 238868 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 55dff1c019a85fac4133ba17220afb152054583b..ef98fa36fa754bf7379e947b560625a59e8b9407 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,16 @@ >+2018-12-05 Chris Dumez <cdumez@apple.com> >+ >+ Add some sanity checks inside WebBackForwardList::addItem() >+ https://bugs.webkit.org/show_bug.cgi?id=192403 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Add some sanity checks inside WebBackForwardList::addItem() to help debug <rdar://problem/46399319>. >+ This crash seems to indicate that WebBackForwardList::m_entries can contain duplicate entries somehow. >+ >+ * UIProcess/WebBackForwardList.cpp: >+ (WebKit::WebBackForwardList::addItem): >+ > 2018-12-04 Chris Dumez <cdumez@apple.com> > > Regression(r238817) PSON Page Cache API tests are failing >diff --git a/Source/WebKit/UIProcess/WebBackForwardList.cpp b/Source/WebKit/UIProcess/WebBackForwardList.cpp >index 22ca4c3db4f6d031e6069783c1d78bcff6fe19dc..0f63f034b378b3e84a412d8e8f997bc966b54a66 100644 >--- a/Source/WebKit/UIProcess/WebBackForwardList.cpp >+++ b/Source/WebKit/UIProcess/WebBackForwardList.cpp >@@ -92,6 +92,8 @@ void WebBackForwardList::addItem(Ref<WebBackForwardListItem>&& newItem) > if (!m_page) > return; > >+ ASSERT(m_entries.findMatching([newItemPtr = newItem.ptr()](auto& item) { return item.ptr() == newItemPtr; }) == notFound); >+ > Vector<Ref<WebBackForwardListItem>> removedItems; > > if (m_currentIndex) { >@@ -159,6 +161,8 @@ void WebBackForwardList::addItem(Ref<WebBackForwardListItem>&& newItem) > m_entries.insert(*m_currentIndex, WTFMove(newItem)); > } > >+ ASSERT(std::count_if(m_entries.begin(), m_entries.end(), [newItemPtr](auto& item) { return item.ptr() == newItemPtr; }) == 1); >+ > LOG(BackForward, "(Back/Forward) WebBackForwardList %p added an item. Current size %zu, current index %zu, threw away %zu items", this, m_entries.size(), *m_currentIndex, removedItems.size()); > m_page->didChangeBackForwardList(newItemPtr, WTFMove(removedItems)); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 192403
:
356611