Bug 120835

Summary: [GTK] TestWebKitWebView::custom-charset test fails under DEBUG
Product: WebKit Reporter: Brian Holt <brian.holt>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: bugs-noreply
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 117689    

Description Brian Holt 2013-09-06 02:46:13 PDT
An assertion failure occurs in the HistoryController when running the custom-charset test.

ASSERTION FAILED: m_currentItem
../../Source/WebCore/loader/HistoryController.cpp(116) : void WebCore::HistoryController::restoreScrollPositionAndViewState()
1   0x7ff62fa93254 /home/WebKit/WebKitBuild/Debug/.libs/libjavascriptcoregtk-3.0.so.0(WTFCrash+0x1e) [0x7ff62fa93254]

which happens because in Source/WebCore/loader/FrameLoader.cpp:2170 
m_loadType == FrameLoadTypeReload is true, calling history()->restoreScrollPositionAndViewState();

https://bugs.webkit.org/show_bug.cgi?id=117689#c7 is helpful:
My 2 cents here: the problem occurs after reloading of the test page. In testWebViewCustomCharset webkit_web_view_set_custom_charset(test->m_webView, "utf8"); will trigger reload of the page. Since it is asynchronous operation at some point later other test will assert in void WebCore::HistoryController::restoreScrollPositionAndViewState(). (if you add test->waitUntilLoadFinished(); next line after webkit_web_view_set_custom_charset(test->m_webView, "utf8"); it will assert in the current test). Did anybody else come across this problem before? As for r150890 change - don't think it it is directly related to this problem - may be timing has changed or something like that.