<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>