Bug 221740

Summary: Crash when UI-side compositing is enabled on macOS
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: WebKit2Assignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: jer.noble, simon.fraser, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Simon Fraser (smfr) 2021-02-10 21:00:58 PST
Crash when UI-side compositing is enabled on macOS
Comment 1 Simon Fraser (smfr) 2021-02-10 21:02:31 PST
Created attachment 419944 [details]
Patch
Comment 2 Simon Fraser (smfr) 2021-02-10 21:05:31 PST
Backtrace is:

    frame #1: 0x0000000381eadbe6 WebKit`WebKit::WebPage::mainFrame(this=0x0000000000000000) const at WebPage.cpp:5476:12
    frame #2: 0x0000000381ead615 WebKit`WebKit::WebPage::mainFrameView(this=0x0000000000000000) const at WebPage.cpp:5481:24
  * frame #3: 0x00000003818f56d1 WebKit`auto WebKit::WebProcess::updatePageScreenProperties(this=0x00007ffee961bd00, page=0x00000003b71f6528)::$_16::operator()<WTF::RefPtr<WebKit::WebPage, WTF::RawPtrTraits<WebKit::WebPage>, WTF::DefaultRefDerefTraits<WebKit::WebPage> > >(WTF::RefPtr<WebKit::WebPage, WTF::RawPtrTraits<WebKit::WebPage>, WTF::DefaultRefDerefTraits<WebKit::WebPage> >&) const at WebProcessCocoa.mm:1169:53
    frame #4: 0x00000003818bd523 WebKit`bool WTF::allOf<WTF::SizedIteratorRange<WTF::HashMap<WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WTF::RefPtr<WebKit::WebPage, WTF::RawPtrTraits<WebKit::WebPage>, WTF::DefaultRefDerefTraits<WebKit::WebPage> >, WTF::DefaultHash<WTF::ObjectIdentifier<WebCore::PageIdentifierType> >, WTF::HashTraits<WTF::ObjectIdentifier<WebCore::PageIdentifierType> >, WTF::HashTraits<WTF::RefPtr<WebKit::WebPage, WTF::RawPtrTraits<WebKit::WebPage>, WTF::DefaultRefDerefTraits<WebKit::WebPage> > > >, WTF::HashTableValuesIterator<WTF::HashTable<WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WTF::KeyValuePair<WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WTF::RefPtr<WebKit::WebPage, WTF::RawPtrTraits<WebKit::WebPage>, WTF::DefaultRefDerefTraits<WebKit::WebPage> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WTF::RefPtr<WebKit::WebPage, WTF::RawPtrTraits<WebKit::WebPage>, WTF::DefaultRefDerefTraits<WebKit::WebPage> > > >, WTF::DefaultHash<WTF::ObjectIdentifier<WebCore::PageIdentifierType> >, WTF::HashMap<WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WTF::RefPtr<WebKit::WebPage, WTF::RawPtrTraits<WebKit::WebPage>, WTF::DefaultRefDerefTraits<WebKit::WebPage> >, WTF::DefaultHash<WTF::ObjectIdentifier<WebCore::PageIdentifierType> >, WTF::HashTraits<WTF::ObjectIdentifier<WebCore::PageIdentifierType> >, WTF::HashTraits<WTF::RefPtr<WebKit::WebPage, WTF::RawPtrTraits<WebKit::WebPage>, WTF::DefaultRefDerefTraits<WebKit::WebPage> > > >::KeyValuePairTraits, WTF::HashTraits<WTF::ObjectIdentifier<WebCore::PageIdentifierType> > >, WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WTF::RefPtr<WebKit::WebPage, WTF::RawPtrTraits<WebKit::WebPage>, WTF::DefaultRefDerefTraits<WebKit::WebPage> > > >, WebKit::WebProcess::updatePageScreenProperties()::$_16>(container=0x00007ffee961bdc0, allOfFunction=(anonymous class) @ 0x00007ffee961bd00)::$_16) at Algorithms.h:51:14
    frame #5: 0x00000003818bd3be WebKit`WebKit::WebProcess::updatePageScreenProperties(this=0x00000003b71f2000) at WebProcessCocoa.mm:1168:36
    frame #6: 0x0000000381eb21eb WebKit`WebKit::WebPage::windowScreenDidChange(this=0x00007ffc36010408, displayID=4294967289, nominalFramesPerSecond=Optional<unsigned int> @ 0x00007ffee961bf48) at WebPage.cpp:2084:29
    frame #7: 0x000000038075eaca WebKit`WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea(this=0x00000003b71f5aa0, webPage=0x00007ffc36010408, parameters=0x00007ffee961c990) at RemoteLayerTreeDrawingArea.mm:75:13
    frame #8: 0x000000038075ff05 WebKit`WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea(this=0x00000003b71f5aa0, webPage=0x00007ffc36010408, parameters=0x00007ffee961c990) at RemoteLayerTreeDrawingArea.mm:64:1
    frame #9: 0x0000000381cd7712 WebKit`std::__1::__unique_if<WebKit::RemoteLayerTreeDrawingArea>::__unique_single std::__1::make_unique<WebKit::RemoteLayerTreeDrawingArea, WebKit::WebPage&, WebKit::WebPageCreationParameters const&>(__args=0x00007ffc36010408, __args=0x00007ffee961c990) at memory:3131:32
    frame #10: 0x0000000381cca584 WebKit`decltype(args=0x00007ffc36010408, args=0x00007ffee961c990) WTF::makeUnique<WebKit::RemoteLayerTreeDrawingArea, WebKit::WebPage&, WebKit::WebPageCreationParameters const&>(WebKit::WebPage&, WebKit::WebPageCreationParameters const&) at StdLibExtras.h:507:12
    frame #11: 0x0000000381cca463 WebKit`WebKit::DrawingArea::create(webPage=0x00007ffc36010408, parameters=0x00007ffee961c990) at DrawingArea.cpp:56:16
    frame #12: 0x0000000381ea4100 WebKit`WebKit::WebPage::WebPage(this=0x00007ffc36010408, pageID=(m_identifier = 6), parameters=0x00007ffee961c990) at WebPage.cpp:632:21
    frame #13: 0x0000000381ea2925 WebKit`WebKit::WebPage::WebPage(this=0x00007ffc36010408, pageID=(m_identifier = 6), parameters=0x00007ffee961c990) at WebPage.cpp:517:1
    frame #14: 0x0000000381ea2831 WebKit`WebKit::WebPage::create(pageID=(m_identifier = 6), parameters=0x00007ffee961c990) at WebPage.cpp:413:39
    frame #15: 0x000000038190bfd4 WebKit`WebKit::WebProcess::createWebPage(this=0x00000003b71f2000, pageID=(m_identifier = 6), parameters=0x00007ffee961c990) at WebProcess.cpp:736:34
    frame #16: 0x000000038210df0c WebKit`void IPC::callMemberFunctionImpl<WebKit::WebProcess, void (WebKit::WebProcess::*)(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&), std::__1::tuple<WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters>, 0ul, 1ul>(object=0x00000003b71f2000, function=f0 be 90 81 03 00 00 00 00 00 00 00 00 00 00 00, args=size=2, (null)=std::__1::index_sequence<0UL, 1UL> @ 0x00007ffee961c8c8)(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&), std::__1::tuple<WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) at HandleMessage.h:42:5
Comment 3 EWS 2021-02-11 08:09:15 PST
Committed r272728: <https://commits.webkit.org/r272728>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419944 [details].
Comment 4 Radar WebKit Bug Importer 2021-02-11 08:10:15 PST
<rdar://problem/74234544>