JRE 1.3.1_08 crashing on Windows 2003 with specific CPUs
Hi,
We are migrating an old 1.3.1_08 system from Windows 2000 to Windows 2003 Enterprise R2.
Running on select CPUs, the JVM crashes. I can't find any information on Google on it.
Call stack and DrWatson32 info of the Jvm crash:
*-> Module List <-*
0000000000400000 - 0000000000405000: C:\Weblogic\jre1.3.1_08\bin\java.exe
0000000049de0000 - 0000000049e38000: C:\WINDOWS\system32\NETAPI32.dll
000000006d220000 - 000000006d227000: C:\Weblogic\jre1.3.1_08\bin\hpi.dll
000000006d420000 - 000000006d4f8000: C:\Weblogic\jre1.3.1_08\bin\hotspot\jvm.dll
0000000071bc0000 - 0000000071bc8000: C:\WINDOWS\system32\rdpsnd.dll
0000000076aa0000 - 0000000076acd000: C:\WINDOWS\system32\WINMM.dll
0000000076b70000 - 0000000076b7b000: C:\WINDOWS\system32\PSAPI.DLL
00000000771f0000 - 0000000077201000: C:\WINDOWS\system32\WINSTA.dll
0000000077380000 - 0000000077412000: C:\WINDOWS\system32\USER32.dll
0000000077ba0000 - 0000000077bfa000: C:\WINDOWS\system32\MSVCRT.dll
0000000077c00000 - 0000000077c48000: C:\WINDOWS\system32\GDI32.dll
0000000077c50000 - 0000000077cef000: C:\WINDOWS\system32\RPCRT4.dll
0000000077e40000 - 0000000077f42000: C:\WINDOWS\system32\kernel32.dll
0000000077f50000 - 0000000077fec000: C:\WINDOWS\system32\ADVAPI32.dll
000000007c800000 - 000000007c8c0000: C:\WINDOWS\system32\ntdll.dll
*-> State Dumpfor Thread Id 0x1a8 <-*
eax=00000001 ebx=002545b8 ecx=002545b8 edx=00250000 esi=002545b8 edi=6d4e9010
eip=6d4d89e8 esp=0006fc2c ebp=0006fc34 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202
*** ERROR: Symbol file could not be found. Defaulted to export symbolsfor C:\Weblogic\jre1.3.1_08\bin\hotspot\jvm.dll -
function: jvm!gHotSpotVMIntConstantEntryValueOffset
6d4d89d5 ffff ?
6d4d89d7 8fff popedi
6d4d89d9 ffff ?
6d4d89db 4fdecedi
6d4d89dc 0000 add[eax],al
6d4d89de 0000 add[eax],al
6d4d89e0 ffff ?
6d4d89e2 ff2f jmpfword ptr [edi]
6d4d89e4 0000 add[eax],al
6d4d89e6 0000 add[eax],al
FAULT ->6d4d89e8 64a1180e0000moveax,fs:[00000e18] fs:003b:00000e18=002545b8
6d4d89ee c3ret
6d4d89ef 0000 add[eax],al
6d4d89f1 0000 add[eax],al
6d4d89f3 0000 add[eax],al
6d4d89f5 0000 add[eax],al
6d4d89f7 0000 add[eax],al
6d4d89f9 0000 add[eax],al
6d4d89fb 0000 add[eax],al
6d4d89fd 0000 add[eax],al
6d4d89ff 0000 add[eax],al
*-> Stack Back Trace <-*
*** WARNING: Unable to verify checksumfor C:\Weblogic\jre1.3.1_08\bin\java.exe
*** ERROR: Module load completed but symbols could not be loadedfor C:\Weblogic\jre1.3.1_08\bin\java.exe
*** ERROR: Symbol file could not be found. Defaulted to export symbolsfor C:\WINDOWS\system32\kernel32.dll -
ChildEBP RetAddr Args to Child
WARNING: Stack unwind information not available. Following frames may be wrong.
0006fc34 6d487c0a 002545b8 00000000 6d4895b3 jvm!gHotSpotVMIntConstantEntryValueOffset+0x6fd8
0006fcb8 6d44acbf 0006fce8 77bd27c2 00000004 jvm!JVM_FindSignal+0x301f1
0006fccc 00401a95 0006ff28 0006ff48 0006fce8 jvm!JNI_CreateJavaVM+0x26
0006fcf8 0040127a 0006ff28 0006ff48 0006ff20 java+0x1a95
0006ff4c 004027d2 00000003 00252540 00252b58 java+0x127a
0006ffc0 77e523e5 00000000 00000000 7ffde000 java+0x27d2
0006fff0 00000000 004026ef 00000000 78746341 kernel32!IsProcessorFeaturePresent+0x9e
*-> Raw Stack Dump <-*
000000000006fc2c 07 a9 48 6d b8 45 25 00 - b8 fc 06 00 0a 7c 48 6d ..Hm.E%......|Hm
000000000006fc3c b8 45 25 00 00 00 00 00 - b3 95 48 6d f8 fc 06 00 .E%.......Hm....
000000000006fc4c 0c 4e 40 00 c2 27 bd 77 - 98 27 25 00 60 01 25 00 .N@..'.w.'%.`.%.
000000000006fc5c 50 00 00 00 98 27 25 00 - a0 27 25 00 08 03 25 00 P....'%..'%...%.
000000000006fc6c 70 27 25 00 36 7c 00 00 - 00 00 00 00 01 00 00 00 p'%.6|..........
000000000006fc7c 00 00 00 00 00 00 00 00 - 00 00 00 00 8b 24 25 00 .............$%.
000000000006fc8c a0 27 25 00 cd 27 25 00 - d1 ff ff 7f a0 27 25 00 .'%..'%......'%.
000000000006fc9c 42 00 00 00 00 00 00 00 - 43 00 00 00 8b 24 25 00 B.......C....$%.
000000000006fcac 3b 15 40 00 b8 45 25 00 - 00 00 00 00 cc fc 06 00 ;.@..E%.........
000000000006fcbc bf ac 44 6d e8 fc 06 00 - c2 27 bd 77 04 00 00 00 ..Dm.....'.w....
000000000006fccc f8 fc 06 00 95 1a 40 00 - 28 ff 06 00 48 ff 06 00 ......@.(...H...
000000000006fcdc e8 fc 06 00 00 00 00 00 - 0c 4e 40 00 02 00 01 00 .........N@.....
000000000006fcec 02 00 00 00 78 27 25 00 - 00 00 00 00 4c ff 06 00 ....x'%.....L...
000000000006fcfc 7a 12 40 00 28 ff 06 00 - 48 ff 06 00 20 ff 06 00 z.@.(...H... ...
000000000006fd0c 00 00 00 00 00 00 00 00 - 00 e0 fd 7f 43 3a 5c 57 ............C:\W
000000000006fd1c 65 62 6c 6f 67 69 63 5c - 6a 72 65 31 2e 33 2e 31 eblogic\jre1.3.1
000000000006fd2c 5f 30 38 00 62 69 6e 00 - 6a 61 76 61 2e 65 78 65 _08.bin.java.exe
000000000006fd3c 00 25 25 00 08 00 00 00 - 00 00 00 00 b8 24 25 00 .%%..........$%.
000000000006fd4c 08 00 00 00 98 bf 87 80 - 1c 24 f2 87 78 01 25 00 .........$..x.%.
000000000006fd5c 10 09 00 00 00 00 00 00 - 78 01 25 00 00 aa bf b8 ........x.%.....
This happens every time as soon as any Java application is run, even a "Hello World!" style simple application.
Machine on which the JVM is crashing is a Dell 2950, 2 x Xeon 5150 Woodcrest CPU. Same crash is happening on a Xeon Irwindale 3.2 Ghz CPU (4 CPU system as well). On a Prescott Pentium IV it runs fine, same on various AMD 64 CPUs.
The only difference I can see between the Woodcrest and Irwindale vs the Prescott (the one working) is the EMT64 instruction set. The JVM seems to check if some processor function is available and it crashes.
Any ideas if this problem can be bypassed? Upgrading to newer JDK might be out of the options for us at the moment.
Any ideas are appreciated, thank you.

