# HG changeset patch # User amenkov # Date 1290689891 -10800 # Node ID adb296cc2eaebb2fd155fbc3e8668890b9d795fc # Parent 88d0a8413bb80fbb070c9c9175906d58823b739f 6999872: java.awt.Window instantiation leads to JVM CRASH on Windows, JDK7b118+ fastdebug Reviewed-by: igor, dcherepanov diff -r 88d0a8413bb8 -r adb296cc2eae jdk/src/windows/bin/java_md.c --- a/jdk/src/windows/bin/java_md.c Wed Nov 24 15:26:41 2010 -0800 +++ b/jdk/src/windows/bin/java_md.c Thu Nov 25 15:58:11 2010 +0300 @@ -70,7 +70,11 @@ */ #undef ENABLE_AWT_PRELOAD #ifndef JAVA_ARGS /* turn off AWT preloading for javac, jar, etc */ - #define ENABLE_AWT_PRELOAD + /* CR6999872: fastdebug crashes if awt library is loaded before JVM is + * initialized*/ + #if !defined(DEBUG) + #define ENABLE_AWT_PRELOAD + #endif #endif #ifdef ENABLE_AWT_PRELOAD diff -r 88d0a8413bb8 -r adb296cc2eae jdk/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp --- a/jdk/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp Wed Nov 24 15:26:41 2010 -0800 +++ b/jdk/src/windows/native/sun/java2d/d3d/D3DPipelineManager.cpp Thu Nov 25 15:58:11 2010 +0300 @@ -969,12 +969,15 @@ } D3DPipelineManager *pMgr = D3DPipelineManager::CreateInstance(); if (pMgr != NULL) { - UINT adapterCount = pMgr->adapterCount; + // init adapters if we are preloading + if (AwtToolkit::GetInstance().GetPreloadThread().OnPreloadThread()) { + UINT adapterCount = pMgr->adapterCount; - pAdapterIniters = new D3DAdapterInitializer[adapterCount]; - for (UINT i=0; i