[7u4] Code Review Request for CR 7082294 - nsk/regression/b4265661 crashes on windows (original) (raw)

Alexey Utkin alexey.utkin at oracle.com
Thu Feb 9 04:37:57 PST 2012


Looks good for me. -uta

On 2/3/2012 20:40, Oleg Pekhovskiy wrote:

Hi guys!

Here is the description of CR: http://bugs.sun.com/viewbug.do?bugid=7082294 Patch with changes attached. Description of the fix: Sometimes execution of AwtObjectList::Cleanup() could be delayed by posting WMAWTOBJECTLISTCLEANUP message. From the other side this method is called from AwtToolkit::Dispose(). There AwtObjectList::Cleanup() is followed by AwtFont::Cleanup(). Thus, sometimes we could have the situation when AwtFont::Cleanup() is called before the main functionality of AwtObjectList::Cleanup(). It means that all HFONT objects would be deleted from AwtFontCache. So when AwtFont::Dispose() would be called from AwtObjectList::Cleanup() it would not find HFONT in AwtFontCache and would try to delete HFONT (that is deleted in AwtFontCache) once again. There is also a custom message pump in AwtToolkit::Dispose() that allows posted WMAWTOBJECTLISTCLEANUP be handled. If we move AwtFont::Cleanup() right after that message pump we guarantee that AwtObjectList::Cleanup() would always be called before AwtFont::Cleanup(). That what my fix is about. PS: I also left my changes in AwtFont to emilinate invalid HFONT usage and access violation probability between AwtFont::Dispose() and AwtFont::~AwtFont() calls. PPS: This implementation is a kind of workaround for 7u4. As for JDK 8 - font caching should be improved. Thanks, Oleg.

-------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20120209/d5552e69/attachment.html



More information about the awt-dev mailing list