Solarmutex Deadlock when Closing Calc which contains functions with XVolatileResult return values

anwen anwenfish at
Tue Jul 31 08:30:30 PDT 2012

Eike, I agree with you that the listeners are destroyed during document
close. I observed it in my log file. However, the worker thread is running
asynchronously if not calling the listeners' modified function. How can it
know that the document is closed, stop calling the modified function, and
quit itself gracefully. So in the first post, I asked if there is a signal
which announces that the document is closed.

Please correct me if there is something wrong with my thought.


Eike Rathke-2 wrote
> Hi anwen,
> On Friday, 2012-07-27 08:43:25 -0700, anwen wrote:
>> The deadlock scenario is that the spreadsheet called the functions many
>> times and was showing dynamical financial data. Then I closed the
>> spreadsheet window. The window quit immediately, but the soffice.bin and
>> soffice.exe were still in task manager. I had to kill these processes
>> manually. From the log file, I saw that main thread hung at destruction
>> process, trying to close the second thread, and the second thread hang at
>> Reference<XResultLisenter> -> modified(), trying to update the
>> spreadsheet.
> This sounds like the actual culprit. The result listener should not try
> to update if the document is in destruction. Actually the listeners are
> detroyed during document close, but it seems this is a race condition
> and a modified() is fired in between. If it detected that situation it
> wouldn't need to lock SolarMutex but could bail out early instead.
> Could you please submit a bug for this and assign it to me?
> Thanks
>   Eike
> -- 
> LibreOffice Calc developer. Number formatter stricken i18n
> transpositionizer.
> GnuPG key 0x293C05FD : 997A 4C60 CE41 0149 0DB3  9E96 2F1A D073 293C 05FD
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at .freedesktop

View this message in context:
Sent from the Dev mailing list archive at

More information about the LibreOffice mailing list