[Webkit-unassigned] [Bug 67582] Calling nativeImageForCurrentFrame() causes assertion failure: m_verifier.isSafeToUse()

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Feb 16 09:04:33 PST 2012


https://bugs.webkit.org/show_bug.cgi?id=67582





--- Comment #11 from David Levin <levin at chromium.org>  2012-02-16 09:04:32 PST ---
(In reply to comment #10)
> (In reply to comment #9)
> > > And I also hit this bug in Gtk port when implementing some unit tests for our icon database client
> > 
> > It indicates that there is likely a problem in the code (maybe for multiple platforms), and it needs a volunteer to fix it.
> 
> Well, unless I'm missing something it's pretty clear to me that IconDatabase ::synchronousIconForPageURL cannot be used by any platform as it requires a lock in the mutex used to verify refcounting. This issue was likely never addressed as 1- it does not obviously affect release builds and 2- the code is kind of correct, because even if you don't get the lock, nothing wrong will happen as long as you call it from the same thread that created the image data.

I agree with you mostly. (I don't think 2 is true but I haven't reviewed the code recently. iirc, there is a reason for the lock and verifying that ref counting only happens within the lock. When you do ref counting outside of the lock, there is another thread that may be doing it -- within the lock -- and then you have problems.)


> 
> One possible fix off the top of my head would be replacing the last return by a call to some method in the IconDatabaseClient that will get the Image and will return the platform specific image. Does it sound good?

 From my comments above " Remove the call to IconDatabase ::synchronousIconForPageURL and add a new method to converts to your platform specific representation while holding the lock. Then call this method instead."

I think we are saying the same thing.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list