I could never get any Swing app to run from my OpenJDK 6 Win32 builds (check out http://openscg.org) until building Freetype myself with Visual Studio. Using VS2003 it was as simple as:
- download latest source from freetype.org - convert older ms project file shipped with freetype source to your version of visual stdio by simply opening in the gui and acknowledging the conversion. - build freetype from visual studio gui as a static lib and then a dll. - point the FREETYPE environment variables used for building OpenJDK to the above. --Denis Lussier http://openscg.org On 6/14/10, Pete Brunet <p...@a11ysoft.com> wrote: > In my first attempt at running a (slightly) modified OpenJDK jdk7 b96 > I'm getting a crash at startup running the SwingSet2.jar from JDK6 u20. > My unmodified b96 runs SwingSet2 with no crashes. (I built it with VS > 2010 Pro.) > > Looking at the stack trace indicates a DASSERT failure in > Java_sun_awt_windows_WToolkit_initIDs in awt_WToolkit.cpp at this code: > > jclass sDataClassLocal = env->FindClass("sun/java2d/SurfaceData"); > DASSERT(sDataClassLocal != 0); > > Since the failure appears to be unrelated to my code, perhaps I've made > an error in what I've modified in the build (but looking at build > particulars related to SurfaceData I didn't see any issues). > > The output and stack trace are below. > > How would you suggest I start debugging this? > > Thanks, Pete > === > Output from VS 2010 after entering crash breakpoint... > > 'java.exe': Loaded > 'C:\OpenJDK-b96m\jdk7\build\windows-i586-fastdebug\j2sdk-image\bin\java.exe', > Symbols loaded. > 'java.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Cannot find or open > the PDB file > 'java.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Cannot find or > open the PDB file > 'java.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', Cannot find or > open the PDB file > 'java.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', Cannot find or open > the PDB file > 'java.exe': Loaded 'C:\WINDOWS\system32\secur32.dll', Cannot find or > open the PDB file > 'java.exe': Loaded 'C:\WINDOWS\system32\user32.dll', Symbols loaded > (source information stripped). > 'java.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', Cannot find or open > the PDB file > 'java.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll', Symbols loaded > (source information stripped). > 'java.exe': Loaded 'C:\WINDOWS\system32\imm32.dll', Symbols loaded > (source information stripped). > 'java.exe': Loaded 'C:\WINDOWS\system32\gwmhook.dll', Binary was not > built with debug information. > 'java.exe': Loaded 'C:\WINDOWS\system32\psapi.dll', Symbols loaded > (source information stripped). > 'java.exe': Loaded > 'C:\OpenJDK-b96m\jdk7\build\windows-i586-fastdebug\j2sdk-image\jre\bin\msvcr100.dll', > Symbols loaded. > 'java.exe': Loaded > 'C:\OpenJDK-b96m\jdk7\build\windows-i586-fastdebug\j2sdk-image\jre\bin\client\jvm.dll', > Symbols loaded. > 'java.exe': Loaded 'C:\WINDOWS\system32\winmm.dll', Symbols loaded > (source information stripped). > 'java.exe': Loaded > 'C:\OpenJDK-b96m\jdk7\build\windows-i586-fastdebug\j2sdk-image\jre\bin\splashscreen.dll', > Symbols loaded. > 'java.exe': Loaded 'C:\WINDOWS\system32\uxtheme.dll', Symbols loaded > (source information stripped). > 'java.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', Symbols loaded > (source information stripped). > 'java.exe': Loaded 'C:\WINDOWS\system32\MSCTF.dll', Symbols loaded > (source information stripped). > 'java.exe': Loaded 'C:\Program Files\Norton > 360\Engine\4.2.0.12\asoehook.dll', Cannot find or open the PDB file > 'java.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', Symbols loaded > (source information stripped). > 'java.exe': Loaded 'C:\WINDOWS\system32\oleaut32.dll', Symbols loaded > (source information stripped). > 'java.exe': Loaded > 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4974_x-ww_d889290f\msvcr90.dll', > Cannot find or open the PDB file > 'java.exe': Loaded > 'C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.4974_x-ww_d889290f\msvcp90.dll', > Cannot find or open the PDB file > 'java.exe': Loaded 'C:\Program > Files\ScanSoft\OmniPageSE2.0\OpHookSE2.dll', Binary was not built with > debug information. > 'java.exe': Loaded 'C:\WINDOWS\system32\version.dll', Symbols loaded > (source information stripped). > 'java.exe': Loaded 'C:\WINDOWS\system32\MSCTFIME.IME', Symbols loaded > (source information stripped). > 'java.exe': Loaded > 'C:\OpenJDK-b96m\jdk7\build\windows-i586-fastdebug\j2sdk-image\jre\bin\verify.dll', > Symbols loaded. > 'java.exe': Loaded > 'C:\OpenJDK-b96m\jdk7\build\windows-i586-fastdebug\j2sdk-image\jre\bin\java.dll', > Symbols loaded. > 'java.exe': Loaded > 'C:\OpenJDK-b96m\jdk7\build\windows-i586-fastdebug\j2sdk-image\jre\bin\hpi.dll', > Symbols loaded. > 'java.exe': Loaded > 'C:\OpenJDK-b96m\jdk7\build\windows-i586-fastdebug\j2sdk-image\jre\bin\zip.dll', > Symbols loaded. > 'java.exe': Loaded > 'C:\OpenJDK-b96m\jdk7\build\windows-i586-fastdebug\j2sdk-image\jre\bin\awt.dll', > Symbols loaded. > 'java.exe': Loaded 'C:\WINDOWS\system32\apphelp.dll', Symbols loaded > (source information stripped). > java.exe has triggered a breakpoint > > Stack Trace... > >> awt.dll!AwtDebugSupport::AssertCallback(const char * > expr=0x03a2a064, const char * file=0x03a2a02c, int line=1705) Line > 183 C++ > awt.dll!DAssert_Impl(const char * msg=0x03a2a064, const char * > filename=0x03a2a02c, int linenumber=1705) Line 38 + 0x12 bytes C > awt.dll!Java_sun_awt_windows_WToolkit_initIDs(JNIEnv_ * > env=0x00b45d2c, _jclass * cls=0x0100f070) Line 1705 + 0x1a bytes C++ > 011fc8a3() > jvm.dll!JavaCalls::call_helper(JavaValue * result=0x0100f1c4, > methodHandle * m=0x0000f1b4, JavaCallArguments * args=0x0100f1d8, Thread > * __the_thread__=0x011fb4d0) Line 387 + 0x2c bytes C++ > jvm.dll!os::os_exception_wrapper(void (JavaValue *, methodHandle *, > JavaCallArguments *, Thread *)* f=0x081a71a0, JavaValue * > value=0x0100f1c4, methodHandle * method=0x0100f1b4, JavaCallArguments * > args=0x0100f1d8, Thread * thread=0x00b45c00) Line 84 + 0x10 bytes C++ > jvm.dll!JavaCalls::call(JavaValue * result=0x0100f1c4, methodHandle > method={...}, JavaCallArguments * args=0x0100f1d8, Thread * > __the_thread__=0x00b45c00) Line 293 + 0x17 bytes C++ > > jvm.dll!instanceKlass::call_class_initializer_impl(instanceKlassHandle > this_oop={...}, Thread * __the_thread__=0x00b45c00) Line 704 + 0x35 > bytes C++ > jvm.dll!instanceKlass::call_class_initializer(Thread * > __the_thread__=0x034a0c54) Line 684 + 0xa bytes C++ > jvm.dll!instanceKlass::initialize_impl(instanceKlassHandle > this_oop={...}, Thread * __the_thread__=0x00b45c00) Line 432 C++ > jvm.dll!instanceKlass::initialize(Thread * > __the_thread__=0x034a03c0) Line 150 + 0xa bytes C++ > jvm.dll!find_class_from_class_loader(JNIEnv_ * env=0x00b45d2c, > symbolHandle name={...}, unsigned char init=' ', Handle loader={...}, > Handle protection_domain={...}, unsigned char throwError='シ', Thread * > __the_thread__=0x00b45c00) Line 3950 + 0x31 bytes C++ > jvm.dll!JVM_FindClassFromClassLoader(JNIEnv_ * env=0x00b45d2c, > const char * name=0x0100f370, unsigned char init=' ', _jobject * > loader=0x00000000, unsigned char throwError='8') Line 706 + 0x1a > bytes C++ > java.dll!Java_java_lang_Class_forName0(const JNINativeInterface_ * > * env=0x00b45d2c, _jobject * this=0x0100f454, _jobject * > classname=0x0100f464, unsigned char initialize=' ', _jobject * > loader=0x00000000) Line 139 + 0x18 bytes C > 011fc8a3() > jvm.dll!JavaCalls::call_helper(JavaValue * result=0x0100f620, > methodHandle * m=0x0100f5e0, JavaCallArguments * args=0x0100f780, Thread > * __the_thread__=0x011fb4d0) Line 387 + 0x2c bytes C++ > jvm.dll!os::os_exception_wrapper(void (JavaValue *, methodHandle *, > JavaCallArguments *, Thread *)* f=0x081a71a0, JavaValue * > value=0x0100f620, methodHandle * method=0x0100f5e0, JavaCallArguments * > args=0x0100f780, Thread * thread=0x00b45c00) Line 84 + 0x10 bytes C++ > jvm.dll!JavaCalls::call(JavaValue * result=0x0100f620, methodHandle > method={...}, JavaCallArguments * args=0x0100f780, Thread * > __the_thread__=0x00b45c00) Line 293 + 0x17 bytes C++ > jvm.dll!JVM_DoPrivileged(JNIEnv_ * env=0x00b45d2c, _jclass * > cls=0x0100f830, _jobject * action=0x0100f838, _jobject * > context=0x00000000, unsigned char wrapException=0) Line 1093 + 0x18 > bytes C++ > > java.dll!Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2(const > JNINativeInterface_ * * env=0x00b45d2c, _jobject * cls=0x0100f830, > _jobject * action=0x0100f838) Line 46 C > 011fc8a3() > jvm.dll!JavaCalls::call_helper(JavaValue * result=0x0100f9c0, > methodHandle * m=0x0000f9b0, JavaCallArguments * args=0x0100f9d4, Thread > * __the_thread__=0x011fb4d0) Line 387 + 0x2c bytes C++ > jvm.dll!os::os_exception_wrapper(void (JavaValue *, methodHandle *, > JavaCallArguments *, Thread *)* f=0x081a71a0, JavaValue * > value=0x0100f9c0, methodHandle * method=0x0100f9b0, JavaCallArguments * > args=0x0100f9d4, Thread * thread=0x00b45c00) Line 84 + 0x10 bytes C++ > jvm.dll!JavaCalls::call(JavaValue * result=0x0100f9c0, methodHandle > method={...}, JavaCallArguments * args=0x0100f9d4, Thread * > __the_thread__=0x00b45c00) Line 293 + 0x17 bytes C++ > > jvm.dll!instanceKlass::call_class_initializer_impl(instanceKlassHandle > this_oop={...}, Thread * __the_thread__=0x00b45c00) Line 704 + 0x35 > bytes C++ > jvm.dll!instanceKlass::call_class_initializer(Thread * > __the_thread__=0x00b46684) Line 684 + 0xa bytes C++ > jvm.dll!instanceKlass::initialize_impl(instanceKlassHandle > this_oop={...}, Thread * __the_thread__=0x00b45c00) Line 432 C++ > jvm.dll!instanceKlass::initialize(Thread * > __the_thread__=0x00b4648c) Line 150 + 0xa bytes C++ > jvm.dll!LinkResolver::resolve_static_call(CallInfo & result={...}, > KlassHandle & resolved_klass={...}, symbolHandle method_name={...}, > symbolHandle method_signature={...}, KlassHandle current_klass={...}, > bool check_access=true, bool initialize_class=true, Thread * > __the_thread__=0x00b46488) Line 568 + 0x2f bytes C++ > jvm.dll!LinkResolver::resolve_invokestatic(CallInfo & result={...}, > constantPoolHandle pool={...}, int index=13056, Thread * > __the_thread__=0x00b45c00) Line 1011 + 0x1e bytes C++ > jvm.dll!LinkResolver::resolve_invoke(CallInfo & result={...}, > Handle recv={...}, constantPoolHandle pool={...}, int index=13056, > Bytecodes::Code byte=_invokestatic, Thread * __the_thread__=0x00b45c00) > Line 984 + 0x15 bytes C++ > jvm.dll!InterpreterRuntime::resolve_invoke(JavaThread * > thread=0x00000000, Bytecodes::Code bytecode=_baload) Line 637 + 0x37 > bytes C++ > 0120403c() > jvm.dll!JavaCalls::call_helper(JavaValue * result=0x0100fee0, > methodHandle * m=0x0000fdfc, JavaCallArguments * args=0x0100fe58, Thread > * __the_thread__=0x011fb4d0) Line 387 + 0x2c bytes C++ > jvm.dll!os::os_exception_wrapper(void (JavaValue *, methodHandle *, > JavaCallArguments *, Thread *)* f=0x081a71a0, JavaValue * > value=0x0100fee0, methodHandle * method=0x0100fdfc, JavaCallArguments * > args=0x0100fe58, Thread * thread=0x00b45c00) Line 84 + 0x10 bytes C++ > jvm.dll!JavaCalls::call(JavaValue * result=0x0100fee0, methodHandle > method={...}, JavaCallArguments * args=0x0100fe58, Thread * > __the_thread__=0x00b45c00) Line 293 + 0x17 bytes C++ > jvm.dll!jni_invoke_static(JNIEnv_ * env=0x00b45d2c, JavaValue * > result=0x7c91005d, _jobject * receiver=0x0100ff04, JNICallType > call_type=16842500, _jmethodID * method_id=0x00c0f4d4, > JNI_ArgumentPusher * args=0x0100fec0, Thread * > __the_thread__=0x00b45c00) Line 1017 + 0x17 bytes C++ > jvm.dll!jni_CallStaticVoidMethod(JNIEnv_ * env=0x00b45d2c, _jclass > * cls=0x00b47024, _jmethodID * methodID=0x00c0f4d4, ...) Line 1589 + > 0x2a bytes C++ > java.exe!JavaMain(void * _args=0x0008fc58) Line 426 + 0x1d bytes C > java.exe!_callthreadstartex() Line 314 + 0x6 bytes C > java.exe!_threadstartex(void * ptd=0x00884298) Line 292 + 0x5 > bytes C > kernel32.dll!7c80b729() > [Frames below may be incorrect and/or missing, no symbols loaded > for kernel32.dll] > > -- > *Pete Brunet* > > a11ysoft - Accessibility Architecture and Development > (512) 238-6967 (work), (512) 689-4155 (cell) > Skype: pete.brunet > IM: ptbrunet (AOL, Google), ptbru...@live.com (MSN) > http://www.a11ysoft.com/about/ > Ionosphere: WS4G >