[Webkit-unassigned] [Bug 224395] New: [iOS WK2] CADisplayLink in the web process is used unintentionally

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Apr 9 15:45:11 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=224395

            Bug ID: 224395
           Summary: [iOS WK2] CADisplayLink in the web process is used
                    unintentionally
           Product: WebKit
           Version: Safari Technology Preview
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit Misc.
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: simon.fraser at apple.com

When we try to make the first DisplayLink in iOS WK2, we intend to get one via the factory from the DrawingArea, but at this point m_page.drawingArea() is null (we're inside the RemoteLayerTreeDrawingArea ctor) so we end up falling back to DisplayRefreshMonitorIOS which is supposed to only be used for WebKit1.

  * frame #0: 0x0000000289db17b0 WebKit`WebKit::WebChromeClient::displayRefreshMonitorFactory(this=0x00007fa097632e50) const at WebChromeClient.cpp:918:12
    frame #1: 0x00000002ad29c4e3 WebCore`WebCore::Page::windowScreenDidChange(this=0x00007fa08780fa00, displayID=4294967273, nominalFramesPerSecond=Optional<unsigned int> @ 0x00007ffee03807f8) at Page.cpp:1188:153
    frame #2: 0x00000002ad1a91f0 WebCore`WebCore::Chrome::windowScreenDidChange(this=0x00007fa0976320c0, displayID=4294967273, nominalFrameInterval=<unavailable>) at Chrome.cpp:551:12
    frame #3: 0x000000028a03ef8e WebKit`WebKit::WebPage::windowScreenDidChange(this=0x00007fa0b780f208, displayID=4294967273, nominalFramesPerSecond=Optional<unsigned int> @ 0x00007ffee0380930) at WebPage.cpp:2138:22
    frame #4: 0x0000000288792135 WebKit`WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea(this=0x00007fa0a7518900, webPage=0x00007fa0b780f208, parameters=0x00007ffee0381420) at RemoteLayerTreeDrawingArea.mm:75:13
    frame #5: 0x00000002887935f5 WebKit`WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea(this=0x00007fa0a7518900, webPage=0x00007fa0b780f208, parameters=0x00007ffee0381420) at RemoteLayerTreeDrawingArea.mm:64:1
    frame #6: 0x0000000289e33699 WebKit`std::__1::__unique_if<WebKit::RemoteLayerTreeDrawingArea>::__unique_single std::__1::make_unique<WebKit::RemoteLayerTreeDrawingArea, WebKit::WebPage&, WebKit::WebPageCreationParameters const&>(__args=0x00007fa0b780f208, __args=0x00007ffee0381420) at memory:2755:32
    frame #7: 0x0000000289e30e6b WebKit`decltype(args=0x00007fa0b780f208, args=0x00007ffee0381420) WTF::makeUnique<WebKit::RemoteLayerTreeDrawingArea, WebKit::WebPage&, WebKit::WebPageCreationParameters const&>(WebKit::WebPage&, WebKit::WebPageCreationParameters const&) at StdLibExtras.h:507:12
    frame #8: 0x0000000289e30de6 WebKit`WebKit::DrawingArea::create(webPage=0x00007fa0b780f208, parameters=0x00007ffee0381420) at DrawingArea.cpp:56:16
    frame #9: 0x000000028a03090b WebKit`WebKit::WebPage::WebPage(this=0x00007fa0b780f208, pageID=(m_identifier = 22), parameters=0x00007ffee0381420) at WebPage.cpp:652:21
    frame #10: 0x000000028a02edd5 WebKit`WebKit::WebPage::WebPage(this=0x00007fa0b780f208, pageID=(m_identifier = 22), parameters=0x00007ffee0381420) at WebPage.cpp:529:1
    frame #11: 0x000000028a02ecc8 WebKit`WebKit::WebPage::create(pageID=(m_identifier = 22), parameters=0x00007ffee0381420) at WebPage.cpp:427:39
    frame #12: 0x0000000289a25764 WebKit`WebKit::WebProcess::createWebPage(this=0x00007fa0b75042d0, pageID=(m_identifier = 22), parameters=0x00007ffee0381420) at WebProcess.cpp:758:34
    frame #13: 0x000000028a2fc3fc 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=0x00007fa0b75042d0, function=80 56 a2 89 02 00 00 00 00 00 00 00 00 00 00 00, args=size=2, (null)=std::__1::index_sequence<0UL, 1UL> @ 0x00007ffee0381358)(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:43:5
    frame #14: 0x000000028a2faef0 WebKit`void IPC::callMemberFunction<WebKit::WebProcess, void (WebKit::WebProcess::*)(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&), std::__1::tuple<WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters>, std::__1::integer_sequence<unsigned long, 0ul, 1ul> >(args=size=2, object=0x00007fa0b75042d0, function=80 56 a2 89 02 00 00 00 00 00 00 00 00 00 00 00)(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&)) at HandleMessage.h:49:5
    frame #15: 0x000000028a2f531e WebKit`void IPC::handleMessage<Messages::WebProcess::CreateWebPage, WebKit::WebProcess, void (WebKit::WebProcess::*)(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&)>(decoder=0x00007fa097504310, object=0x00007fa0b75042d0, function=80 56 a2 89 02 00 00 00 00 00 00 00 00 00 00 00)(WTF::ObjectIdentifier<WebCore::PageIdentifierType>, WebKit::WebPageCreationParameters&&)) at HandleMessage.h:121:5
    frame #16: 0x000000028a2f322c WebKit`WebKit::WebProcess::didReceiveWebProcessMessage(this=0x00007fa0b75042d0, connection=0x00007fa097404150, decoder=0x00007fa097504310) at WebProcessMessageReceiver.cpp:341:16
    frame #17: 0x0000000289a26166 WebKit`WebKit::WebProcess::didReceiveMessage(this=0x00007fa0b75042d0, connection=0x00007fa097404150, decoder=0x00007fa097504310) at WebProcess.cpp:824:9
    frame #18: 0x000000028812b784 WebKit`IPC::Connection::dispatchMessage(this=0x00007fa097404150, decoder=0x00007fa097504310) at Connection.cpp:1020:14

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210409/ee8d71ac/attachment-0001.htm>


More information about the webkit-unassigned mailing list