Issue 93512 - Mac: Deadlock while installing extensions
Summary: Mac: Deadlock while installing extensions
Status: CLOSED FIXED
Alias: None
Product: General
Classification: Code
Component: code (show other issues)
Version: OOO300m4
Hardware: Mac Mac OS X, all
: P3 Trivial (vote)
Target Milestone: OOo 3.0
Assignee: joerg.skottke
QA Contact: issues@framework
URL:
Keywords: aqua
Depends on:
Blocks: 88888 92214
  Show dependency tree
 
Reported: 2008-09-05 11:58 UTC by kai.sommerfeld
Modified: 2008-10-29 10:03 UTC (History)
8 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
suggested hotfix (1.47 KB, patch)
2008-09-05 16:12 UTC, hdu@apache.org
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description kai.sommerfeld 2008-09-05 11:58:27 UTC
Sometimes, OOo (and also "unopkg gui") deadlocks while installing extensions via
klicking an oxt file in Finder or using "open blah.oxt" in Terminal.
Comment 1 kai.sommerfeld 2008-09-05 11:59:29 UTC
mh: This is a 3.0 show stopper.
Comment 2 joachim.lingner 2008-09-05 15:41:16 UTC
@hdu: as discussed.
Comment 3 hdu@apache.org 2008-09-05 16:09:02 UTC
there seem to be two mutexes involved:
- the solar mutex
- an internal Cocoa mutex

The extension installation thread holds the solar mutex and indirectly tries to get the Cocoa mutex when 
it creates a dialog. The main thread already holds the Cocoa mutex when NSView::drawRect is called and 
its YIELD_GUARD waits on the solar mutex => a classical dead lock
Comment 4 hdu@apache.org 2008-09-05 16:12:22 UTC
Created attachment 56271 [details]
suggested hotfix
Comment 5 hdu@apache.org 2008-09-08 09:28:26 UTC
Fixed in CWS i93512

@mh: please decide if this problem block issue 88888
Comment 6 hdu@apache.org 2008-09-08 10:52:16 UTC
@jsk: please verify in CWS i93512
Comment 7 Martin Hollmichel 2008-09-08 11:59:44 UTC
add to blocker list.
Comment 8 stefan.baltzer 2008-09-08 15:43:15 UTC
SBA->JSK: As discussed, I found a scenario to reproduce:
 - Start an En_US installation of OOo
 - Tools-Extension Manager
 - Click "Add"
 - Select a dict extension that is already installed (i.e. En_US)
 - In upcoming dialog, click "For All Users"
 - [Now the dialog "...already installed, do you wish to replace..." should come up]
-> Deadlock.

Verified the fix for this scenario in CWS i93512.
Comment 9 hdu@apache.org 2008-09-08 16:10:06 UTC
@pl: undoing your change for issue 92075 in CWS vcl30stop2
http://gsl.openoffice.org/source/browse/gsl/vcl/aqua/source/window/salframe.cxx?
r1=1.66&r2=1.66.16.1
seems to fix this deadlock too.
Comment 10 Raphael Bircher 2008-09-09 02:53:27 UTC
Fixed in Master
Tested with 3.0.0 RC1 PPC Version on Tiger
Closing Issue
Comment 11 kai.sommerfeld 2008-09-09 07:50:43 UTC
rbircher: Sorry, but the fix cannot be in the master yet, because the
corresponding CWS is not yet integrated. It might be the case that you did not
encounter the deadlock on your system. This is the nature of this bug. It does
not occue always and everywhere. Reopening.
Comment 12 kai.sommerfeld 2008-09-09 07:51:47 UTC
Restoring correct bug status (1)
Comment 13 kai.sommerfeld 2008-09-09 07:52:17 UTC
Restoring correct bug status (2)
Comment 14 joerg.skottke 2008-10-29 10:03:22 UTC
No deadlock in m9, closing