<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Assertions in FrameView::scheduleRelayoutOfSubtree() in some layout tests after fix to https://bugs.webkit.org/show_bug.cgi?id=156245"
href="https://bugs.webkit.org/show_bug.cgi?id=156349">156349</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Assertions in FrameView::scheduleRelayoutOfSubtree() in some layout tests after fix to https://bugs.webkit.org/show_bug.cgi?id=156245
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>Product</th>
<td>WebKit
</td>
</tr>
<tr>
<th>Version</th>
<td>WebKit Nightly Build
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Unspecified
</td>
</tr>
<tr>
<th>OS</th>
<td>Unspecified
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>Normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P2
</td>
</tr>
<tr>
<th>Component</th>
<td>Layout and Rendering
</td>
</tr>
<tr>
<th>Assignee</th>
<td>webkit-unassigned@lists.webkit.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>adachan@apple.com
</td>
</tr>
<tr>
<th>CC</th>
<td>simon.fraser@apple.com
</td>
</tr></table>
<p>
<div>
<pre>A number of layout tests ran into assertions in FrameView::scheduleRelayoutOfSubtree() after fix to MediaControlsApple.css changes in <a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - Rename TextTrackRepresentationiOS to TextTrackRepresentationCocoa and enable on Mac"
href="show_bug.cgi?id=156245">https://bugs.webkit.org/show_bug.cgi?id=156245</a>
It looks like the style change that changes the test result is the addition of
overflow: hidden
in ::-webkit-media-controls in mediaControlsApple.css.
The tests are:
http/tests/appcache/video.html
media/track/track-active-cues.html
media/track/track-in-band.html
media/track/video-track-alternate-groups.html
media/track/video-track.html
media/video-src-empty.html
It looks like it's asserting in FrameView::scheduleRelayoutOfSubtree() on this line:
ASSERT(!newRelayoutRoot.container() || !newRelayoutRoot.container()->needsLayout());
Here's the call stack of the assertion:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.JavaScriptCore 0x0000000102639497 WTFCrash + 39
1 com.apple.WebCore 0x0000000107e2e211 WebCore::FrameView::scheduleRelayoutOfSubtree(WebCore::RenderElement&) + 465 (FrameView.cpp:2704)
2 com.apple.WebCore 0x0000000109074a69 WebCore::scheduleRelayoutForSubtree(WebCore::RenderElement&) + 121 (RenderObject.cpp:585)
3 com.apple.WebCore 0x00000001090745ef WebCore::RenderObject::markContainingBlocksForLayout(WebCore::ScheduleRelayout, WebCore::RenderElement*) + 1151 (RenderObject.cpp:642)
4 com.apple.WebCore 0x00000001073d7650 WebCore::RenderObject::setNeedsLayout(WebCore::MarkingBehavior) + 176 (RenderObject.h:1108)
5 com.apple.WebCore 0x0000000107a4550e WebCore::RenderObject::setNeedsLayoutAndPrefWidthsRecalc() + 30 (RenderObject.h:593)
6 com.apple.WebCore 0x0000000108f2cabf WebCore::RenderElement::insertChildInternal(WebCore::RenderObject*, WebCore::RenderObject*, WebCore::RenderElement::NotifyChildrenType) + 847 (RenderElement.cpp:594)
7 com.apple.WebCore 0x0000000108f2c6d5 WebCore::RenderElement::addChild(WebCore::RenderObject*, WebCore::RenderObject*) + 293 (RenderElement.cpp:515)
8 com.apple.WebCore 0x0000000108e5a33f WebCore::RenderBlock::addChildIgnoringContinuation(WebCore::RenderObject*, WebCore::RenderObject*) + 1327 (RenderBlock.cpp:498)
9 com.apple.WebCore 0x0000000108e59e08 WebCore::RenderBlock::addChild(WebCore::RenderObject*, WebCore::RenderObject*) + 120 (RenderBlock.cpp:412)
10 com.apple.WebCore 0x000000010880f6e1 WebCore::RenderTreePosition::insert(WebCore::RenderObject&) + 129 (RenderTreePosition.h:93)
11 com.apple.WebCore 0x000000010880e340 WebCore::RenderTreeUpdater::createRenderer(WebCore::Element&, WebCore::RenderStyle&) + 800 (RenderTreeUpdater.cpp:338)
12 com.apple.WebCore 0x000000010880d73e WebCore::RenderTreeUpdater::updateElementRenderer(WebCore::Element&, WebCore::Style::ElementUpdate const&) + 302 (RenderTreeUpdater.cpp:252)
13 com.apple.WebCore 0x000000010880d228 WebCore::RenderTreeUpdater::updateRenderTree(WebCore::ContainerNode&) + 808 (RenderTreeUpdater.cpp:154)
14 com.apple.WebCore 0x000000010880ccd6 WebCore::RenderTreeUpdater::commit(std::__1::unique_ptr<WebCore::Style::Update const, std::__1::default_delete<WebCore::Style::Update const> >) + 854 (RenderTreeUpdater.cpp:99)
15 com.apple.WebCore 0x0000000107a2781d WebCore::Document::recalcStyle(WebCore::Style::Change) + 1565 (Document.cpp:1943)
16 com.apple.WebCore 0x0000000107a1cb91 WebCore::Document::updateStyleIfNeeded() + 305 (Document.cpp:1990)
17 com.apple.WebCore 0x0000000107a23c2e WebCore::Document::updateLayout() + 238 (Document.cpp:2008)
18 com.apple.WebCore 0x0000000107a2839f WebCore::Document::updateLayoutIgnorePendingStylesheets(WebCore::Document::RunPostLayoutTasks) + 207 (Document.cpp:2048)
19 com.apple.WebCore 0x0000000107bf1bc0 WebCore::Element::getBoundingClientRect() + 64 (Element.cpp:1096)
20 com.apple.WebCore 0x0000000108563c1d WebCore::jsElementPrototypeFunctionGetBoundingClientRect(JSC::ExecState*) + 429 (JSElement.cpp:4823)
21 ??? 0x00005809dfa01028 0 + 96799429759016
22 ??? 0x00005809dfa10a54 0 + 96799429823060
23 com.apple.JavaScriptCore 0x000000010225bf47 llint_entry + 26835
24 com.apple.JavaScriptCore 0x000000010225becd llint_entry + 26713
25 com.apple.JavaScriptCore 0x000000010225becd llint_entry + 26713
26 com.apple.JavaScriptCore 0x000000010225bf47 llint_entry + 26835
27 com.apple.JavaScriptCore 0x000000010225bf47 llint_entry + 26835
28 com.apple.JavaScriptCore 0x000000010225545e vmEntryToJavaScript + 334
29 com.apple.JavaScriptCore 0x00000001020681da JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 218
30 com.apple.JavaScriptCore 0x0000000101fff5ac JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 1100
31 com.apple.JavaScriptCore 0x00000001018ed86e JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&) + 190
32 com.apple.JavaScriptCore 0x00000001018ed8d3 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&) + 83
33 com.apple.JavaScriptCore 0x00000001018edacb JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&) + 139
34 com.apple.WebCore 0x00000001083c6d4b WebCore::JSMainThreadExecState::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&, JSC::JSValue, JSC::ArgList const&, WTF::NakedPtr<JSC::Exception>&) + 139 (JSMainThreadExecState.h:75)
35 com.apple.WebCore 0x0000000108580510 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 1504 (JSEventListener.cpp:133)
36 com.apple.WebCore 0x0000000107c4af67 WebCore::EventTarget::fireEventListeners(WebCore::Event&, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, 1ul, WTF::CrashOnOverflow, 16ul>&) + 1463 (EventTarget.cpp:260)
37 com.apple.WebCore 0x0000000107c4a798 WebCore::EventTarget::fireEventListeners(WebCore::Event&) + 312 (EventTarget.cpp:212)
38 com.apple.WebCore 0x0000000108d1d191 WebCore::Node::handleLocalEvents(WebCore::Event&) + 177 (Node.cpp:2124)
39 com.apple.WebCore 0x0000000107c205e1 WebCore::EventContext::handleLocalEvents(WebCore::Event&) const + 177 (EventContext.cpp:55)
40 com.apple.WebCore 0x0000000107c2122c WebCore::dispatchEventInDOM(WebCore::Event&, WebCore::EventPath const&, WebCore::WindowEventContext&) + 348 (EventDispatcher.cpp:127)
41 com.apple.WebCore 0x0000000107c20f48 WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WebCore::Event&) + 680 (EventDispatcher.cpp:184)
42 com.apple.WebCore 0x0000000108d1d1ed WebCore::Node::dispatchEvent(WebCore::Event&) + 29 (Node.cpp:2138)
43 com.apple.WebCore 0x0000000107e67a35 WebCore::GenericEventQueue::dispatchOneEvent() + 245 (GenericEventQueue.cpp:103)
44 com.apple.WebCore 0x0000000107e678e3 WebCore::GenericEventQueue::sharedTimerFired() + 243 (GenericEventQueue.cpp:83)
45 com.apple.WebCore 0x0000000107e6aeda void std::__1::__invoke_void_return_wrapper<void>::__call<void (*&)()>(void (*&&&)()) + 42 (__functional_base:441)
46 com.apple.WebCore 0x0000000107e6ae7c std::__1::__function::__func<void (*)(), std::__1::allocator<void (*)()>, void ()>::operator()() + 44 (functional:1407)
47 com.apple.WebCore 0x00000001073c891a std::__1::function<void ()>::operator()() const + 26 (functional:1793)
48 com.apple.WebCore 0x00000001073c882c WebCore::Timer::fired() + 28 (Timer.h:142)
49 com.apple.WebCore 0x000000010975a99a WebCore::ThreadTimers::sharedTimerFiredInternal() + 394 (ThreadTimers.cpp:124)
50 com.apple.WebCore 0x000000010975bbe1 WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0::operator()() const + 33 (ThreadTimers.cpp:73)
51 com.apple.WebCore 0x000000010975bbad void std::__1::__invoke_void_return_wrapper<void>::__call<WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0&>(WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0&&&) + 45 (__functional_base:441)
52 com.apple.WebCore 0x000000010975bb4c std::__1::__function::__func<WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0, std::__1::allocator<WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0>, void ()>::operator()() + 44 (functional:1407)
53 com.apple.WebCore 0x00000001073c891a std::__1::function<void ()>::operator()() const + 26 (functional:1793)
54 com.apple.WebCore 0x0000000108af1cbf WebCore::MainThreadSharedTimer::fired() + 111 (MainThreadSharedTimer.cpp:53)
55 com.apple.WebCore 0x0000000108af20b9 WebCore::timerFired(__CFRunLoopTimer*, void*) + 41 (MainThreadSharedTimerCF.cpp:74)
56 com.apple.CoreFoundation 0x00007fff846b62e4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
57 com.apple.CoreFoundation 0x00007fff846b5f73 __CFRunLoopDoTimer + 1059
58 com.apple.CoreFoundation 0x00007fff8472953d __CFRunLoopDoTimers + 301
59 com.apple.CoreFoundation 0x00007fff84671608 __CFRunLoopRun + 2024
60 com.apple.CoreFoundation 0x00007fff84670bd8 CFRunLoopRunSpecific + 296
61 ??? 0x00000001011d6c0c 0 + 4313672716
62 ??? 0x00000001011d52ed 0 + 4313666285
63 ??? 0x00000001011d4872 0 + 4313663602
64 ??? 0x00000001011d750d 0 + 4313675021
65 ??? 0x000000010122e702 0 + 4314031874
66 libdyld.dylib 0x00007fff85ddc5c9 start + 1</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>