Help/advise asked with deadlocks when opening Visio objects in Writer

Winfried Donkers W.Donkers at dci-electronics.nl
Wed Jan 8 03:00:39 PST 2014


Hi,

Background information:
The company I work for uses MS Visio to create illustrations, which are embedded into Writer documents (and not saved separately as Visio document). 
Since we started using LibreOffice versions later than 3.5 (I think), we have seemingly random problems with LibreOffice freezing when opening an embedded Visio object.
The problem is very hard to reproduce (I have been trying for months, and have succeeded only once*), but it can occur multiple times on a single day for a single user. 
The only way out is to kill LibreOffice (or Visio if you're lucky) with loss of recent changes as result. 
For my colleagues it is an extremely annoying problem and it feeds strong anti-LibreOffice feelings (my colleagues, not me).

Today, I had a breakthrough: a colleague reported that he received an error message, "algemene OLE fout". 
Normally, we don't get that, LibreOffice just freezes.
This string and opengrok led to ERRCODE_SO_GENERALERROR  belonging to the string, /core/sfx2/source/view/ipclient.cxx, which is the only file where ERRCODE_SO_GENERALERROR is used.
This led to a TODO-comment in /core/embeddedobj/source/commonembedding/embobj.cxx, OCommonEmbeddedObject::doVerb( ... ):
  " TODO: a gross hack to avoid deadlocks [...] "

I know that the SolarMutex issue is getting attention, and that area is far beyond my capabilities.
But could there be a way to recognize these deadlocks and kill these deadlocks without killing the LibreOffice application?
Possibly, with help from the experts, I might be able to create a temporary 'patch' ...
I have not created a bug report for this, since I could find no way to reproduce the problem. Depending on your reaction(s) I will create the bug report.

Winfried

*I ran version 4.1.4 and 4.2.0 concurrently, opened a Visio object in one of the two and both froze. Killing the one with the Visio object, made the other accessible again.




More information about the LibreOffice mailing list