Bug 103324

Summary: [CSS Regions] Assert when entering fullscreen from a video element
Product: WebKit Reporter: Alexandru Chiculita <achicu>
Component: Layout and RenderingAssignee: Zoltan Horvath <zoltan>
Status: RESOLVED WORKSFORME    
Severity: Normal CC: abucur, mibalan, mihnea, mvujovic, WebkitBugTracker, zoltan
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 102957, 104144, 104568    
Bug Blocks: 57312    
Attachments:
Description Flags
test case none

Description Alexandru Chiculita 2012-11-26 16:59:27 PST
Created attachment 176114 [details]
test case

Adding a video element  to a region flow thread and making it fullscreen  will throw a bunch of asserts. I've seen https://bugs.webkit.org/show_bug.cgi?id=102957 reproduce, but patching that will get into different other issues. I've been using the controls to make the video full screen.
Comment 1 Andrei Bucur 2012-11-27 01:15:15 PST
(In reply to comment #0)
> Created an attachment (id=176114) [details]
> test case
> 
> Adding a video element  to a region flow thread and making it fullscreen  will throw a bunch of asserts. I've seen https://bugs.webkit.org/show_bug.cgi?id=102957 reproduce, but patching that will get into different other issues. I've been using the controls to make the video full screen.

Are you using Chromium? On the Mac port the crash happens before going fullscreen, when moving the cursor over the video element.

SSERTION FAILED: !m_zOrderListsDirty
/Users/abucur/NonPerforce/WebKit/Source/WebCore/rendering/RenderLayer.h(434) : Vector<WebCore::RenderLayer *> *WebCore::RenderLayer::posZOrderList() const
1   0x105f0d398 WebCore::RenderLayer::posZOrderList() const
2   0x105f059df WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::LayoutRect const&, WebCore::HitTestLocation const&, bool, WebCore::HitTestingTransformState const*, double*)
3   0x105f066f8 WebCore::RenderLayer::hitTestList(WTF::Vector<WebCore::RenderLayer*, 0ul>*, WebCore::RenderLayer*, WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::LayoutRect const&, WebCore::HitTestLocation const&, WebCore::HitTestingTransformState const*, double*, double*, WebCore::HitTestingTransformState const*, bool)
4   0x105f05acc WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::LayoutRect const&, WebCore::HitTestLocation const&, bool, WebCore::HitTestingTransformState const*, double*)
5   0x105f04f86 WebCore::RenderLayer::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestLocation const&, WebCore::HitTestResult&)
6   0x105ec8aa6 WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion(WebCore::RenderRegion*, WebCore::LayoutRect, WebCore::LayoutRect, WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::HitTestLocation const&, WebCore::LayoutPoint const&) const
7   0x105f91047 WebCore::RenderRegion::nodeAtPoint(WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::HitTestLocation const&, WebCore::LayoutPoint const&, WebCore::HitTestAction)
8   0x105e01c9c WebCore::RenderBlock::hitTestContents(WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::HitTestLocation const&, WebCore::LayoutPoint const&, WebCore::HitTestAction)
9   0x105e01106 WebCore::RenderBlock::nodeAtPoint(WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::HitTestLocation const&, WebCore::LayoutPoint const&, WebCore::HitTestAction)
10  0x105e01c9c WebCore::RenderBlock::hitTestContents(WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::HitTestLocation const&, WebCore::LayoutPoint const&, WebCore::HitTestAction)
11  0x105e01106 WebCore::RenderBlock::nodeAtPoint(WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::HitTestLocation const&, WebCore::LayoutPoint const&, WebCore::HitTestAction)
12  0x105f7c6e9 WebCore::RenderObject::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::HitTestLocation const&, WebCore::LayoutPoint const&, WebCore::HitTestFilter)
13  0x105f0692f WebCore::RenderLayer::hitTestContents(WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::LayoutRect const&, WebCore::HitTestLocation const&, WebCore::HitTestFilter) const
14  0x105f05cd7 WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::LayoutRect const&, WebCore::HitTestLocation const&, bool, WebCore::HitTestingTransformState const*, double*)
15  0x105f066f8 WebCore::RenderLayer::hitTestList(WTF::Vector<WebCore::RenderLayer*, 0ul>*, WebCore::RenderLayer*, WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::LayoutRect const&, WebCore::HitTestLocation const&, WebCore::HitTestingTransformState const*, double*, double*, WebCore::HitTestingTransformState const*, bool)
16  0x105f05acc WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&, WebCore::HitTestResult&, WebCore::LayoutRect const&, WebCore::HitTestLocation const&, bool, WebCore::HitTestingTransformState const*, double*)
17  0x105f04f86 WebCore::RenderLayer::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestLocation const&, WebCore::HitTestResult&)
18  0x106080bef WebCore::RenderView::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestLocation const&, WebCore::HitTestResult&)
19  0x106080ba4 WebCore::RenderView::hitTest(WebCore::HitTestRequest const&, WebCore::HitTestResult&)
20  0x104f71545 WebCore::Document::prepareMouseEvent(WebCore::HitTestRequest const&, WebCore::LayoutPoint const&, WebCore::PlatformMouseEvent const&)
21  0x1051b4841 WebCore::EventHandler::prepareMouseEvent(WebCore::HitTestRequest const&, WebCore::PlatformMouseEvent const&)
22  0x1051b4dba WebCore::EventHandler::handleMouseMoveEvent(WebCore::PlatformMouseEvent const&, WebCore::HitTestResult*, bool)
23  0x1051b48db WebCore::EventHandler::mouseMoved(WebCore::PlatformMouseEvent const&)
24  0x102b557fc WebKit::handleMouseEvent(WebKit::WebMouseEvent const&, WebKit::WebPage*, bool)
25  0x102b5561f WebKit::WebPage::mouseEvent(WebKit::WebMouseEvent const&)
26  0x102b95e37 void CoreIPC::callMemberFunction<WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&), WebKit::WebMouseEvent>(CoreIPC::Arguments1<WebKit::WebMouseEvent> const&, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&))
27  0x102b891d5 void CoreIPC::handleMessage<Messages::WebPage::MouseEvent, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&)>(CoreIPC::MessageDecoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebMouseEvent const&))
28  0x102b83e72 WebKit::WebPage::didReceiveWebPageMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&)
29  0x102b593bd WebKit::WebPage::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&)
30  0x102b5940d non-virtual thunk to WebKit::WebPage::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&)
31  0x102cc60aa CoreIPC::MessageReceiverMap::dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&)
Comment 2 Michelangelo De Simone 2013-06-13 12:00:18 PDT
Works for me on today's nightly (r151543)
Comment 3 Mihai Balan 2013-06-14 05:45:58 PDT
Nightlies are release builds, that's why you don't get the asserts. Reopening as video is one of the important things that must work in Regions.
Comment 4 Mihnea Ovidenie 2014-01-31 01:42:18 PST
Does not repro anymore, i built several debug builds with past revisions too.