Bug 36894
Summary: | Crash with frame flattening on after r56854 | ||
---|---|---|---|
Product: | WebKit | Reporter: | Greg Bolsinga <bolsinga> |
Component: | Frames | Assignee: | Nobody <webkit-unassigned> |
Status: | CLOSED FIXED | ||
Severity: | Normal | CC: | ain, beanoboy7, ddkilzer, drcarstens, hausmann, hyatt, kenneth, koivisto, mcroft, stamatgeorge, svetloslav |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | PC | ||
OS: | OS X 10.5 | ||
Bug Depends on: | |||
Bug Blocks: | 35784 |
Greg Bolsinga
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
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Greg Bolsinga
See Bug 36798
Kenneth Rohde Christiansen
Could you try changing
void ScrollView::setHasVerticalScrollbar(bool hasBar)
{
if (avoidScrollbarCreation())
return;
to
if (hasBar && avoidScrollbarCreation())
return;
Greg Bolsinga
I did that for both tests, and that prevents the crash.
Kenneth Rohde Christiansen
Fix landed in r56856
Simon Hausmann
Revision r56856 cherry-picked into qtwebkit-2.0 with commit 59daec93fc7ad1f4c5dbeb88b67aca17d6f4cc3b
Alexey Proskuryakov
*** Bug 36928 has been marked as a duplicate of this bug. ***
Alexey Proskuryakov
*** Bug 36915 has been marked as a duplicate of this bug. ***
Alexey Proskuryakov
*** Bug 36914 has been marked as a duplicate of this bug. ***
Alexey Proskuryakov
*** Bug 36913 has been marked as a duplicate of this bug. ***
Alexey Proskuryakov
*** Bug 36969 has been marked as a duplicate of this bug. ***
Alexey Proskuryakov
*** Bug 36927 has been marked as a duplicate of this bug. ***
Alexey Proskuryakov
*** Bug 36922 has been marked as a duplicate of this bug. ***
Alexey Proskuryakov
*** Bug 36920 has been marked as a duplicate of this bug. ***