[Webkit-unassigned] [Bug 32009] New: Crash in RenderBlock::startDelayUpdateScrollInfo
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Nov 30 23:17:21 PST 2009
https://bugs.webkit.org/show_bug.cgi?id=32009
Summary: Crash in RenderBlock::startDelayUpdateScrollInfo
Product: WebKit
Version: 528+ (Nightly build)
Platform: PC
OS/Version: Mac OS X 10.5
Status: NEW
Severity: Normal
Priority: P2
Component: Layout and Rendering
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: hamaji at chromium.org
After Bug 15135 (this was my change, sorry), the following HTML causes crash or
assertion failure.
<style>
.test {
overflow-x: overlay;
width: 50;
display: -webkit-box;
}
</style>
<script>
if (window.layoutTestController)
layoutTestController.dumpAsText();
</script>
<body>
<div class="test">
<input type=file class="test">
</div>
No crash means PASS
</body>
This is the stacktrace:
(gdb) bt
#0 0x0000000001dd7401 in WebCore::RenderBlock::startDelayUpdateScrollInfo ()
at
/usr/local/google/chrome-webkit/src/third_party/WebKit/WebCore/rendering/RenderBlock.cpp:605
#1 0x0000000001e1fdf9 in WebCore::RenderFlexibleBox::layoutHorizontalBox (
this=0x7fffe8062f08, relayoutChildren=false)
at
/usr/local/google/chrome-webkit/src/third_party/WebKit/WebCore/rendering/RenderFlexibleBox.cpp:336
#2 0x0000000001e2131c in WebCore::RenderFlexibleBox::layoutBlock (
this=0x7fffe8062f08, relayoutChildren=false)
at
/usr/local/google/chrome-webkit/src/third_party/WebKit/WebCore/rendering/RenderFlexibleBox.cpp:242
#3 0x0000000001de0f25 in WebCore::RenderBlock::layout (this=0x7fffe8062f08)
at
/usr/local/google/chrome-webkit/src/third_party/WebKit/WebCore/rendering/RenderBlock.cpp:648
#4 0x0000000001de4c4f in WebCore::RenderObject::layoutIfNeeded (
this=0x7fffe8062f08)
at
/usr/local/google/chrome-webkit/src/third_party/WebKit/WebCore/rendering/RenderObject.h:496
#5 0x0000000001dfdf11 in WebCore::RenderBlock::layoutInlineChildren (
this=0x7fffe8062788, relayoutChildren=true, repaintTop=@0x438249cc,
repaintBottom=@0x438249c8)
at
/usr/local/google/chrome-webkit/src/third_party/WebKit/WebCore/rendering/---Type
<return> to continue, or q <return> to quit---
RenderBlockLineLayout.cpp:865
#6 0x0000000001de15a9 in WebCore::RenderBlock::layoutBlock (
this=0x7fffe8062788, relayoutChildren=true)
at
/usr/local/google/chrome-webkit/src/third_party/WebKit/WebCore/rendering/RenderBlock.cpp:722
#7 0x0000000001e3b523 in WebCore::RenderLayer::updateScrollInfoAfterLayout (
this=0x7fffe80628c8)
at
/usr/local/google/chrome-webkit/src/third_party/WebKit/WebCore/rendering/RenderLayer.cpp:1872
#8 0x0000000001de1cd8 in WebCore::RenderBlock::finishDelayUpdateScrollInfo ()
at
/usr/local/google/chrome-webkit/src/third_party/WebKit/WebCore/rendering/RenderBlock.cpp:622
#9 0x0000000001e20cb4 in WebCore::RenderFlexibleBox::layoutHorizontalBox (
this=0x7fffe805f318, relayoutChildren=false)
at
/usr/local/google/chrome-webkit/src/third_party/WebKit/WebCore/rendering/RenderFlexibleBox.cpp:558
...
This crash happens because finishDelayUpdateScrollInfo() triggers layout of
another flexible box and it calls startDelayUpdateScrollInfo(). This function
modifies a global variable gDelayUpdateScrollInfoSet before
finishDelayUpdateScrollInfo() finalize the global variable. This bug can be
easily fixed by evacuating the global variable into local variable before we
trigger other layouts.
Chromium side: http://code.google.com/p/chromium/issues/detail?id=27085
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list