How to debug assert failure in awt.dll?

Pete Brunet peter.brunet at oracle.com
Wed Jul 10 15:03:44 UTC 2013


Thanks Denis, I will try a different dirty hack :-)  I changed the
DASSERT in Hashtable.cpp to
if (value == NULL) return NULL;
That seems to work.

Pete

On 7/10/13 4:15 AM, Denis Fokin wrote:
> Hi Pete,
>
> As a dirty hack, you can just comment out 
>
>     ret = MessageBoxA(NULL, assertMsg, "AWT Assertion Failure",
>         MB_YESNO|MB_ICONSTOP|MB_TASKMODAL);
>
>     // if clicked Yes, break into the debugger
>     if ( ret == IDYES ) {
>         # if defined(_M_IX86)
>             _asm { int 3 };
>         # else
>             DebugBreak();
>         # endif
>     }
>     // otherwise, try to continue execution
>
> from jdk/src/windows/native/sun/windows/awt_Debug.cpp
>
> this prevents showing the MessageBox and breaking into the debugger.
>
> Thank you,
>    Denis.
>
>
> On Jul 10, 2013, at 2:01 AM, Pete Brunet <peter.brunet at oracle.com> wrote:
>
>> Using code cloned from yesterday, I built the jdk portion of the 7u-dev
>> forest using the debug target and the 7u45 import and am getting an
>> assert failure in Hashtable.cpp when accessibility is enabled.  This is
>> a 32 bit build using a 32 bit import.
>>
>> Letting the execution transition into the debugger stops pointing at
>> awt.dll.
>>
>> How do I debug this?  Assuming having debug symbols would help, I set
>> the Visual Studio debugger symbols dialog to point at either of these
>> two directories but the debugger fails to find the symbols:
>> jdk7u-dev\jdk\build\windows-i586\tmp\sun\sun.awt\awt\obj_g or obj_gO.
>>
>> Pete




More information about the build-dev mailing list