JDK-6354368 : Japanese IME crashes JVM on J2SE 1.5 for WindowsXP 64 bit edition
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 1.4.2_11,5.0
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2005-11-22
  • Updated: 2012-10-08
  • Resolved: 2006-01-10
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.
5.0u7 b01Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
java version "1.5.0_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_05-b05, mixed mode)

Windows [Version 5.2.3790]

WindowsXP 64 bit edition Japanese
Micorsoft IME Standard 2002 ver 8.1 - Japanese

At satrt time, the following warning message is shown :

WARNING: Default charset MS932 not supported, using ISO-8859-1 instead

Invoke IME and input roman characters and try to convert them into Kanji
JVM crashes.

Run the following program JTextFieldTest.class on Windows XP 64 bit edition Japanese.

Invoke IME
Input roman characters ( for example : AI )

Press the space bar 3 or 4 times to choose convert candidate.

JVM crash.

with Japanese IME, we convert Roman characters into Kanji normally
D:\jV-test>start /BELOWNORMAL /b /wait d:\jre1.5.0\bin\java.exe -showversion JTextFieldTest
WARNING: Default charset MS932 not supported, using ISO-8859-1 instead
java version "1.5.0_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_05-b05, mixed mode)

# An unexpected error has been detected by HotSpot Virtual Machine:
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000078d0f14f, pid=956, ti
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.5.0_05-b05 mixed mode)
# Problematic frame:
# C  [kernel32.dll+0x2f14f]
# An error report file with more information is saved as hs_err_pid956.log
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp

# An unexpected error has been detected by HotSpot Virtual Machine:
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000078d0f14f, pid=956, tid=2156
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.5.0_05-b05 mixed mode)
# Problematic frame:
# C  [kernel32.dll+0x2f14f]

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

Current thread (0x0000000000437690):  JavaThread "AWT-Windows" daemon [_thread_in_native, id=2156]

siginfo: ExceptionCode=0xc0000005, reading address 0x000007ff00000000

EAX=0x000007ff0000000f, EBX=0x0000000000000000, ECX=0x000007ff00000000, EDX=0x0000000000000010
ESP=0x00000000043eef40, EBP=0x0000000000000001, ESI=0x0000000000000001, EDI=0x000007ff00000000
EIP=0x0000000078d0f14f, EFLAGS=0x0000000000010206

  Top of Stack: (sp=0x00000000043eef40)
0x00000000043eef40:   00000000043ef000 0000000000000001
0x00000000043eef50:   00000000fffffff8 000007ff76fa2edd
0x00000000043eef60:   0000000000000000 000007ff0000000f
0x00000000043eef70:   00000000004337f8 0000000000000001
0x00000000043eef80:   000213a000000190 0000000000010003
0x00000000043eef90:   0000000003c40890 0000000000000000
0x00000000043eefa0:   0000000000000003 000007ff76fa5ea7
0x00000000043eefb0:   0000000000000000 0000000000010003
0x00000000043eefc0:   0000000002f6a950 0000000000000001
0x00000000043eefd0:   000007ff76fc1180 0000000000000000
0x00000000043eefe0:   0000000000000000 00000000770107fd
0x00000000043eeff0:   00000000043ef150 0000000000000001
0x00000000043ef000:   0000000000000000 0000000000010003
0x00000000043ef010:   00000000fffffff8 00000000044d667b
0x00000000043ef020:   0000000000000000 00000000047b8170
0x00000000043ef030:   00000000047bcc98 0000000000000000

Instructions: (pc=0x0000000078d0f14f)
0x0000000078d0f13f:   11 ff 48 89 44 24 28 48 3b c1 0f 82 83 b2 04 00
0x0000000078d0f14f:   0f b6 01 41 8d 41 ff f7 d0 48 63 c8 48 8b d1 49

Stack: [0x00000000042f0000,0x00000000043f0000),  sp=0x00000000043eef40,  free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [kernel32.dll+0x2f14f]

[error occurred during error reporting, step 120, id 0xc0000005]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.awt.windows.WToolkit.eventLoop()V+0
j  sun.awt.windows.WToolkit.run()V+69
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub

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

Java Threads: ( => current thread )
  0x0000000000435bb0 JavaThread "DestroyJavaVM" [_thread_blocked, id=1556]
  0x0000000000437bf0 JavaThread "TimerQueue" daemon [_thread_blocked, id=208]
  0x0000000000437940 JavaThread "AWT-EventQueue-0" [_thread_blocked, id=436]
=>0x0000000000437690 JavaThread "AWT-Windows" daemon [_thread_in_native, id=2156]
  0x00000000004373e0 JavaThread "AWT-Shutdown" [_thread_blocked, id=216]
  0x0000000000437130 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=3012]
  0x0000000000436e80 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=388]
  0x0000000000436bd0 JavaThread "CompilerThread1" daemon [_thread_blocked, id=2644]
  0x0000000000436920 JavaThread "CompilerThread0" daemon [_thread_blocked, id=444]
  0x0000000000436670 JavaThread "AdapterThread" daemon [_thread_blocked, id=2800]
  0x00000000004363c0 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=2416]
  0x0000000000436110 JavaThread "Finalizer" daemon [_thread_blocked, id=2204]
  0x0000000000435e60 JavaThread "Reference Handler" daemon [_thread_blocked, id=1816]

