RESOLVED WONTFIX200343
WebKit::ChildProcessProxy::sendMessage crash
https://bugs.webkit.org/show_bug.cgi?id=200343
Summary WebKit::ChildProcessProxy::sendMessage crash
wyt
Reported 2019-08-01 05:36:10 PDT
My App met a crash when it in the background, or active from background. mabey connection() is BAD_ACCESS? ==== code ==== bool ChildProcessProxy::sendMessage(std::unique_ptr<IPC::Encoder> encoder, OptionSet<IPC::SendOption> sendOptions) { switch (state()) { case State::Launching: // If we're waiting for the child process to launch, we need to stash away the messages so we can send them once we have a connection. m_pendingMessages.append(std::make_pair(WTFMove(encoder), sendOptions)); return true; case State::Running: return connection()->sendMessage(WTFMove(encoder), sendOptions); // look here case State::Terminated: return false; } return false; } ==== crash ==== 0WebKit WebKit::ChildProcessProxy::sendMessage(std::__1::unique_ptr<IPC::Encoder, std::__1::default_delete<IPC::Encoder> >, WTF::OptionSet<IPC::SendOption>) (in WebKit) 1WebKit bool WebKit::ChildProcessProxy::send<Messages::LegacyCustomProtocolManager::DidLoadData>(Messages::LegacyCustomProtocolManager::DidLoadData&&, unsigned long long, WTF::OptionSet<IPC::SendOption>) (in WebKit) 2WebKit WebKit::LegacyCustomProtocolManagerProxy::didLoadData(unsigned long long, IPC::DataReference const&) (in WebKit) 3WebKit -[WKCustomProtocolLoader connection:didReceiveData:] (in WebKit) 4CFNetwork ___65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke (in CFNetwork) 5CFNetwork -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] (in CFNetwork) 6CFNetwork -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] (in CFNetwork) 7CFNetwork _NSURLConnectionDidReceiveData(_CFURLConnection*, __CFData const*, long, void const*) (in CFNetwork) 8CFNetwork ____ZN27URLConnectionClient_Classic29_delegate_didReceiveDataArrayEv_block_invoke (in CFNetwork) 9CFNetwork ____ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 (in CFNetwork) 10libdispatch __dispatch_client_callout (in libdispatch.dylib) 11libdispatch __dispatch_block_invoke_direct$VARIANT$mp (in libdispatch.dylib) 12CFNetwork RunloopBlockContext::_invoke_block(void const*, void*) (in CFNetwork) 13CoreFoundation _CFArrayApplyFunction (in CoreFoundation) 14CFNetwork RunloopBlockContext::perform() (in CFNetwork) 15CFNetwork MultiplexerSource::perform() (in CFNetwork) 16CFNetwork MultiplexerSource::_perform(void*) (in CFNetwork) 17CoreFoundation ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ (in CoreFoundation) 18CoreFoundation ___CFRunLoopDoSource0 (in CoreFoundation) 19CoreFoundation ___CFRunLoopDoSources0 (in CoreFoundation) 20CoreFoundation ___CFRunLoopRun (in CoreFoundation) 21CoreFoundation _CFRunLoopRunSpecific (in CoreFoundation) 22GraphicsServices _GSEventRunModal (in GraphicsServices) 23UIKitCore _UIApplicationMain (in UIKitCore) 24News main (in News) main.m line:19 25libdyld _start (in libdyld.dylib)
Attachments
Alex Christensen
Comment 1 2019-08-05 11:00:56 PDT
1. Could you attach the entire crash log so we can see what type of crash it is? 2. Your app uses LegacyCustomProtocolManager which is not public API and we intend to remove.
Alex Christensen
Comment 2 2019-08-05 14:04:19 PDT
The solution to this problem is to stop using WKBrowsingContextController's registerSchemeForCustomProtocol.
Note You need to log in before you can comment on or make changes to this bug.