To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=109939
                 Issue #|109939
                 Summary|toolkit: inconsistent UnoControl locking schemes
               Component|gsl
                 Version|DEV300m74
                Platform|All
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|code
             Assigned to|cd
             Reported by|sb





------- Additional comments from [email protected] Mon Mar  8 15:39:30 +0000 
2010 -------
UnoControl::getAccessibleContext first locks the SolarMutex and then its own
mutex (DEV300_m74 toolkit/source/controls/unocontrol.cxx l. 1484--1485), while
UnoControl::draw locks its own mutex (l. 1039 before calling
ImplGetCompatiblePeer (l. 1041), which in turn potentially locks the SolarMutex
(l. 223).  This inconsistency can potentially lead to deadlocks.

@fs:  According to cd, there is probably no good reason for UnoControl to have
its own mutex at all, instead of always using the SolarMutex (unless you know of
any good reasons).

(I stumbled over this when executing forms/qa/unoapi on DEV300_m74-based CWS
sb118 unxlngi6 non-pro once caused OOo to hang with the attached stack traces,
of which especially the second, interesting one is unfortunately completely
garbled for unknown reasons.  The tail of the output generated by the
forms/qa/unoapi test, executed by a "subsequenttests -P4" invocation, is:

---8<---
6: Method getFastPropertyValue() finished with state OK
6: LOG> getFastPropertyValue(): PASSED.OK
6: ***** State for
forms.OFileControlModel::com::sun::star::beans::XFastPropertySet ******
6: Whole interface: PASSED.OK
6:
***************************************************************************************
6: LOG> Log started 08.02.2010 - 14:50:02
6: checking: [forms.OFileControlModel::com::sun::star::beans::XPropertyState] is
iface: [com.sun.star.beans.XPropertyState] testcode: [ifc.beans._XPropertyState]
6: LOG> Property 'Align' has attributes 67
6: LOG> Execute: getPropertyState()
6: Method getPropertyState() finished with state OK
6: LOG> getPropertyState(): PASSED.OK
6: 
6: LOG> Execute: getPropertyStates()
6: Method getPropertyStates() finished with state OK
6: LOG> getPropertyStates(): PASSED.OK
6: 
6: LOG> Execute: setPropertyToDefault()
6: LOG> starting required method: getPropertyDefault()
6: LOG> Execute: getPropertyDefault()
6: LOG> Default property value is : '0'
6: Method getPropertyDefault() finished with state OK
6: LOG> getPropertyDefault(): PASSED.OK
6: 
6: LOG> Default value = '0', returned value = '0' for property Align
6: Method setPropertyToDefault() finished with state OK
6: LOG> setPropertyToDefault(): PASSED.OK
6: LOG>     disposing xDrawDoc 
6: ***** State for
forms.OFileControlModel::com::sun::star::beans::XPropertOG>              Get: ?
---8<---

Whether or not that deadlock is related to this issue is unclear due to the
garbled stacks, however.)

---------------------------------------------------------------------
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