On 06/09/2015 10:02 AM, Noel Grandin wrote:
On 2015-06-09 09:58 AM, Stephan Bergmann wrote:
On Windows, with master as of last night, "make check" happened to run
into a deadlock in soffice.bin as below.  The
main thread is trying to re-acquire the SolarMutex (after a
SolarMutexReleaser) from within the event loop, while an
incoming URP thread (apparently holding the SolarMutex) does
vcl::Window::dispose which, on Windows, blocks on sending a
message into the event loop.

Shouldn't something that blocks on sending a message into the event loop
drop the SolarMutex while it waits for the reply, and then reacquire it
afterwards?

I'm not sure how this happened to work before introduction of Window::dispose (which got introduced as part of the VclPtr work, IIUC). But doing release/re-acquire of the SolarMutex deep down the call stack has its own perils (and probably creates just as many data races as it helps work around deadlocks).
_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to