[Adium-devl] Leak of each AIWebKitMessageViewController and associated hierarchy; Adium 1.0+ (since [15317])

Evan Schoenberg evan.s at dreskin.net
Tue Apr 17 02:54:58 UTC 2007


It turns out that since [15317] (before the 1.0 release) we've been  
leaking each AIWebKitMessageViewController (which means a leaked  
WebView heirarchy in addition to its own classes and ivars).

The culprit:
	[[webView windowScriptObject] setValue:self forKey:@"client"];

The retain stack trace, isolated care of OmniObjectMeter's Event  
Matching window:

0x927d93e8 in _NSIncrementExtraRefCount
0x927d932a in -[NSObject retain]
0x9081216f in _CFRetain
0x952606d7 in KJS::Bindings::ObjcInstance::ObjcInstance(objc_object*)
0x952a6c5f in  
KJS::Bindings::Instance::createBindingForLanguageInstance 
(KJS::Bindings::Instance::BindingLanguage, void*,  
KJS::Bindings::RootObject const*)
0x952a6d45 in KJS::Bindings::Instance::createRuntimeObject 
(KJS::Bindings::Instance::BindingLanguage, void*,  
KJS::Bindings::RootObject const*)
0x95260219 in KJS::Bindings::convertObjcValueToValue(KJS::ExecState*,  
void*, KJS::Bindings::ObjcValueType)
0x9525fd7c in -[WebScriptObject setValue:forKey:]
0x037db5e0 in -[AIWebKitMessageViewController _initWebView]

Either:
  (a) the window script object's client could be a separate object so  
we can handle releasing it in -[AIWebKitMessageViewController dealloc]
or
  (b) we need to let the AIWebKitMessageViewController when it's job  
is done, before dealloc, so it can do [[webView windowScriptObject]  
setValue:nil forKey:@"client"]

what do y'all (in particular David, since [15317] was his commit in  
which he added inline file transfer prompting) think?

-Evan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070416/ea3f7059/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070416/ea3f7059/attachment.sig>


More information about the devel mailing list