Bug 178342 - REGRESSION(223307): ASSERTION FAILED: document.page() in WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution(WebCore::Document const&)
Summary: REGRESSION(223307): ASSERTION FAILED: document.page() in WebCore::ResourceLoa...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Brent Fulgham
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-10-16 09:14 PDT by Ryan Haddad
Modified: 2017-10-16 11:06 PDT (History)
4 users (show)

See Also:


Attachments
Patch (1.59 KB, patch)
2017-10-16 10:07 PDT, Brent Fulgham
cdumez: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Haddad 2017-10-16 09:14:50 PDT
The following two API tests are timing out due to an assertion failure:
  WebKit2_CommandBackForwardTestWKWebView.LTR
  WebKit2_CommandBackForwardTestWKWebView.RTL

ASSERTION FAILED: document.page()
/Volumes/Data/slave/elcapitan-debug/build/Source/WebCore/loader/ResourceLoadObserver.cpp(277) : void WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution(const WebCore::Document &)
1   0x11bf10ec0 WTFCrash
2   0x10fa8ff77 WebCore::ResourceLoadObserver::logUserInteractionWithReducedTimeResolution(WebCore::Document const&)
3   0x10dce5c0f WebCore::EventHandler::keyEvent(WebCore::PlatformKeyboardEvent const&)
4   0x11015860b WebCore::UserInputBridge::handleKeyEvent(WebCore::PlatformKeyboardEvent const&, WebCore::InputSource)
5   0x109776edd WebKit::handleKeyEvent(WebKit::WebKeyboardEvent const&, WebCore::Page*)
6   0x109776d84 WebKit::WebPage::keyEvent(WebKit::WebKeyboardEvent const&)
7   0x1098072df void IPC::callMemberFunctionImpl<WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebKeyboardEvent const&), std::__1::tuple<WebKit::WebKeyboardEvent>, 0ul>(WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebKeyboardEvent const&), std::__1::tuple<WebKit::WebKeyboardEvent>&&, std::__1::integer_sequence<unsigned long, 0ul>)
8   0x109807238 void IPC::callMemberFunction<WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebKeyboardEvent const&), std::__1::tuple<WebKit::WebKeyboardEvent>, std::__1::integer_sequence<unsigned long, 0ul> >(std::__1::tuple<WebKit::WebKeyboardEvent>&&, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebKeyboardEvent const&))
9   0x1097f7612 void IPC::handleMessage<Messages::WebPage::KeyEvent, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::WebKeyboardEvent const&)>(IPC::Decoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::WebKeyboardEvent const&))
10  0x1097f0660 WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&, IPC::Decoder&)
11  0x10977bd67 WebKit::WebPage::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
12  0x10977bda7 non-virtual thunk to WebKit::WebPage::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
13  0x1090c1624 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&)
14  0x10997cc6d WebKit::WebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
15  0x108fb5513 IPC::Connection::dispatchMessage(IPC::Decoder&)
16  0x108fac7d1 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)
17  0x108fb5b1f IPC::Connection::dispatchOneMessage()
18  0x108fbcb4d IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14::operator()()
19  0x108fbca9c WTF::Function<void ()>::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14>::call()
20  0x11bf4f0fe WTF::Function<void ()>::operator()() const
21  0x11bf6f67b WTF::RunLoop::performWork()
22  0x11bf6ff64 WTF::RunLoop::performWork(void*)
23  0x7fff9e9497e1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
24  0x7fff9e928f0c __CFRunLoopDoSources0
25  0x7fff9e92842f __CFRunLoopRun
26  0x7fff9e927e28 CFRunLoopRunSpecific
27  0x7fff9f4cf935 RunCurrentEventLoopInMode
28  0x7fff9f4cf76f ReceiveNextEventCommon
29  0x7fff9f4cf5af _BlockUntilNextEventMatchingListInModeWithFilter
30  0x7fff96047df6 _DPSNextEvent
31  0x7fff96047226 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:]

https://build.webkit.org/builders/Apple%20Sierra%20Debug%20WK2%20%28Tests%29/builds/3521
Comment 1 Ryan Haddad 2017-10-16 09:15:26 PDT
This started with https://trac.webkit.org/changeset/223307/webkit.

Brent, do the tests need to be updated?
Comment 2 Brent Fulgham 2017-10-16 10:01:00 PDT
(In reply to Ryan Haddad from comment #1)
> This started with https://trac.webkit.org/changeset/223307/webkit.
> 
> Brent, do the tests need to be updated?

No, but I think this assertion isn't quite right. I'll fix this to get the bots green.
Comment 3 Brent Fulgham 2017-10-16 10:04:42 PDT
In Bug 178183 I made a mistake in the topDocument to use for logging user interaction. I was using 'topDocument->topDocument()', which I should have been using 'm_frame.document()->topDocument()'.
Comment 4 Radar WebKit Bug Importer 2017-10-16 10:07:45 PDT
<rdar://problem/35008505>
Comment 5 Brent Fulgham 2017-10-16 10:07:59 PDT
Created attachment 323904 [details]
Patch
Comment 6 Chris Dumez 2017-10-16 10:10:26 PDT
Comment on attachment 323904 [details]
Patch

r=me
Comment 7 Brent Fulgham 2017-10-16 10:18:02 PDT
(In reply to Chris Dumez from comment #6)
> Comment on attachment 323904 [details]
> Patch
> 
> r=me

I'll obviously fix my lack of an "address-of" operator before landing. :-\
Comment 8 Brent Fulgham 2017-10-16 11:06:01 PDT
Committed r223418: <https://trac.webkit.org/changeset/223418>