Bug 154784
Summary: | SHOULD NEVER BE REACHED at DerivedSources/WebKit2/WebProcessMessageReceiver.cpp(265) : void WebKit::WebProcess::didReceiveSyncWebProcessMessage | ||
---|---|---|---|
Product: | WebKit | Reporter: | Michael Catanzaro <mcatanzaro> |
Component: | WebKit2 | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | ap, mcatanzaro |
Priority: | P2 | ||
Version: | Other | ||
Hardware: | PC | ||
OS: | Linux |
Michael Catanzaro
I can reliably crash Epiphany with a debug build of WebKit by pressing Ctrl+T (open new tab) then Ctrl+Q (quit) in quick succession. I suspect it's a cross-platform bug as it's hitting this assert:
SHOULD NEVER BE REACHED
DerivedSources/WebKit2/WebProcessMessageReceiver.cpp(265) : void WebKit::WebProcess::didReceiveSyncWebProcessMessage(IPC::Connection &, IPC::MessageDecoder &, std::unique_ptr<IPC::MessageEncoder> &)
I'll reproduce that function in full:
void WebProcess::didReceiveSyncWebProcessMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder, std::unique_ptr<IPC::MessageEncoder>& replyEncoder)
{
if (decoder.messageName() == Messages::WebProcess::ProcessWillSuspendImminently::name()) {
IPC::handleMessage<Messages::WebProcess::ProcessWillSuspendImminently>(decoder, *replyEncoder, this, &WebProcess::processWillSuspendImminently);
return;
}
UNUSED_PARAM(connection);
UNUSED_PARAM(decoder);
UNUSED_PARAM(replyEncoder);
ASSERT_NOT_REACHED();
}
My guess is that Messages::WebProcess::ProcessWillSuspendImminently is being sent by WebProcessProxy before the WebProcess object has been constructed and registered its message handlers in the web process.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Michael Catanzaro
(In reply to comment #0)
> My guess is that Messages::WebProcess::ProcessWillSuspendImminently is being
> sent by WebProcessProxy before the WebProcess object has been constructed
> and registered its message handlers in the web process.
It's not a very good guess, as the crash is in WebProcess::didReceiveSyncWebProcessMessage.