[Webkit-unassigned] [Bug 89733] Figure out why FrameView.cpp's ASSERT(!needsLayout()) is firing in chromium & chromium's DRT
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Oct 23 23:59:40 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=89733
--- Comment #8 from Ami Fischman <fischman at chromium.org> 2012-10-24 00:00:45 PST ---
@jamesr: (keeping in mind that I still have no idea what I'm doing) I followed up your hint and added megahacks to assert if RenderObject::setNeedsLayout() is called during WebViewImpl::paint(), and the assert indeed triggered:
WebCore::RenderObject::setNeedsLayout() [0x7f7e5781e4ff]
WebCore::RenderVideo::updateIntrinsicSize() [0x7f7e57a5353a]
WebCore::RenderVideo::updatePlayer() [0x7f7e57a53d79]
WebCore::RenderVideo::paintReplaced() [0x7f7e57a53acc]
WebCore::RenderReplaced::paint() [0x7f7e579f6299]
WebCore::RenderImage::paint() [0x7f7e5794c0ca]
WebCore::RenderLayer::paintLayerContents() [0x7f7e5796c35e]
WebCore::RenderLayer::paintLayerContentsAndReflection() [0x7f7e5796b63f]
WebCore::RenderLayer::paintLayer() [0x7f7e5796ac36]
WebCore::RenderLayer::paintList() [0x7f7e5796d3c5]
WebCore::RenderLayer::paintLayerContents() [0x7f7e5796c58d]
WebCore::RenderLayer::paintLayerContentsAndReflection() [0x7f7e5796b63f]
WebCore::RenderLayer::paintLayer() [0x7f7e5796ac36]
WebCore::RenderLayer::paintList() [0x7f7e5796d3c5]
WebCore::RenderLayer::paintLayerContents() [0x7f7e5796c5fb]
WebCore::RenderLayer::paintLayerContentsAndReflection() [0x7f7e5796b63f]
WebCore::RenderLayer::paintLayer() [0x7f7e5796ac36]
WebCore::RenderLayer::paint() [0x7f7e5796a49d]
WebCore::FrameView::paintContents() [0x7f7e58865327]
WebCore::ScrollView::paint() [0x7f7e57eba158]
WebKit::PageWidgetDelegate::paint() [0x7f7e573f0956]
WebKit::WebViewImpl::paint() [0x7f7e574b55eb]
content::RenderWidget::PaintRect() [0x7f7e55d97da6]
content::RenderWidget::DoDeferredUpdate() [0x7f7e55d9312d]
content::RenderWidget::DoDeferredUpdateAndSendInputAck() [0x7f7e55d97319]
content::RenderWidget::InvalidationCallback() [0x7f7e55d98a7a]
Do you know which of the calls in the chain going from things named paint* to setNeedsLayout() is inappropriate?
For the record, my repro cmdline was:
../ninja -k0 content_browsertests && xvfb-run ./ninja/Debug/content_browsertests --gtest_filter=ExternalClearKey/EncryptedMediaTest.FrameChangeVideo/0 --no-sandbox --gtest_repeat=100
and I was shutting off all but one of my machine's cores with:
cd /sys/devices/system/cpu && for c in cpu[1-9]*; do echo 0|sudo dd of=$c/online 2> /dev/null & done && wait && grep processor /proc/cpuinfo |wc -l
and then keeping that one core semi-distracted with md5sum /boot/vml*
It only took a handful of iterations of the test to make it fail w/ the !needsLayout() assert originally reported in this bug, but it saw no failures with the setNeedsLayout() commented out in RenderVideo::updateIntrinsicSize().
--
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