Apache OpenOffice (AOO) Bugzilla – Issue 461
Deadlock in dipatch() API call
Last modified: 2004-10-11 15:03:56 UTC
Dispatching a URL (file: od private:) from a external Java Application (over remote UNO) causes a deadlock. See http://www.openoffice.org/source/browse/whiteboard/OOBean/src/org/openoffice/OpenOffice.java (Method loadComponent(String url, com.sun.star.io.XInputStream xInput)) for the example code. It seems, that the framework holds its own mutex owned while calling VCL (bad idea).The deadlock should be obvious from the attached callstacks of the locking threads.
Created attachment 77 [details] call stack
Created attachment 78 [details] call stack
sorry, first attachment is useless - please use second attachment.
Created attachment 79 [details] patch
attached patch solves this problem. But I think the whole source should be reviewed for those kind of situations. It is not clear to me which of these hundreds of UNO calls are 'save' in the sense, that the mutex lock of the calling object can be hold.
Andreas might be able to help...
There exist another (different) deadlocks in our framework project too. We will work on it ... but it's not easy to fix all of them. I think we must redesign our whole project to solve these problems realy ... Look for further comments on this board - please.
fixed in internal version 638
This prio1-Task can be closed. It isn't interessting anymore!