Other Threads:
  0x00000000003699d0 VMThread [id=1708]
  0x0000000000369d00 WatcherThread [id=2436]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

 def new generation   total 2368K, used 615K [0x0000000050010000, 0x00000000502a0000, 0x0000000051c10000)
  eden space 2112K,  17% used [0x0000000050010000, 0x0000000050069e78, 0x0000000050220000)
  from space 256K, 100% used [0x0000000050260000, 0x00000000502a0000, 0x00000000502a0000)
  to   space 256K,   0% used [0x0000000050220000, 0x0000000050220000, 0x0000000050260000)
 tenured generation   total 1792K, used 631K [0x0000000051c10000, 0x0000000051dd0000, 0x0000000055410000)
   the space 1792K,  35% used [0x0000000051c10000, 0x0000000051cadd00, 0x0000000051cade00, 0x0000000051dd0000)
 compacting perm gen  total 21248K, used 9117K [0x0000000055410000, 0x00000000568d0000, 0x000000005a610000)
   the space 21248K,  42% used [0x0000000055410000, 0x0000000055cf7570, 0x0000000055cf7600, 0x00000000568d0000)
No shared spaces configured.

Dynamic libraries:
0x0000000000400000 - 0x0000000000410000 	d:\jre1.5.0\bin\java.exe
0x0000000078ea0000 - 0x0000000078ff3000 	C:\WINDOWS\system32\ntdll.dll
0x0000000078ce0000 - 0x0000000078e91000 	C:\WINDOWS\system32\kernel32.dll
0x000007ff7fed0000 - 0x000007ff7ffe4000 	C:\WINDOWS\system32\ADVAPI32.dll
0x000007ff7fd20000 - 0x000007ff7fec9000 	C:\WINDOWS\system32\RPCRT4.dll
0x000007ff7fbf0000 - 0x000007ff7fc76000 	C:\WINDOWS\system32\MSVCRT.dll
0x0000000008000000 - 0x00000000084dc000 	d:\jre1.5.0\bin\server\jvm.dll
0x0000000078bd0000 - 0x0000000078cdb000 	C:\WINDOWS\system32\USER32.dll
0x000007ff7fc80000 - 0x000007ff7fd19000 	C:\WINDOWS\system32\GDI32.dll
0x000007ff7dfa0000 - 0x000007ff7dfee000 	C:\WINDOWS\system32\WINMM.dll
0x000007ff7d1f0000 - 0x000007ff7d229000 	C:\WINDOWS\system32\IMM32.DLL
0x000007ff67b60000 - 0x000007ff67b6d000 	C:\WINDOWS\system32\LPK.DLL
0x000007ff78be0000 - 0x000007ff78c6a000 	C:\WINDOWS\system32\USP10.dll
0x0000000010000000 - 0x0000000010009000 	d:\jre1.5.0\bin\hpi.dll
0x000007ff7e0e0000 - 0x000007ff7e0f0000 	C:\WINDOWS\system32\PSAPI.DLL
0x00000000003e0000 - 0x00000000003f0000 	d:\jre1.5.0\bin\verify.dll
0x0000000001d30000 - 0x0000000001d5a000 	d:\jre1.5.0\bin\java.dll
0x0000000001d60000 - 0x0000000001d74000 	d:\jre1.5.0\bin\zip.dll
0x0000000003930000 - 0x0000000003b26000 	D:\jre1.5.0\bin\awt.dll
0x000007ff78c70000 - 0x000007ff78cb1000 	C:\WINDOWS\system32\WINSPOOL.DRV
0x000007ff7ecf0000 - 0x000007ff7ef62000 	C:\WINDOWS\system32\ole32.dll
0x000007ff76fa0000 - 0x000007ff7701f000 	C:\WINDOWS\system32\uxtheme.dll
0x000007ff790b0000 - 0x000007ff79122000 	C:\WINDOWS\system32\ddraw.dll
0x000007ff79300000 - 0x000007ff79308000 	C:\WINDOWS\system32\DCIMAN32.dll
0x0000000004090000 - 0x00000000040ec000 	D:\jre1.5.0\bin\fontmanager.dll
0x000007ff7a150000 - 0x000007ff7a1ef000 	C:\WINDOWS\system32\MSCTF.dll
0x000007ff7cb50000 - 0x000007ff7cb91000 	C:\WINDOWS\system32\apphelp.dll
0x0000000004440000 - 0x000000000449c000 	C:\WINDOWS\system32\msctfime.ime
0x00000000044a0000 - 0x0000000004534000 	C:\WINDOWS\system32\imjp81.ime
0x000007ff7f1a0000 - 0x000007ff7fb8f000 	C:\WINDOWS\system32\SHELL32.dll
0x000007ff7ef70000 - 0x000007ff7f00b000 	C:\WINDOWS\system32\SHLWAPI.dll
0x0000000004540000 - 0x000000000462e000 	C:\WINDOWS\WinSxS\amd64_Microsoft.Windows.Common-Controls_6595b64144ccf1df_5.82.3790.1830_x-ww_4D792D2A\COMCTL32.dll
0x000007ff69aa0000 - 0x000007ff69bbf000 	C:\WINDOWS\system32\imjp81k.dll
0x000007ff7f010000 - 0x000007ff7f197000 	C:\WINDOWS\WinSxS\amd64_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.3790.1830_x-ww_ACED72AF\comctl32.dll
0x000007ff7c380000 - 0x000007ff7c485000 	C:\WINDOWS\system32\USERENV.dll
0x0000000004f60000 - 0x0000000004f7e000 	C:\WINDOWS\IME\IMJP8_1\Dicts\IMJPCD.DIC
0x0000000004fc0000 - 0x0000000004fda000 	D:\jre1.5.0\bin\net.dll
0x000007ff77090000 - 0x000007ff770c0000 	C:\WINDOWS\system32\WS2_32.dll
0x000007ff77080000 - 0x000007ff7708c000 	C:\WINDOWS\system32\WS2HELP.dll
0x0000000004fe0000 - 0x0000000004fea000 	D:\jre1.5.0\bin\nio.dll
0x000007ff7e9f0000 - 0x000007ff7eb04000 	C:\WINDOWS\system32\oleaut32.dll
0x0000000004ff0000 - 0x000000000501c000 	D:\jre1.5.0\bin\dcpr.dll

