On Feb 22, 2010, at 8:51 PM, Neil Lee wrote: > Hi - I was the original reporter of this issue. I can reproduce this > both with Path Finder and Linkinus. It doesn't matter if it's at > launch, but the first launch of any app that uses Growl notification > either hang, or takes a really long time to launch (3-5 minutes). > Killing the GrowlHelperApp process causes the hanging app to > immediately launch. > > I sampled the GrowlHelperApp during one of these hangs - > > http://neil.io/su3F > > I've tried completely uninstalling growl and deleting all traces of > its support files from my system and reinstalling a fresh copy, but > the issue eventually returns. > > Any ideas?
Fascinating. The sample clearly shows a hang as GrowlApplicationController sets itself as the Growl delegate for its own notifications. Specifically, those are the Growl Update notifications. Growl was launched via an Apple Event in _launchGrowlIfInstalledWithRegistrationDictionary within the client application (e.g. Path Finder). In -[GrowlApplicationController initSingleton], -[GrowlApplicationBridge setDelegate:] is called. This part of the launch process. That, in turn, leads to _launchGrowlIfInstalledWithRegistrationDictionary being called... which attempts to register with GrowlHelperApp via an Apple Event. As best I can tell, that deadlocks, because it is then waiting on an AppleEvent reply... from itself... while waiting for a reply. This, despite AESendMessage() being called with (kAENoReply | kAEDontReconnect | kAENeverInteract | kAEDontRecord). I'm blanking on a clean solution to this. Any thoughts? -Evan -- You received this message because you are subscribed to the Google Groups "Growl Discuss" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/growldiscuss?hl=en.
