SUGGESTED FIX
http://hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk/rev/c5618ec76f11
|
|
|
EVALUATION
The reason is double attempt to delete GDI font in AwtFont::Dispose() method from:
1. pDataDisposeMethod() -> AwtObject::_Dispose() -> WM_AWT_DISPOSE-> AwtFont::Dispose()
2. AwtToolkit::Dispose() -> AwtObjectList::Cleanup() -> AwtFont::Dispose()
After the first GDI font deletion we don't mark font handle (m_hFont[i]) as invalid to avoid further deletion attempts
and what is worse delete m_hFont array making this pointer invalid for further calls of AwtFont::Dispose() and other methods.
|
|
|
EVALUATION
Seems like an attempt to delete GDI object (Font) that is used from another thread at the same time.
Going to research it further...
|
|
|
EVALUATION
[2011-08-20T03:49:20.58] # The crash happened outside the Java Virtual Machine in native code.
[2011-08-20T03:49:20.58] # See problematic frame for where to report the bug.
[2011-08-20T03:49:20.58] #
[2011-08-20T03:49:20.58] *********************
[2011-08-20T03:49:20.77] AWT Assertion Failure
[2011-08-20T03:49:20.77] *********************
[2011-08-20T03:49:20.77] ::DeleteObject(font)
[2011-08-20T03:49:20.77] File '../../../src/windows/native/sun/windows/awt_Font.cpp', at line 164
Looks like an AWT bug from the error report.
|
|
|
EVALUATION
Transferring to AWT for closer inspection.
|
|
|