RESOLVED FIXED 19249
Assertion failure in FrameView::scheduleRelayout() (m_frame->view() == this) clicking an image from the Phoenix Mars mission
https://bugs.webkit.org/show_bug.cgi?id=19249
Summary Assertion failure in FrameView::scheduleRelayout() (m_frame->view() == this) ...
mitz
Reported 2008-05-25 20:18:54 PDT
Clicking a thumbnail in the URL leads to ASSERTION FAILED: m_frame->view() == this (/WebCore/page/FrameView.cpp:778 void WebCore::FrameView::scheduleRelayout())
Attachments
Reduction (save as a file and open; will ASSERT) (258 bytes, text/html)
2008-05-25 22:28 PDT, mitz
no flags
Reduction without visited links (will ASSERT) (483 bytes, text/html)
2008-05-26 13:59 PDT, mitz
no flags
mitz
Comment 1 2008-05-25 20:29:47 PDT
I think the key is Document::updateDocumentsRendering() in the backtrace. The old document has changed children but it is no longer in the frame, so it should not update. Perhaps the function that puts a document into the page cache should take it out of the changedDocuments set. The bug doesn't happen when the back/forward cache is disabled.
mitz
Comment 2 2008-05-25 21:55:45 PDT
The URL is already dead and I cannot reproduce with other image galleries on the site :-(
mitz
Comment 3 2008-05-25 21:58:10 PDT
(In reply to comment #2) > I cannot reproduce with other image galleries on the site :-( Turns out disabling the back/forward cache is a sticky setting :-) I can reproduce with other galleries. URL updated.
mitz
Comment 4 2008-05-25 22:28:17 PDT
Created attachment 21345 [details] Reduction (save as a file and open; will ASSERT) While the page is in the back/forward cache, the link changes to visited, which changes the document and triggers a style recalc in the cached document.
mitz
Comment 5 2008-05-25 22:30:37 PDT
Comment on attachment 21345 [details] Reduction (save as a file and open; will ASSERT) Note: the reduction doesn't work when served over https from Bugzilla, because secure pages never enter the page cache.
mitz
Comment 6 2008-05-26 00:29:30 PDT
The issue appears to be more general: a script can hold a reference to a document in the back/forward cache and modify it, requiring relayout.
mitz
Comment 7 2008-05-26 13:59:08 PDT
Created attachment 21350 [details] Reduction without visited links (will ASSERT) An example of the same problem with a script modifying a document in the back/forward cache. A script can conceivably retroactively make the page ineligible for the back/forward cache, too.
mitz
Comment 8 2008-05-26 14:01:05 PDT
mitz
Comment 9 2008-08-01 00:06:28 PDT
*** Bug 20248 has been marked as a duplicate of this bug. ***
Brady Eidson
Comment 10 2009-04-30 17:12:04 PDT
This no longer reproduces.
Note You need to log in before you can comment on or make changes to this bug.