Bug 184006

Summary: [GTK] Crash while opening PDF in xreader
Product: WebKit Reporter: Tomas Popela <tpopela>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: bugs-noreply, cgarcia, mcatanzaro
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=183348

Description Tomas Popela 2018-03-26 07:02:41 PDT
Opening PDF in xreader results in:


#0  0x00007f357a1b9f72 in WTFCrash () at /lib64/libjavascriptcoregtk-4.0.so.18
#1  0x00007f357bb69352 in WebKit::WebProcess::ensureNetworkProcessConnection() (this=this@entry=0x55850059c2e0) at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebKit/WebProcess/WebProcess.cpp:1125
#2  0x00007f357bb6be73 in WebKit::WebProcess::initializeWebProcess(WebKit::WebProcessCreationParameters&&) (this=0x55850059c2e0, parameters=...) at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebKit/WebProcess/WebProcess.cpp:383
#3  0x00007f357bca38ce in IPC::callMemberFunctionImpl<WebKit::WebProcess, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&&), std::tuple<WebKit::WebProcessCreationParameters>, 0ul>(WebKit::WebProcess*, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&&), std::tuple<WebKit::WebProcessCreationParameters>&&, std::integer_sequence<unsigned long, 0ul>) (args=..., function=<optimized out>, object=0x55850059c2e0) at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebKit/Platform/IPC/HandleMessage.h:118
#4  0x00007f357bca38ce in IPC::callMemberFunction<WebKit::WebProcess, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&&), std::tuple<WebKit::WebProcessCreationParameters>, std::integer_sequence<unsigned long, 0ul> >(std::tuple<WebKit::WebProcessCreationParameters>&&, WebKit::WebProcess*, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&&)) (function=<optimized out>, object=0x55850059c2e0, args=...) at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebKit/Platform/IPC/HandleMessage.h:46
#5  0x00007f357bca38ce in IPC::handleMessage<Messages::WebProcess::InitializeWebProcess, WebKit::WebProcess, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&&)>(IPC::Decoder&, WebKit::WebProcess*, void (WebKit::WebProcess::*)(WebKit::WebProcessCreationParameters&&)) (decoder=..., object=object@entry=0x55850059c2e0, function=(void (WebKit::WebProcess::*)(WebKit::WebProcess * const, WebKit::WebProcessCreationParameters &&)) 0x7f357bb6ba60 <WebKit::WebProcess::initializeWebProcess(WebKit::WebProcessCreationParameters&&)>)
    at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebKit/Platform/IPC/HandleMessage.h:126