VM Arguments:
java_command: JTextFieldTest

Environment Variables:
PROCESSOR_IDENTIFIER=AMD64 Family 15 Model 4 Stepping 8, AuthenticAMD

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

OS: Windows Server 2003 family Build 3790 Service Pack 1

CPU:total 1 amd64 3dnow

Memory: 4k page, physical 3145092k(2532720k free), swap 43910444k(43517172k free)

vm_info: Java HotSpot(TM) 64-Bit Server VM (1.5.0_05-b05) for windows-amd64, built on Aug 26 2005 14:56:05 by "java_re" with unknown MS VC++:1400

This bug can be reproduced always.

---------- BEGIN SOURCE ----------
import javax.swing.*;

public class JTextFieldTest extends JFrame {

  public static void main( String[] args ){
    JFrame w = new JTextFieldTest( "JTextFieldTest" );
    w.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    w.setSize( 200, 50 );
    w.setVisible( true );

  public JTextFieldTest( String title ){
    super( title );
    JPanel pane = (JPanel)getContentPane();
    JTextField tf1 = new JTextField();

    pane.add( tf1 );

---------- END SOURCE ----------

EVALUATION Temporarily fixed per option (1) in comments. Plan to do (2) in update 8.

EVALUATION With enable UseMembar in 5.0u07 on Windows platform, this should not happen, please try run with 5.0u07.

EVALUATION Using WinDBG, I got the stack trace when it crashes. jvm!frame::link(void)+0x15 jvm!os::is_first_C_frame(class frame * fr = 0x00000000`0429da20)+0x40 jvm!VMError::report(class outputStream * st = 0x00000000`0429de70)+0x900 jvm!VMError::report_and_die(void)+0x450 jvm!topLevelExceptionFilter(struct _EXCEPTION_POINTERS * exceptionInfo = 0x00000000`0429e160)+0x686 ntdll!RtlQueryProcessLockInformation+0xe0c ntdll!RtlLookupFunctionEntry+0x4d3 ntdll!KiUserExceptionDispatcher+0x2d kernel32!IsBadReadPtr+0x2f uxtheme!DrawThemeText+0x22d imjp81!MSIMEUICandTransWndProc+0x3b3b imjp81!ImeEnumRegisterWord+0x4f3b imjp81!ImeEnumRegisterWord+0x4b68 imjp81!MSIMEUICandWndProc+0x16d1 imjp81!MSIMEUICandWndProc+0xf9 USER32!GetSystemMetrics+0x24c USER32!DefWindowProcW+0x20f USER32!DefWindowProcW+0x2ed ntdll!KiUserCallbackDispatcher+0x1f USER32!FillRect+0x7a USER32!EndPaint+0x1c awt!Java_sun_awt_windows_WToolkit_eventLoop(struct JNIEnv_ * env = 0x00000000`004422b8, class _jobject * self = 0x00000000`0044f208)+0xc4 The intersting thing is with the latest JDK 6.0 b61, I saw the same first chance exception as well and I got the similar stack as above till "kernel32!IsBadReadPtr+0x2f", however, I don't see JVM crashes after that exception. So I believe in JDK 6.0, the jvm code made changes to the exception filter which avoids that crash. I think we should do the same thing to JDK 1.5.0 update release to avoid this crash. Reassign it to VM team.

EVALUATION I can reproduce the crash with 1.5.0_05, but not with the latest JDK 6.