Summary: | REGRESSION (r34544): Crash while visiting bigglook.com | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Ismail Donmez <ismail> | ||||
Component: | Page Loading | Assignee: | Darin Adler <darin> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Critical | CC: | beidson, darin, mitz, zwarich | ||||
Priority: | P1 | Keywords: | Regression | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Mac | ||||||
OS: | OS X 10.5 | ||||||
Attachments: |
|
Description
Ismail Donmez
2008-06-15 07:44:43 PDT
This is caused by over-releasing the IconRecord in the "create" case of IconDatabase::getOrCreateIconRecord(). Prior to r34544, the code relied on the ability of m_iconURLToRecordMap to keep weak references to newly-created IconRecords with a 0 reference count. I don't think it's possible to just change m_iconURLToRecordMap to use strong references, because of the hasOneRef() checks in other places in the code. Damn! I wonder what should we do about this. *** Bug 19563 has been marked as a duplicate of this bug. *** (In reply to comment #2) > Prior to r34544, the code relied on the ability of m_iconURLToRecordMap to keep > weak references to newly-created IconRecords with a 0 reference count. I don't > think it's possible to just change m_iconURLToRecordMap to use strong > references, because of the hasOneRef() checks in other places in the code. I think we can fix this without changing the map so it can keep strong references, as long as nobody is relying on the IconRecord being kept alive indefinitely with a 0 reference count. I need to figure out more precisely what's going wrong. I've set aside my other work so I can concentrate on this now. Created attachment 21718 [details]
patch
Comment on attachment 21718 [details]
patch
r=me
Committed revision 34575. |