#6  0x00007f357bca188d in WebKit::WebProcess::didReceiveWebProcessMessage(IPC::Connection&, IPC::Decoder&) (this=0x55850059c2e0, connection=..., decoder=...) at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/x86_64-redhat-linux-gnu/DerivedSources/WebKit/WebProcessMessageReceiver.cpp:67
#7  0x00007f357b9f8dc4 in IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >) (this=0x7f35589e6000, message=std::unique_ptr<IPC::Decoder> = {...}) at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebKit/Platform/IPC/Connection.cpp:934
#8  0x00007f357b9f96a2 in IPC::Connection::dispatchOneMessage() (this=0x7f35589e6000) at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebKit/Platform/IPC/Connection.cpp:965
#9  0x00007f357a1d4d83 in WTF::RunLoop::performWork() () at /lib64/libjavascriptcoregtk-4.0.so.18
#10 0x00007f357a1fe4cd in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () at /lib64/libjavascriptcoregtk-4.0.so.18
#11 0x00007f3572bbd7dd in g_main_dispatch (context=0x55850051c460) at gmain.c:3177
#12 0x00007f3572bbd7dd in g_main_context_dispatch (context=context@entry=0x55850051c460) at gmain.c:3830
#13 0x00007f3572bbdba8 in g_main_context_iterate (context=0x55850051c460, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3903
#14 0x00007f3572bbded2 in g_main_loop_run (loop=0x558500594ed0) at gmain.c:4099
#15 0x00007f357a1fef30 in WTF::RunLoop::run() () at /lib64/libjavascriptcoregtk-4.0.so.18
#16 0x00007f357be61b98 in WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain>(int, char**) (argc=<optimized out>, argv=0x7ffda7526928) at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebKit/Shared/unix/ChildProcessMain.h:41
#17 0x00007f356eaa21bb in __libc_start_main (main=0x5584ffb40d60 <main(int, char**)>, argc=3, argv=0x7ffda7526928, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffda7526918) at ../csu/libc-start.c:308
#18 0x00005584ffb40dea in _start ()
(gdb) frame 1
#1  0x00007f357bb69352 in WebKit::WebProcess::ensureNetworkProcessConnection (this=this@entry=0x55850059c2e0) at /usr/src/debug/webkit2gtk3-2.20.0-2.fc28.x86_64/Source/WebKit/WebProcess/WebProcess.cpp:1125
1125                CRASH();
(gdb) list
1120        // If we've lost our connection to the network process (e.g. it crashed) try to re-establish it.
1121        if (!m_networkProcessConnection) {
1122            IPC::Attachment encodedConnectionIdentifier;
1123
1124            if (!parentProcessConnection()->sendSync(Messages::WebProcessProxy::GetNetworkProcessConnection(), Messages::WebProcessProxy::GetNetworkProcessConnection::Reply(encodedConnectionIdentifier), 0, Seconds::infinity(), IPC::SendSyncOption::DoNotProcessIncomingMessagesWhenWaitingForSyncReply))
1125                CRASH();
1126
1127    #if USE(UNIX_DOMAIN_SOCKETS)
1128            IPC::Connection::Identifier connectionIdentifier = encodedConnectionIdentifier.releaseFileDescriptor();
1129    #elif OS(DARWIN)
(gdb) info locals
encodedConnectionIdentifier = {
  m_type = IPC::Attachment::Uninitialized,
  m_fileDescriptor = -1,
  m_size = 6285076300902277376
}
connectionIdentifier = <optimized out>
Comment 1 Tomas Popela 2018-03-26 07:03:31 PDT
See also https://retrace.fedoraproject.org/faf/reports/2077056/
Comment 2 Michael Catanzaro 2018-03-26 07:57:24 PDT
This is just telling us that the network process crashed. Do you have a backtrace for the network process crash?
Comment 3 Tomas Popela 2018-03-26 08:20:26 PDT
(In reply to Michael Catanzaro from comment #2)
> This is just telling us that the network process crashed. Do you have a
> backtrace for the network process crash?

I already talked about that with Carlos. There was no network process crash involved (at nothing showed up in coredumpctl)
Comment 4 Michael Catanzaro 2018-03-26 08:50:47 PDT
Drat, then it's going to be quite hard to debug, because we don't have any close why the network process is quitting.
Comment 5 Carlos Garcia Campos 2018-04-02 02:09:50 PDT
I don't know what xreader is, I've tried with evince browser plugin and I can't reproduce the crash.
Comment 6 Michael Catanzaro 2018-04-02 07:41:19 PDT
Looks like xreader does not exist in Debian.
Comment 7 Michael Catanzaro 2018-04-02 15:23:25 PDT
(In reply to Michael Catanzaro from comment #6)
> Looks like xreader does not exist in Debian.

It's an evince fork: https://github.com/linuxmint/xreader
Comment 8 Michael Catanzaro 2018-04-02 15:25:28 PDT
There's also: https://github.com/mate-desktop/atril

Not sure why it was so important to have two different forks, but OK....
Comment 9 Michael Catanzaro 2018-04-07 10:47:15 PDT
I'm going to dup this against bug #183348, it's clearly the same issue.

*** This bug has been marked as a duplicate of bug 183348 ***