NEW 40654
Database access in worker threads results in memory leaks due to lack of autorelease pool
https://bugs.webkit.org/show_bug.cgi?id=40654
Summary Database access in worker threads results in memory leaks due to lack of auto...
Mark Rowe (bdash)
Reported 2010-06-15 23:00:53 PDT
You can see the following stderr output from a number of worker tests while running the regression tests: 2010-06-15 22:13:15.128 DumpRenderTree[29876:766f] *** __NSAutoreleaseNoPool(): Object 0x11a5a2f70 of class NSCFString autoreleased with no pool in place - just leaking If you look at <http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r61233%20(8108)/DumpRenderTree2-leaks.txt> you can also see that these objects are in fact leaked.
Attachments
Alexey Proskuryakov
Comment 2 2010-06-22 13:41:30 PDT
See also: bug 40655.
Simon Fraser (smfr)
Comment 3 2010-08-23 16:49:27 PDT
So callOnMainThread() requires an autorelease pool?
Simon Fraser (smfr)
Comment 4 2010-08-23 17:08:24 PDT
Here's where the autorelease spew is coming from: #0 0x00007fff80fe6d94 in __NSAutoreleaseNoPool () #1 0x00007fff80f32099 in _CFAutoreleasePoolAddObject () #2 0x00007fff80f31e06 in -[NSObject(NSObject) autorelease] () #3 0x00000001019352ed in HardAutorelease (obj=0x105c3c960) at FoundationExtras.h:73 #4 0x0000000101935311 in WTF::StringImpl::operator NSString* (this=0x105c07c70) at /Volumes/Monster/Development/apple/webkit/WebKit.git/WebCore/platform/text/mac/StringImplMac.mm:30 #5 0x000000010085119f in WTF::String::operator NSString* (this=0x108fa7440) at WTFString.h:277 #6 0x00000001008a3158 in WebDatabaseTrackerClient::dispatchDidModifyDatabase (this=0x107810ec0, origin=0x10790cc10, databaseIdentifier=@0x108fa7440) at /Volumes/Monster/Development/apple/webkit/ WebDatabaseTrackerClient::dispatchDidModifyDatabase() is doing Obj-C stuff.
Simon Fraser (smfr)
Comment 5 2010-08-23 17:09:44 PDT
Or is it wrong for dispatchDidModifyDatabase() to be called on the worker thread?
Simon Fraser (smfr)
Comment 6 2010-08-23 17:11:21 PDT
Bug 40655 should fix that.
Note You need to log in before you can comment on or make changes to this bug.