Bug 209570

Summary: REGRESSION (r258989): ASSERTION FAILED: !isMissingPostLayoutData in WebKit::EditorState::PostLayoutData
Product: WebKit Reporter: Ryan Haddad <ryanhaddad>
Component: New BugsAssignee: Daniel Bates <dbates>
Status: RESOLVED FIXED    
Severity: Normal CC: darin, dbates, webkit-bot-watchers-bugzilla, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=199960
https://bugs.webkit.org/show_bug.cgi?id=201608
Bug Depends on: 199960    
Bug Blocks:    
Attachments:
Description Flags
Patch none

Description Ryan Haddad 2020-03-25 16:30:45 PDT
Seeing the following API test fail an assertion on iOS Debug bots:

    TestWebKitAPI.ActionSheetTests.DataDetectorsLinkIsNotPresentedAsALink
        MRMediaRemoteSetNowPlayingApplicationPlaybackStateForOrigin(stopped) failed with error 3
        ASSERTION FAILED: Attempt to access post layout data before receiving it
        !isMissingPostLayoutData
        /Volumes/Data/slave/ios-simulator-13-debug/build/Source/WebKit/Shared/EditorState.h(157) : const WebKit::EditorState::PostLayoutData &WebKit::EditorState::postLayoutData() const
        1   0x11028bf19 WTFCrash
        2   0x1209e028b WebKit::EditorState::postLayoutData() const
        3   0x121b759d9 -[WKContentView(WKInteraction) selectedText]
        4   0x121b8a768 -[WKContentView(WKInteraction) selectedTextForActionSheetAssistant:]
        5   0x120f7147d -[WKActionSheetAssistant showDataDetectorsSheet]
        6   0x121b6dff9 -[WKContentView(WKInteraction) _showDataDetectorsSheet]
        7   0x121b96c89 -[WKContentView(WKTesting) _simulateLongPressActionAtLocation:]::$_44::operator()(WebKit::InteractionInformationAtPosition) const
        8   0x121b96c29 __63-[WKContentView(WKTesting) _simulateLongPressActionAtLocation:]_block_invoke
        9   0x121b6f27a WTF::BlockPtr<void (WebKit::InteractionInformationAtPosition)>::operator()(WebKit::InteractionInformationAtPosition) const
        10  0x121b6ee4d -[WKContentView(WKInteraction) _invokeAndRemovePendingHandlersValidForCurrentPositionInformation]
        11  0x121b73425 -[WKContentView(WKInteraction) _positionInformationDidChange:]
        12  0x120f305d4 WebKit::PageClientImpl::positionInformationDidChange(WebKit::InteractionInformationAtPosition const&)
        13  0x120fb7cf1 WebKit::WebPageProxy::didReceivePositionInformation(WebKit::InteractionInformationAtPosition const&)
        14  0x12194acaa void IPC::callMemberFunctionImpl<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WebKit::InteractionInformationAtPosition const&), std::__1::tuple<WebKit::InteractionInformationAtPosition>, 0ul>(WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebKit::InteractionInformationAtPosition const&), std::__1::tuple<WebKit::InteractionInformationAtPosition>&&, std::__1::integer_sequence<unsigned long, 0ul>)
        15  0x121949fd0 void IPC::callMemberFunction<WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WebKit::InteractionInformationAtPosition const&), std::__1::tuple<WebKit::InteractionInformationAtPosition>, std::__1::integer_sequence<unsigned long, 0ul> >(std::__1::tuple<WebKit::InteractionInformationAtPosition>&&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebKit::InteractionInformationAtPosition const&))
        16  0x1219029ce void IPC::handleMessage<Messages::WebPageProxy::DidReceivePositionInformation, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WebKit::InteractionInformationAtPosition const&)>(IPC::Decoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebKit::InteractionInformationAtPosition const&))
        17  0x1218f9169 WebKit::WebPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
        18  0x12011ff39 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&)
        19  0x120bf8104 WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&)
        20  0x120df096a WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
        21  0x12008bbd9 IPC::Connection::dispatchMessage(IPC::Decoder&)
        22  0x12008c541 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)
        23  0x12008ac4b IPC::Connection::dispatchIncomingMessages()
        24  0x1200ab3d5 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_7::operator()()
        25  0x1200ab309 WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_7, void>::call()
        26  0x1102b6baa WTF::Function<void ()>::operator()() const
        27  0x11032bb78 WTF::RunLoop::performWork()
        28  0x11032d22e WTF::RunLoop::performWork(void*)
        29  0x117e4b471 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
        30  0x117e4b39c __CFRunLoopDoSource0
        31  0x117e4ab74 __CFRunLoopDoSources0
        Child process terminated with signal 11: Segmentation fault

https://build.webkit.org/builders/Apple%20iOS%2013%20Simulator%20Debug%20WK2%20%28Tests%29/builds/2789
Comment 1 Radar WebKit Bug Importer 2020-03-25 16:31:41 PDT
<rdar://problem/60895050>
Comment 3 Daniel Bates 2020-03-26 11:45:18 PDT
Looking at this now.
Comment 4 Daniel Bates 2020-03-26 12:57:55 PDT
Created attachment 394645 [details]
Patch
Comment 5 Daniel Bates 2020-03-26 13:28:18 PDT
Thanks Darin!
Comment 6 Daniel Bates 2020-03-26 13:29:18 PDT
Comment on attachment 394645 [details]
Patch

Clearing flags on attachment: 394645

Committed r259071: <https://trac.webkit.org/changeset/259071>
Comment 7 Daniel Bates 2020-03-26 13:29:20 PDT
All reviewed patches have been landed.  Closing bug.