<html>
<head>
<base href="https://bugs.documentfoundation.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_UNCONFIRMED "
title="UNCONFIRMED - soffice process hanging on exit (mutex related)"
href="https://bugs.documentfoundation.org/show_bug.cgi?id=122871#c6">Comment # 6</a>
on <a class="bz_bug_link
bz_status_UNCONFIRMED "
title="UNCONFIRMED - soffice process hanging on exit (mutex related)"
href="https://bugs.documentfoundation.org/show_bug.cgi?id=122871">bug 122871</a>
from <span class="vcard"><a class="email" href="mailto:sbergman@redhat.com" title="Stephan Bergmann <sbergman@redhat.com>"> <span class="fn">Stephan Bergmann</span></a>
</span></b>
<pre>(In reply to Robert Nagy from <a href="show_bug.cgi?id=122871#c0">comment #0</a>)
<span class="quote">> Description:
> There has been a bug that has been annoying me for some time now.
> Whenever exiting the soffice UI the UI closes, but then the soffice process
> is lurking around in sleep mode, probably waiting for on a mutex.
>
> On exit Desktop::DeInit() is called which calls RequestHandler::Disable() for
> and the process gets stuck in there.
>
> #1 0x0000014efd92ef6b in _sem_wait (sem=0x14f122f1240, can_eintr=0,
> abstime=0x0, delayed_cancel=0x14efeb676d0 <_initial_thread+200>) at
> /usr/src/lib/librthread/synch.h:41
> #2 0x0000014efd9301fb in pthread_join (thread=0x14f122f1240, retval=0x0) at
> /usr/src/lib/librthread/rthread.c:304
> #3 0x0000014ec411b345 in desktop::RequestHandler::Disable() () from
> /usr/local/lib/libreoffice/program/libsofficeapp.so
> #4 0x0000014ec40ee26b in desktop::Desktop::DeInit() () from
> /usr/local/lib/libreoffice/program/libsofficeapp.so
> #5 0x0000014eaafc1c05 in DeInitVCL() () from
> /usr/local/lib/libreoffice/program/libvcllo.so
> #6 0x0000014eaafc1310 in ImplSVMain() () from
> /usr/local/lib/libreoffice/program/libvcllo.so
> #7 0x0000014eaafc26d3 in SVMain() () from
> /usr/local/lib/libreoffice/program/libvcllo.so
> #8 0x0000014ec41200c1 in soffice_main () from
> /usr/local/lib/libreoffice/program/libsofficeapp.so
> #9 0x0000014c56927331 in main ()</span >
The relevant part is why the thread running PipeIpcThread::execute
(desktop/source/app/officeipcthread.cxx) does not finish. Better provide a
backtrace of all threads still running when soffice.bin gets stuck for you.
<span class="quote">> In the Desktop::Init() function ::Disable is only called on some specific
> process types and doing the same in ::DeInit fixes the issue for me.</span >
Those two calls to RequestHandler::Disable from Desktop::Init and
Desktop::DeInit are not meant to be symmetric. For a "normal" invocation of
soffice, your patch will just fail to join any still-running PipeIpcThread
(which can have bad consequences of its own); it does not address the root
issue why that pthread_join blocks for you.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>