Calling GraphicsEnvironment.registerFont() with a null argument crashes the VM. VM crash is not an acceptable behavior. This is reproducible on JDK6-FCS as well as JDK7-b06. This is reproducible on all platforms. Here is the crash log - ------------------------ # # An unexpected error has been detected by Java Runtime Environment: # # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0096cc57, pid=3040, tid=2472 # # Java VM: Java HotSpot(TM) Client VM (1.7.0-ea-b06 mixed mode) # Problematic frame: # v ~BufferBlob::jni_fast_GetBooleanField # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # --------------- T H R E A D --------------- Current thread (0x002a5c00): JavaThread "main" [_thread_in_native, id=2472] siginfo: ExceptionCode=0xc0000005, reading address 0x00000000 Registers: EAX=0x000000f6, EBX=0x06cdfd90, ECX=0x00000000, EDX=0x00000000 ESP=0x0090fbb4, EBP=0x0090fbe8, ESI=0x06cdfd90, EDI=0x002a5c00 EIP=0x0096cc57, EFLAGS=0x00010246 Top of Stack: (sp=0x0090fbb4) 0x0090fbb4: 6d9c07ff 002a5ce8 00000000 000000f6 0x0090fbc4: 002a5c00 06cdfd90 06cdfd90 0090fbc4 0x0090fbd4: 0090f7d8 0090fdc8 6da39a2a 6da5fa20 0x0090fbe4: 00000000 0090fc30 6d3859de 002a5ce8 0x0090fbf4: 00000000 000000f6 0091a430 002a5ce8 0x0090fc04: 0090fc38 00000000 002a4f74 0090fc10 0x0090fc14: 06cdfd90 0090fc40 06ce6158 00000000 0x0090fc24: 06cdfd90 00000000 0090fc40 0090fc6c Instructions: (pc=0x0096cc57) 0x0096cc47: c1 01 0f 85 20 00 00 00 8b 54 24 08 8b 44 24 0c 0x0096cc57: 8b 12 c1 e8 02 0f b6 04 02 3b 0d cc 19 a9 6d 0f Stack: [0x008c0000,0x00910000), sp=0x0090fbb4, free space=318k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) v ~BufferBlob::jni_fast_GetBooleanField C [fontmanager.dll+0x259de] v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::StubRoutines (1) Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::Interpreter v ~BufferBlob::StubRoutines (1) --------------- P R O C E S S --------------- Java Threads: ( => current thread ) 0x0adcbc00 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=2172] 0x0aabb000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3044] 0x0aab6000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3212] 0x0aab5000 JavaThread "Attach Listener" daemon [_thread_blocked, id=3448] 0x0aab4000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2060] 0x0aaa6400 JavaThread "Finalizer" daemon [_thread_blocked, id=3684] 0x0aaa2000 JavaThread "Reference Handler" daemon [_thread_blocked, id=3876] =>0x002a5c00 JavaThread "main" [_thread_in_native, id=2472] Other Threads: 0x0aa9ec00 VMThread [id=3328] 0x0aad5c00 WatcherThread [id=2780] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap def new generation total 960K, used 475K [0x02990000, 0x02a90000, 0x02e70000) eden space 896K, 53% used [0x02990000, 0x02a06c20, 0x02a70000) from space 64K, 0% used [0x02a70000, 0x02a70000, 0x02a80000) to space 64K, 0% used [0x02a80000, 0x02a80000, 0x02a90000) tenured generation total 4096K, used 0K [0x02e70000, 0x03270000, 0x06990000) the space 4096K, 0% used [0x02e70000, 0x02e70000, 0x02e70200, 0x03270000) compacting perm gen total 12288K, used 3652K [0x06990000, 0x07590000, 0x0a990000) the space 12288K, 29% used [0x06990000, 0x06d21118, 0x06d21200, 0x07590000) No shared spaces configured. Dynamic libraries: 0x00400000 - 0x00423000 e:\JDK1.7.0\bin\java.exe 0x7c900000 - 0x7c9b0000 C:\WINDOWS\system32\ntdll.dll 0x7c800000 - 0x7c8f4000 C:\WINDOWS\system32\kernel32.dll 0x77dd0000 - 0x77e6b000 C:\WINDOWS\system32\ADVAPI32.dll 0x77e70000 - 0x77f01000 C:\WINDOWS\system32\RPCRT4.dll 0x7c340000 - 0x7c396000 e:\JDK1.7.0\jre\bin\msvcr71.dll 0x6d870000 - 0x6dabe000 e:\JDK1.7.0\jre\bin\client\jvm.dll 0x77d40000 - 0x77dd0000 C:\WINDOWS\system32\USER32.dll 0x77f10000 - 0x77f57000 C:\WINDOWS\system32\GDI32.dll 0x76b40000 - 0x76b6d000 C:\WINDOWS\system32\WINMM.dll 0x6d3c0000 - 0x6d3c8000 e:\JDK1.7.0\jre\bin\hpi.dll 0x76bf0000 - 0x76bfb000 C:\WINDOWS\system32\PSAPI.DLL 0x6d820000 - 0x6d82c000 e:\JDK1.7.0\jre\bin\verify.dll 0x6d460000 - 0x6d47f000 e:\JDK1.7.0\jre\bin\java.dll 0x6d860000 - 0x6d86f000 e:\JDK1.7.0\jre\bin\zip.dll 0x6d0b0000 - 0x6d272000 E:\JDK1.7.0\jre\bin\awt.dll 0x73000000 - 0x73026000 C:\WINDOWS\system32\WINSPOOL.DRV 0x77c10000 - 0x77c68000 C:\WINDOWS\system32\msvcrt.dll 0x76390000 - 0x763ad000 C:\WINDOWS\system32\IMM32.dll 0x774e0000 - 0x7761d000 C:\WINDOWS\system32\ole32.dll 0x73760000 - 0x737a9000 C:\WINDOWS\system32\ddraw.dll 0x73bc0000 - 0x73bc6000 C:\WINDOWS\system32\DCIMAN32.dll 0x6d360000 - 0x6d3b3000 E:\JDK1.7.0\jre\bin\fontmanager.dll VM Arguments: java_command: RegisterFontCrashTest Launcher Type: SUN_STANDARD Environment Variables: PATH=e:\JDK1.7.0\bin;y:\b04\windows-i586\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;C:\PROGRA~1\MKSTOO~1\bin;C:\PROGRA~1\MKSTOO~1\bin\x11;C:\PROGRA~1\MKSTOO~1\mksnt;C:\PROGRA~1\ULTRAE~1 USERNAME=praveen SHELL=C:/PROGRA~1/MKSTOO~1/mksnt/sh.exe DISPLAY=:0.0 OS=Windows_NT PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel --------------- S Y S T E M --------------- OS: Windows XP Build 2600 Service Pack 2 CPU:total 1 (1 cores per cpu, 2 threads per core) family 15 model 2 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, ht Memory: 4k page, physical 522992k(193116k free), swap 1278288k(870508k free) vm_info: Java HotSpot(TM) Client VM (1.7.0-ea-b06) for windows-x86, built on Jan 18 2007 00:47:16 by "java_re" with unknown MS VC++:1310 --------------------------------------------- I have attached a sample test. Run the sample test using JDK6/7 and you will see the VM crash.
|