Bug 238277

Summary: REGRESSION (248692@main): [iOS] ASSERTION FAILED: m_layer->owner()->platformCALayerDelegatesDisplay(m_layer) in WebKit::RemoteLayerBackingStore::paintContents()
Product: WebKit Reporter: Ryan Haddad <ryanhaddad>
Component: WebKit Process ModelAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, simon.fraser, thorton, webkit-bot-watchers-bugzilla, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: Safari 13   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
crash log
none
Patch thorton: review+

Description Ryan Haddad 2022-03-23 12:02:26 PDT
Created attachment 455535 [details]
crash log

The following tests are consistently asserting on iOS debug bots:

fast/frames/flattening/iframe-flattening-fullscreen.html
imported/w3c/web-platform-tests/css/css-grid/grid-model/grid-size-shrink-to-fit-001.html
imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-001.html
imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-002.html
imported/w3c/web-platform-tests/mathml/presentation-markup/operators/embellished-operator-003.html

ASSERTION FAILED: m_layer->owner()->platformCALayerDelegatesDisplay(m_layer)
/Volumes/Data/worker/ios-simulator-15-debug/build/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm(414) : void WebKit::RemoteLayerBackingStore::paintContents()
1   0x2729d40e9 WTFCrash
2   0x254edfabb WTFCrashWithInfo(int, char const*, char const*, int)
3   0x255bc01a5 WebKit::RemoteLayerBackingStore::paintContents()
4   0x255c18057 WebKit::RemoteLayerBackingStoreCollection::paintReachableBackingStoreContents()
5   0x256831784 WebKit::RemoteLayerTreeContext::buildTransaction(WebKit::RemoteLayerTreeTransaction&, WebCore::PlatformCALayer&)
6   0x2554882d9 WebKit::RemoteLayerTreeDrawingArea::updateRendering()
7   0x25549186e decltype(*(std::__1::forward<WebKit::RemoteLayerTreeDrawingArea*&>(fp0)).*fp()) std::__1::__invoke<void (WebKit::RemoteLayerTreeDrawingArea::*&)(), WebKit::RemoteLayerTreeDrawingArea*&, void>(void (WebKit::RemoteLayerTreeDrawingArea::*&)(), WebKit::RemoteLayerTreeDrawingArea*&)
8   0x2554917ed std::__1::__bind_return<void (WebKit::RemoteLayerTreeDrawingArea::*)(), std::__1::tuple<WebKit::RemoteLayerTreeDrawingArea*>, std::__1::tuple<>, __is_valid_bind_return<void (WebKit::RemoteLayerTreeDrawingArea::*)(), std::__1::tuple<WebKit::RemoteLayerTreeDrawingArea*>, std::__1::tuple<> >::value>::type std::__1::__apply_functor<void (WebKit::RemoteLayerTreeDrawingArea::*)(), std::__1::tuple<WebKit::RemoteLayerTreeDrawingArea*>, 0ul, std::__1::tuple<> >(void (WebKit::RemoteLayerTreeDrawingArea::*&)(), std::__1::tuple<WebKit::RemoteLayerTreeDrawingArea*>&, std::__1::__tuple_indices<0ul>, std::__1::tuple<>&&)
9   0x2554917a0 std::__1::__bind_return<void (WebKit::RemoteLayerTreeDrawingArea::*)(), std::__1::tuple<WebKit::RemoteLayerTreeDrawingArea*>, std::__1::tuple<>, __is_valid_bind_return<void (WebKit::RemoteLayerTreeDrawingArea::*)(), std::__1::tuple<WebKit::RemoteLayerTreeDrawingArea*>, std::__1::tuple<> >::value>::type std::__1::__bind<void (WebKit::RemoteLayerTreeDrawingArea::*&)(), WebKit::RemoteLayerTreeDrawingArea*>::operator()<>()
10  0x255491739 WTF::Detail::CallableWrapper<std::__1::__bind<void (WebKit::RemoteLayerTreeDrawingArea::*&)(), WebKit::RemoteLayerTreeDrawingArea*>, void>::call()
11  0x254f3e762 WTF::Function<void ()>::operator()() const
12  0x25548d0b9 WebCore::Timer::fired()
13  0x29f17e556 WebCore::ThreadTimers::sharedTimerFiredInternal()
14  0x29f188991 WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0::operator()() const
15  0x29f188929 WTF::Detail::CallableWrapper<WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0, void>::call()
16  0x29aa320a2 WTF::Function<void ()>::operator()() const
17  0x29f116411 WebCore::MainThreadSharedTimer::fired()
18  0x29f212276 WebCore::timerFired(__CFRunLoopTimer*, void*)
19  0x7fff2036a6c6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
20  0x7fff2036a1c2 __CFRunLoopDoTimer
21  0x7fff20369781 __CFRunLoopDoTimers
22  0x7fff20363dc0 __CFRunLoopRun
23  0x7fff20363103 CFRunLoopRunSpecific
24  0x7fff2081941c -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
25  0x7fff20819638 -[NSRunLoop(NSRunLoop) run]
26  0x7fff2006705f _xpc_objc_main
27  0x7fff20069050 xpc_main
28  0x255bbd7ba WebKit::XPCServiceMain(int, char const**)
29  0x257bb4eeb WKXPCServiceMain
30  0x1043f4d12 main
31  0x240001e1e

https://results.webkit.org/?suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&suite=layout-tests&test=fast%2Fcanvas%2Fwebgl%2Fcontext-creation-and-destruction.html&test=fast%2Fframes%2Fflattening%2Fiframe-flattening-fullscreen.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fcss%2Fcss-grid%2Fgrid-model%2Fgrid-size-shrink-to-fit-001.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fmathml%2Fpresentation-markup%2Foperators%2Fembellished-operator-001.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fmathml%2Fpresentation-markup%2Foperators%2Fembellished-operator-002.html&test=imported%2Fw3c%2Fweb-platform-tests%2Fmathml%2Fpresentation-markup%2Foperators%2Fembellished-operator-003.html
Comment 1 Radar WebKit Bug Importer 2022-03-23 12:02:38 PDT
<rdar://problem/90715046>
Comment 2 Ryan Haddad 2022-03-23 12:04:47 PDT
Based on test history, this appears to be related to https://commits.webkit.org/248692@main
Comment 3 Simon Fraser (smfr) 2022-03-23 14:38:48 PDT
These assertions happen with tests that trigger zero-size layers.
Comment 4 Simon Fraser (smfr) 2022-03-23 14:50:15 PDT
Created attachment 455562 [details]
Patch
Comment 5 Simon Fraser (smfr) 2022-03-23 19:29:24 PDT
https://trac.webkit.org/changeset/291780/webkit