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]
