Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 com.apple.WebCore 0x00000001011cd4c0 WebCore::Frame::ownerElement() const + 12 (Frame.cpp:1107) 1 com.apple.WebCore 0x00000001011f6d6c WebCore::FrameView::avoidScrollbarCreation() + 36 (FrameView.cpp:334) 2 com.apple.WebCore 0x00000001018101c4 WebCore::ScrollView::setHasHorizontalScrollbar(bool) + 38 (ScrollView.cpp:84) 3 com.apple.WebCore 0x00000001011f9faf WebCore::FrameView::~FrameView() + 359 (FrameView.cpp:165) m_frame is being destroyed here and is being accessed. To reproduce apply the following patch, build WebKit debug and run Safari: diff --git a/WebKit/mac/WebView/WebPreferences.mm b/WebKit/mac/WebView/WebPreferences.mm index 84a6e9e..28f8f17 100644 --- a/WebKit/mac/WebView/WebPreferences.mm +++ b/WebKit/mac/WebView/WebPreferences.mm @@ -357,7 +357,7 @@ static WebCacheModel cacheModelForMainBundle(void) [NSNumber numberWithBool:NO], WebKitWebGLEnabledPreferenceKey, [NSNumber numberWithBool:NO], WebKitUsesProxiedOpenPanelPreferenceKey, [NSNumber numberWithUnsignedInt:4], WebKitPluginAllowedRunTimePreferenceKey, - [NSNumber numberWithBool:NO], WebKitFrameFlatteningEnabledPreferenceKey, + [NSNumber numberWithBool:YES], WebKitFrameFlatteningEnabledPreferenceKey, nil]; // This value shouldn't ever change, which is assumed in the initialization of WebKitPDFDisplay
See Bug 36798
Could you try changing void ScrollView::setHasVerticalScrollbar(bool hasBar) { if (avoidScrollbarCreation()) return; to if (hasBar && avoidScrollbarCreation()) return;
I did that for both tests, and that prevents the crash.
Fix landed in r56856
Revision r56856 cherry-picked into qtwebkit-2.0 with commit 59daec93fc7ad1f4c5dbeb88b67aca17d6f4cc3b
*** Bug 36928 has been marked as a duplicate of this bug. ***
*** Bug 36915 has been marked as a duplicate of this bug. ***
*** Bug 36914 has been marked as a duplicate of this bug. ***
*** Bug 36913 has been marked as a duplicate of this bug. ***
*** Bug 36969 has been marked as a duplicate of this bug. ***
*** Bug 36927 has been marked as a duplicate of this bug. ***
*** Bug 36922 has been marked as a duplicate of this bug. ***
*** Bug 36920 has been marked as a duplicate of this bug. ***