To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=115129


User jl changed the following:

                What    |Old value                 |New value
================================================================================
                  Status|NEW                       |STARTED
--------------------------------------------------------------------------------




------- Additional comments from [email protected] Wed Oct 20 11:42:14 +0000 
2010 -------
This was caused by issue 114933 which went into OOO330m11.

What happend?

Issue 114933 explains that a deadlock can potentially occur when some code uses
the XCommandEnvironment to notify the user. The extension manager receives an
XCommandEnvironment which it passes in  calls to underlying code. That code does
not know if the extension manager has locked the mutex. Therefore the extension
manager only passes the XCommandEnvironment (here in addExtension) when its
mutex is not locked.

The additional messages displayed when using the --verbose switch are produced
by code that received an XCommandEnvironment an which calls functions on that
interfaces. Now it does not receive this object anymore, because this could
produce a deadlock. It can therefore not produce the notifications, seen in the
verbose mode.

How to detect an error?
If an error occurs, then the code will produce exceptions which are independent
of the message displayed in verbose mode. There will still be an error
notification on the console. The additional “success messages” in the verbose
mode are actually not necessary.

Ideas for a fix
If the extension manager calls within a guarded section code that takes an
XCommandEnvironment then it should provide an own implementation which records
the calls. When the guarded section was left, then the recorded calls are
forwarded to the original. This does not work with the XInteractionHandler which
one gets from the XCommandEnvironment, because it is designed for synchronous
interactions. The notifications on the console will also appear delayed and all
at once.

Another idea is to invent a XAsyncProgressHandler which is passed to functions
of XExtensionManager. The function implementations of that interface must return
immediately. That is they must dispatch the notifications to a different thread.

This should be fixed for 3.4.

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to