WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
195506
Assert in WebPageProxy::suspendCurrentPageIfPossible()
https://bugs.webkit.org/show_bug.cgi?id=195506
Summary
Assert in WebPageProxy::suspendCurrentPageIfPossible()
Simon Fraser (smfr)
Reported
2019-03-08 18:19:43 PST
I keep hitting this when typing in the URL field in MobileSafari in the simulator: SHOULD NEVER BE REACHED /Volumes/Data/Development/system/webkit/OpenSource/Source/WebKit/UIProcess/WebPageProxy.cpp(792) : bool WebKit::WebPageProxy::suspendCurrentPageIfPossible(API::Navigation &, Optional<uint64_t>, WebKit::ProcessSwapRequestedByClient) 1 0x10a61dbf9 WTFCrash 2 0x10e99d76b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x10f15dc89 WebKit::WebPageProxy::suspendCurrentPageIfPossible(API::Navigation&, WTF::Optional<unsigned long long>, WebKit::ProcessSwapRequestedByClient) 4 0x10f16ef87 WebKit::WebPageProxy::commitProvisionalPage(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData const&) 5 0x10f04847a WebKit::ProvisionalPageProxy::didCommitLoadForFrame(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData const&) 6 0x10f05f440 void IPC::callMemberFunctionImpl<WebKit::ProvisionalPageProxy, void (WebKit::ProvisionalPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData const&), std::__1::tuple<unsigned long long, unsigned long long, WTF::String, bool, unsigned int, WebCore::CertificateInfo, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData>, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>(WebKit::ProvisionalPageProxy*, void (WebKit::ProvisionalPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData const&), std::__1::tuple<unsigned long long, unsigned long long, WTF::String, bool, unsigned int, WebCore::CertificateInfo, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData>&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul>) 7 0x10f05dd50 void IPC::callMemberFunction<WebKit::ProvisionalPageProxy, void (WebKit::ProvisionalPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData const&), std::__1::tuple<unsigned long long, unsigned long long, WTF::String, bool, unsigned int, WebCore::CertificateInfo, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData>, std::__1::integer_sequence<unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul, 8ul> >(std::__1::tuple<unsigned long long, unsigned long long, WTF::String, bool, unsigned int, WebCore::CertificateInfo, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData>&&, WebKit::ProvisionalPageProxy*, void (WebKit::ProvisionalPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData const&)) 8 0x10f04ae2e void IPC::handleMessage<Messages::WebPageProxy::DidCommitLoadForFrame, WebKit::ProvisionalPageProxy, void (WebKit::ProvisionalPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData const&)>(IPC::Decoder&, WebKit::ProvisionalPageProxy*, void (WebKit::ProvisionalPageProxy::*)(unsigned long long, unsigned long long, WTF::String const&, bool, unsigned int, WebCore::CertificateInfo const&, bool, WTF::Optional<WebCore::HasInsecureContent>, WebKit::UserData const&)) 9 0x10f049bdd WebKit::ProvisionalPageProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 10 0x10ea30219 IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) 11 0x10f01f944 WebKit::AuxiliaryProcessProxy::dispatchMessage(IPC::Connection&, IPC::Decoder&) 12 0x10f241b0a WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 13 0x10e9e08a9 IPC::Connection::dispatchMessage(IPC::Decoder&) 14 0x10e9d8f82 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >) 15 0x10e9df83a IPC::Connection::dispatchIncomingMessages() 16 0x10ea02335 IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14::operator()() 17 0x10ea02269 WTF::Function<void ()>::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14>::call() 18 0x10a6486fa WTF::Function<void ()>::operator()() const 19 0x10a6aa083 WTF::RunLoop::performWork() 20 0x10a6aaa0e WTF::RunLoop::performWork(void*) 21 0x105285bd1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 22 0x105285453 __CFRunLoopDoSources0 23 0x10527fb0f __CFRunLoopRun 24 0x10527f2f2 CFRunLoopRunSpecific 25 0x11a7362fe GSEventRunModal 26 0x11765fba2 UIApplicationMain 27 0x10313c80f main 28 0x10a0b6541 start (lldb)
Attachments
Patch
(6.02 KB, patch)
2019-03-11 15:35 PDT
,
Chris Dumez
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2019-03-08 18:20:18 PST
<
rdar://problem/48733477
>
Alex Christensen
Comment 2
2019-03-11 14:07:33 PDT
I've seen this, too. Should we just remove the ASSERT_NOT_REACHED in if (fromItem->url() != pageLoadState().url()) ?
Chris Dumez
Comment 3
2019-03-11 14:12:06 PDT
(In reply to Alex Christensen from
comment #2
)
> I've seen this, too. Should we just remove the ASSERT_NOT_REACHED in if > (fromItem->url() != pageLoadState().url()) ?
This is a real bug that needs to be investigated. This should never happen.
Chris Dumez
Comment 4
2019-03-11 14:13:21 PDT
(In reply to Chris Dumez from
comment #3
)
> (In reply to Alex Christensen from
comment #2
) > > I've seen this, too. Should we just remove the ASSERT_NOT_REACHED in if > > (fromItem->url() != pageLoadState().url()) ? > > This is a real bug that needs to be investigated. This should never happen.
I will take a look at this today.
Chris Dumez
Comment 5
2019-03-11 14:56:01 PDT
Ok, I can reproduce on device: fromItem url
https://m.youtube.com/watch?v=mcZdTvOqmvI
, committedURL: fromItem url
https://www.google.com/?client=safari
, committedURL: Likely caused by the top-hit preloading logic in MobileSafari. We do not have a committed URL, even though we have a fromItem. This is likely because MobileSafari swapped view and restored the back forward list on the new view.
Chris Dumez
Comment 6
2019-03-11 15:35:38 PDT
Created
attachment 364302
[details]
Patch
WebKit Commit Bot
Comment 7
2019-03-11 16:31:29 PDT
Comment on
attachment 364302
[details]
Patch Clearing flags on attachment: 364302 Committed
r242755
: <
https://trac.webkit.org/changeset/242755
>
WebKit Commit Bot
Comment 8
2019-03-11 16:31:31 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug