JDK-6174389 : Can't use WindowsLookAndFeel: VM crash in getGlyphImage
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 5.0
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux,windows_xp
  • CPU: x86
  • Submitted: 2004-10-05
  • Updated: 2012-10-09
  • Resolved: 2004-11-11
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0u1Resolved
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
1.5

ADDITIONAL OS VERSION INFORMATION :
Windows XP SP1 Tradtional Chinese

A DESCRIPTION OF THE PROBLEM :
When using any swing demo, it's OK. But JVM crash after I chose a Windows Look and Feel

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Start and Swing Demo(such as swingset).
and change the look and feel to "Windows"

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Show the WIndows Look and Feel
ACTUAL -
The JVM crash

ERROR MESSAGES/STACK TRACES THAT OCCUR :
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c930f29, pid=2520, tid=2208
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0-b64 mixed mode, sharing)
# Problematic frame:
# C  [ntdll.dll+0x10f29]
#

---------------  T H R E A D  ---------------

Current thread (0x00842ab0):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=2208]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000000

Registers:
EAX=0x02e9fed0, EBX=0x00380000, ECX=0x00000000, EDX=0x00000000
ESP=0x031aedc8, EBP=0x031aedd4, ESI=0x02e9fec8, EDI=0x02e815d0
EIP=0x7c930f29, EFLAGS=0x00010246

  Top of Stack: (sp=0x031aedc8)
0x031aedc8:   00380000 02e8f348 00000000 031aeea8
0x031aedd8:   7c930d5c 02f91eb8 00000000 031aee8c
0x031aede8:   00000000 02e0e680 02e8f350 77bfc21b
0x031aedf8:   03310000 008a2dd8 008a2dd8 008a2e74
0x031aee08:   7ff9f000 50ff8001 7ff9f000 008a2e94
0x031aee18:   008a2ea4 50ff8001 00010000 00000000
0x031aee28:   00000000 00010000 031aee8c 6d259aca
0x031aee38:   031aee4c 00000001 02db2af4 02db2ac8

Instructions: (pc=0x7c930f29)
0x7c930f19:   85 92 00 00 00 8b 4e 0c 8d 46 08 8b 10 89 4d 0c
0x7c930f29:   8b 09 3b 4a 04 89 55 14 0f 85 ea 0f 00 00 3b c8


