Bug 237922

Summary: REGRESSION (r291191): [iOS] ASSERTION FAILED: m_contentsBufferHandle in WebKit::RemoteLayerBackingStore::paintContents()
Product: WebKit Reporter: Robert Jenner <jenner>
Component: WebKit Process ModelAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: ggaren, simon.fraser, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch none

Description Robert Jenner 2022-03-15 14:47:18 PDT
We're seeing the following assertion on quite a few WebGL tests here:

https://build.webkit.org/results/Apple-iOS-15-Simulator-Debug-WK2-Tests/r291304%20(1950)/results.html

ASSERTION FAILED: m_contentsBufferHandle
/Volumes/Data/worker/ios-simulator-15-debug/build/Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm(355) : void WebKit::RemoteLayerBackingStore::paintContents()
1   0x6b2606769 WTFCrash
2   0x694cfbfeb WTFCrashWithInfo(int, char const*, char const*, int)
3   0x6959c727d WebKit::RemoteLayerBackingStore::paintContents()
4   0x695a1e5d7 WebKit::RemoteLayerBackingStoreCollection::paintReachableBackingStoreContents()
5   0x69662609f WebKit::RemoteLayerTreeContext::buildTransaction(WebKit::RemoteLayerTreeTransaction&, WebCore::PlatformCALayer&)
6   0x69529a499 WebKit::RemoteLayerTreeDrawingArea::updateRendering()
7   0x6952a3a0e decltype(*(std::__1::forward<WebKit::RemoteLayerTreeDrawingArea*&>(fp0)).*fp()) std::__1::__invoke<void (WebKit::RemoteLayerTreeDrawingArea::*&)(), WebKit::RemoteLayerTreeDrawingArea*&, void>(void (WebKit::RemoteLayerTreeDrawingArea::*&)(), WebKit::RemoteLayerTreeDrawingArea*&)
8   0x6952a398d 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   0x6952a3940 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  0x6952a38d9 WTF::Detail::CallableWrapper<std::__1::__bind<void (WebKit::RemoteLayerTreeDrawingArea::*&)(), WebKit::RemoteLayerTreeDrawingArea*>, void>::call()
11  0x694d55fc2 WTF::Function<void ()>::operator()() const
12  0x69529f259 WebCore::Timer::fired()
13  0x6de73bfa6 WebCore::ThreadTimers::sharedTimerFiredInternal()
14  0x6de7468c1 WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0::operator()() const
15  0x6de746859 WTF::Detail::CallableWrapper<WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0, void>::call()
16  0x6da01e232 WTF::Function<void ()>::operator()() const
17  0x6de6d87e1 WebCore::MainThreadSharedTimer::fired()
18  0x6de7d0276 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  0x6959c4f3a WebKit::XPCServiceMain(int, char const**)
29  0x697985ecb WKXPCServiceMain
30  0x101e65d12 main
31  0x680001e1e
com.apple.WebKit.WebContent.Development terminated (pid 139) because the process crashed
Comment 1 Radar WebKit Bug Importer 2022-03-15 14:47:36 PDT
<rdar://problem/90331880>
Comment 2 Simon Fraser (smfr) 2022-03-15 15:23:36 PDT
Regressed between r291190 and r291201
Comment 4 Simon Fraser (smfr) 2022-03-15 20:48:01 PDT
Just a bad assertion.
Comment 5 Simon Fraser (smfr) 2022-03-15 20:56:44 PDT
Created attachment 454792 [details]
Patch
Comment 6 Simon Fraser (smfr) 2022-03-15 21:17:54 PDT
Created attachment 454794 [details]
Patch
Comment 7 Geoffrey Garen 2022-03-15 21:31:27 PDT
Comment on attachment 454794 [details]
Patch

r=me
Comment 8 EWS 2022-03-15 23:08:38 PDT
Committed r291333 (248472@main): <https://commits.webkit.org/248472@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454794 [details].