Stack: [0x03170000,0x031b0000),  sp=0x031aedc8,  free space=251k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [ntdll.dll+0x10f29]
C  [ntdll.dll+0x10d5c]
C  [MSVCRT.dll+0x1c2de]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.font.FileFont.getGlyphImage(JI)J+0
j  sun.font.FileFontStrike.getGlyphImagePtr(I)J+62
j  sun.font.FileFontStrike.getGlyphAdvance(I)F+59
j  sun.font.CompositeStrike.getGlyphAdvance(I)F+11
j  sun.font.CompositeStrike.getCodePointAdvance(I)F+12
J  sun.font.FontDesignMetrics.stringWidth(Ljava/lang/String;)I
v  ~RuntimeStub::alignment_frame_return Runtime1 stub
j  com.sun.java.swing.SwingUtilities2.stringWidth(Ljavax/swing/JComponent;Ljava/awt/FontMetrics;Ljava/lang/String;)I+2
j  javax.swing.plaf.basic.BasicInternalFrameTitlePane$Handler.minimumLayoutSize(Ljava/awt/Container;)Ljava/awt/Dimension;+96
j  javax.swing.plaf.basic.BasicInternalFrameTitlePane$TitlePaneLayout.minimumLayoutSize(Ljava/awt/Container;)Ljava/awt/Dimension;+8
j  java.awt.Container.minimumSize()Ljava/awt/Dimension;+43
j  java.awt.Container.getMinimumSize()Ljava/awt/Dimension;+1
j  javax.swing.JComponent.getMinimumSize()Ljava/awt/Dimension;+39
j  com.sun.java.swing.plaf.windows.WindowsInternalFrameTitlePane.getMinimumSize()Ljava/awt/Dimension;+5
j  javax.swing.plaf.basic.BasicDesktopIconUI.getMinimumSize(Ljavax/swing/JComponent;)Ljava/awt/Dimension;+8
j  com.sun.java.swing.plaf.windows.WindowsDesktopIconUI.getMinimumSize(Ljavax/swing/JComponent;)Ljava/awt/Dimension;+2
j  com.sun.java.swing.plaf.windows.WindowsDesktopIconUI.getPreferredSize(Ljavax/swing/JComponent;)Ljava/awt/Dimension;+2
j  javax.swing.JComponent.getPreferredSize()Ljava/awt/Dimension;+26
j  javax.swing.JInternalFrame$JDesktopIcon.updateUIWhenHidden()V+12
j  javax.swing.JInternalFrame.updateUI()V+26
j  javax.swing.SwingUtilities.updateComponentTreeUI0(Ljava/awt/Component;)V+11
j  javax.swing.SwingUtilities.updateComponentTreeUI0(Ljava/awt/Component;)V+64
j  javax.swing.SwingUtilities.updateComponentTreeUI0(Ljava/awt/Component;)V+64
j  javax.swing.SwingUtilities.updateComponentTreeUI0(Ljava/awt/Component;)V+64
j  javax.swing.SwingUtilities.updateComponentTreeUI0(Ljava/awt/Component;)V+64
j  javax.swing.SwingUtilities.updateComponentTreeUI0(Ljava/awt/Component;)V+64
j  javax.swing.SwingUtilities.updateComponentTreeUI0(Ljava/awt/Component;)V+64
j  javax.swing.SwingUtilities.updateComponentTreeUI0(Ljava/awt/Component;)V+64
j  javax.swing.SwingUtilities.updateComponentTreeUI0(Ljava/awt/Component;)V+64
j  javax.swing.SwingUtilities.updateComponentTreeUI0(Ljava/awt/Component;)V+64
j  javax.swing.SwingUtilities.updateComponentTreeUI(Ljava/awt/Component;)V+1
j  SwingSet2.updateThisSwingSet()V+34
j  SwingSet2.updateLookAndFeel()V+47
j  SwingSet2.setLookAndFeel(Ljava/lang/String;)V+99
j  SwingSet2$ChangeLookAndFeelAction.actionPerformed(Ljava/awt/event/ActionEvent;)V+8
j  javax.swing.AbstractButton.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+84
j  javax.swing.AbstractButton$Handler.actionPerformed(Ljava/awt/event/ActionEvent;)V+5
j  javax.swing.DefaultButtonModel.fireActionPerformed(Ljava/awt/event/ActionEvent;)V+35
j  javax.swing.JToggleButton$ToggleButtonModel.setPressed(Z)V+148
j  javax.swing.AbstractButton.doClick(I)V+64
j  javax.swing.plaf.basic.BasicMenuItemUI.doClick(Ljavax/swing/MenuSelectionManager;)V+53
j  javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Ljava/awt/event/MouseEvent;)V+62
j  java.awt.Component.processMouseEvent(Ljava/awt/event/MouseEvent;)V+64
j  javax.swing.JComponent.processMouseEvent(Ljava/awt/event/MouseEvent;)V+23
j  java.awt.Component.processEvent(Ljava/awt/AWTEvent;)V+81
j  java.awt.Container.processEvent(Ljava/awt/AWTEvent;)V+18
j  java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V+477
j  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+42
j  java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j  java.awt.LightweightDispatcher.retargetMouseEvent(Ljava/awt/Component;ILjava/awt/event/MouseEvent;)V+304
j  java.awt.LightweightDispatcher.processMouseEvent(Ljava/awt/event/MouseEvent;)Z+139
j  java.awt.LightweightDispatcher.dispatchEvent(Ljava/awt/AWTEvent;)Z+50
j  java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+12
j  java.awt.Window.dispatchEventImpl(Ljava/awt/AWTEvent;)V+19
j  java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+46
j  java.awt.EventDispatchThread.pumpOneEventForHierarchy(ILjava/awt/Component;)Z+200
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+26
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub

---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x008a0d00 JavaThread "Image Fetcher 1" daemon [_thread_blocked, id=3036]
  0x0085f060 JavaThread "Image Fetcher 0" daemon [_thread_blocked, id=2828]
  0x0086a170 JavaThread "DestroyJavaVM" [_thread_blocked, id=2516]
  0x00855680 JavaThread "TimerQueue" daemon [_thread_blocked, id=2612]
=>0x00842ab0 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=2208]
  0x0083c590 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=256]
  0x00838cb0 JavaThread "AWT-Windows" daemon [_thread_in_native, id=3816]
  0x0082b7f0 JavaThread "AWT-Shutdown" [_thread_blocked, id=2324]
  0x0082f0f0 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3308]
  0x0082e4f0 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3424]
  0x0082d360 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2892]
  0x0082c5e0 JavaThread "Finalizer" daemon [_thread_blocked, id=2680]
  0x0082b330 JavaThread "Reference Handler" daemon [_thread_blocked, id=4048]

Other Threads:
  0x0082a540 VMThread [id=2904]
  0x00831bd0 WatcherThread [id=2500]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 1920K, used 621K [0x22bd0000, 0x22de0000, 0x230b0000)
  eden space 1728K,  24% used [0x22bd0000, 0x22c3b558, 0x22d80000)
  from space 192K,  99% used [0x22d80000, 0x22dafff8, 0x22db0000)
  to   space 192K,   0% used [0x22db0000, 0x22db0000, 0x22de0000)
 tenured generation   total 24972K, used 24122K [0x230b0000, 0x24913000, 0x26bd0000)
   the space 24972K,  96% used [0x230b0000, 0x2483eb48, 0x2483ec00, 0x24913000)
 compacting perm gen  total 8192K, used 2409K [0x26bd0000, 0x273d0000, 0x2abd0000)
   the space 8192K,  29% used [0x26bd0000, 0x26e2a458, 0x26e2a600, 0x273d0000)
    ro space 8192K,  62% used [0x2abd0000, 0x2b0d7160, 0x2b0d7200, 0x2b3d0000)
    rw space 12288K,  46% used [0x2b3d0000, 0x2b95c1c0, 0x2b95c200, 0x2bfd0000)

Dynamic libraries:
0x00400000 - 0x0040c000 	C:\Program Files\Java\jre1.5.0\bin\javaw.exe
0x7c920000 - 0x7c9b5000 	C:\WINDOWS\system32\ntdll.dll
0x7c800000 - 0x7c91d000 	C:\WINDOWS\system32\kernel32.dll
0x77da0000 - 0x77e47000 	C:\WINDOWS\system32\ADVAPI32.dll
0x77e50000 - 0x77ee1000 	C:\WINDOWS\system32\RPCRT4.dll
0x77d10000 - 0x77d9e000 	C:\WINDOWS\system32\USER32.dll
0x77ef0000 - 0x77f36000 	C:\WINDOWS\system32\GDI32.dll
0x77be0000 - 0x77c38000 	C:\WINDOWS\system32\MSVCRT.dll
0x76300000 - 0x7631d000 	C:\WINDOWS\system32\IMM32.DLL
0x621f0000 - 0x621f9000 	C:\WINDOWS\system32\LPK.DLL
0x73fa0000 - 0x7400b000 	C:\WINDOWS\system32\USP10.dll
0x6d640000 - 0x6d7c5000 	C:\Program Files\Java\jre1.5.0\bin\client\jvm.dll
0x76b10000 - 0x76b3a000 	C:\WINDOWS\system32\WINMM.dll
0x6d280000 - 0x6d288000 	C:\Program Files\Java\jre1.5.0\bin\hpi.dll
0x76bc0000 - 0x76bcb000 	C:\WINDOWS\system32\PSAPI.DLL
0x6d610000 - 0x6d61c000 	C:\Program Files\Java\jre1.5.0\bin\verify.dll
0x6d300000 - 0x6d31d000 	C:\Program Files\Java\jre1.5.0\bin\java.dll
0x6d630000 - 0x6d63f000 	C:\Program Files\Java\jre1.5.0\bin\zip.dll
0x6d000000 - 0x6d166000 	C:\Program Files\Java\jre1.5.0\bin\awt.dll
0x72f70000 - 0x72f96000 	C:\WINDOWS\system32\WINSPOOL.DRV
0x76990000 - 0x76acc000 	C:\WINDOWS\system32\ole32.dll
0x5a410000 - 0x5a447000 	C:\WINDOWS\system32\uxtheme.dll
0x736d0000 - 0x73719000 	C:\WINDOWS\system32\ddraw.dll
0x73b30000 - 0x73b36000 	C:\WINDOWS\system32\DCIMAN32.dll
0x74680000 - 0x746cb000 	C:\WINDOWS\system32\MSCTF.dll
0x73640000 - 0x7366e000 	C:\WINDOWS\system32\msctfime.ime
0x773a0000 - 0x77b92000 	C:\WINDOWS\system32\shell32.dll
0x77f40000 - 0x77fb6000 	C:\WINDOWS\system32\SHLWAPI.dll
0x77180000 - 0x77282000 	C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll
0x5c820000 - 0x5c8b7000 	C:\WINDOWS\system32\comctl32.dll
0x6d240000 - 0x6d27d000 	C:\Program Files\Java\jre1.5.0\bin\fontmanager.dll
0x6d3c0000 - 0x6d3df000 	C:\Program Files\Java\jre1.5.0\bin\jpeg.dll
0x6d4c0000 - 0x6d4d3000 	C:\Program Files\Java\jre1.5.0\bin\net.dll
0x71a10000 - 0x71a27000 	C:\WINDOWS\system32\WS2_32.dll
0x71a00000 - 0x71a08000 	C:\WINDOWS\system32\WS2HELP.dll
0x6d4e0000 - 0x6d4e9000 	C:\Program Files\Java\jre1.5.0\bin\nio.dll

VM Arguments:
java_command: C:\Program Files\Java\jdk1.5.0\demo\jfc\SwingSet2\SwingSet2.jar

Environment Variables:
PATH=C:\Program Files\Java\jdk1.5.0\bin;c:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\VoiceAge\Common
USERNAME=moli
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 4, GenuineIntel


---------------  S Y S T E M  ---------------

OS: Windows XP Build 2600 Service Pack 2

CPU:total 1 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht

Memory: 4k page, physical 523760k(170468k free), swap 1278192k(1008792k free)

vm_info: Java HotSpot(TM) Client VM (1.5.0-b64) for windows-x86, built on Sep 15 2004 03:00:31 by "java_re" with MS VC++ 6.0



REPRODUCIBILITY :
This bug can be reproduced always.
###@###.### 10/5/04 17:39 GMT

Comments
EVALUATION This looks to be a bug in the rasteriser, since the crash happens at the point where we need to retrieve a glyph image from the font Need the submitter to help identify the font being used. ###@###.### 10/5/04 17:58 GMT This seems to be duplicate of 4994629. This font also uses CMAP format 2 which is currently unsupported on the native layer (and used by hinting engine). Because we disabled asserts for tiger we pass further and randomly initialize of CMAP (on the native level) and this may cause crash or exception later on. ###@###.### 10/8/04 13:30 GMT
05-10-2004