FULL PRODUCT VERSION :
# ./java -version
java version "1.4.2_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_09-b05)
Java HotSpot(TM) Client VM (build 1.4.2_09-b05, mixed mode)
FULL OS VERSION :
5.8 Generic_108528_18 Sun 4u sparc SUNW, SunBlade-100
A DESCRIPTION OF THE PROBLEM :
When attempting to launch the Sun One Server under our application, DevPartner Java we get a HotSpot crash.
We have reduced this issue to a collision between the -XX:+AggressiveHeap
and JVMPI memory events. We can crash the JVM using a standalone JSE source
file and the hprof profiler. We can reproduce this issue on Windows and on
Solaris using the standalone 1.4.2 JVM. The following analysis is for
Windows XP using Sun JDK 1.4.2_09. Please let us know if there is a fix for
this, as SunOne 7.0 2004Q2UR4 sets the -XX:+AggressiveHeap by default
therefore giving the appearance that our profiler's memory analysis
capability is the cause of the JVM crash. Our customer uses SunOne 7.0
2004Q2UR4 over JDK 1.4.2_08, and we are instructing them to remove the
-XX:+AggressiveHeap switch as a workaround.
THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Did not try
THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Did not try
SOURCE CODE FOR TEST CASE :
class HWorld
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
STEPS TO REPRODUCE :
1. javac HWorld.java
2. java -XX:+AggressiveHeap -Xrunhprof:heap=sites -showversion -cp . HWorld
[Both -XX:+AggressiveHeap -Xrunhprof:heap=sites are needed to reproduct the failure.}
EXPECTED BEHAVIOR:
[As seen with 1.5.0_05]
java version "1.5.0_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)
Java HotSpot(TM) Client VM (build 1.5.0_05-b05, mixed mode)
Hello World!
Dumping allocation sites ... done.
ACTUAL BEHAVIOR :
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# Internal Error (504152414C4C454C33434156454E4745284541500E4350500213),
pid=32
32, tid=2204
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_09-b05 mixed mode)
# An error report file with more information is saved as hs_err_pid3232.log
space 294848K, 0% used space 49088K, 0% used space 49088K, 0% used space
655168
K, 0% used space 4096K, 20% used#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
Contents of hs_err_pid3232.log
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# Internal Error (504152414C4C454C33434156454E4745284541500E4350500213),
pid=3232, tid=2204
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_09-b05 mixed mode)
--------------- T H R E A D ---------------
Current thread (0x00a6db60): JavaThread "Reference Handler" daemon
[_thread_in_vm, id=2204]
Stack: [0x02e40000,0x02e80000), sp=0x02e7f78c, free space=253k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native
code)
V [jvm.dll+0xdc354]
V [jvm.dll+0x56c66]
V [jvm.dll+0xae5cf]
V [jvm.dll+0x5793]
V [jvm.dll+0xa7ec6]
V [jvm.dll+0x445a8]
V [jvm.dll+0x466c8]
V [jvm.dll+0xc2e11]
V [jvm.dll+0xc2b21]
V [jvm.dll+0xc2610]
V [jvm.dll+0xc251f]
V [jvm.dll+0x55bef]
V [jvm.dll+0x6b15c]
j java.lang.ref.Reference$ReferenceHandler.run()V+71
v ~StubRoutines::call_stub
V [jvm.dll+0x71bdf]
V [jvm.dll+0xabac2]
V [jvm.dll+0x71aec]
V [jvm.dll+0x717e8]
V [jvm.dll+0x71821]
V [jvm.dll+0x897cd]
V [jvm.dll+0xcfb42]
V [jvm.dll+0xcfb10]
C [MSVCRT.dll+0x27fb8]
C [kernel32.dll+0x1d28e]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j java.lang.ref.Reference$ReferenceHandler.run()V+71
v ~StubRoutines::call_stub
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x009c9650 JavaThread "Finalizer" daemon [_thread_blocked, id=1816]
=>0x00a6db60 JavaThread "Reference Handler" daemon [_thread_in_vm, id=2204]
0x00035fe0 JavaThread "main" [_thread_in_vm, id=3068]
Other Threads:
0x00a6c918 VMThread [id=2932]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap
PSYoungGen total 343936K, used 0K [0x10010000, 0x27fe0000, 0x27fe0000)
eden [0x10010000,0x10010000,0x22000000)
from [0x24ff0000,0x24ff0000,0x27fe0000)
to [0x22000000,0x22000000,0x24ff0000)
PSOldGen total 655168K, used 79K [0x27fe0000, 0x4ffb0000,
0x50010000)
object [0x27fe0000,0x27ff3cb8,0x4ffb0000)
PSPermGen total 4096K, used 826K [0x50010000, 0x50410000, 0x54010000)
object [0x50010000,0x500deb60,0x50410000)
Dynamic libraries:
0x00400000 - 0x0040b000 d:\sun\java\j2sdk1.4.2_09\bin\java.exe
0x77f50000 - 0x77ff7000 C:\WINDOWS\System32\ntdll.dll
0x77e60000 - 0x77f46000 C:\WINDOWS\system32\kernel32.dll
0x77dd0000 - 0x77e5d000 C:\WINDOWS\system32\ADVAPI32.dll
0x78000000 - 0x78087000 C:\WINDOWS\system32\RPCRT4.dll
0x77c10000 - 0x77c63000 C:\WINDOWS\system32\MSVCRT.dll
0x08000000 - 0x0813d000
d:\sun\java\j2sdk1.4.2_09\jre\bin\client\jvm.dll
0x77d40000 - 0x77dcd000 C:\WINDOWS\system32\USER32.dll
0x7f000000 - 0x7f041000 C:\WINDOWS\system32\GDI32.dll
0x76b40000 - 0x76b6c000 C:\WINDOWS\System32\WINMM.dll
0x76390000 - 0x763ac000 C:\WINDOWS\System32\IMM32.DLL
0x629c0000 - 0x629c8000 C:\WINDOWS\System32\LPK.DLL
0x72fa0000 - 0x72ffa000 C:\WINDOWS\System32\USP10.dll
0x10000000 - 0x10007000 d:\sun\java\j2sdk1.4.2_09\jre\bin\hpi.dll
0x76bf0000 - 0x76bfb000 C:\WINDOWS\System32\PSAPI.DLL
0x003a0000 - 0x003ae000 d:\sun\java\j2sdk1.4.2_09\jre\bin\verify.dll
0x003b0000 - 0x003c9000 d:\sun\java\j2sdk1.4.2_09\jre\bin\java.dll
0x003d0000 - 0x003de000 d:\sun\java\j2sdk1.4.2_09\jre\bin\zip.dll
0x003e0000 - 0x003ec000 d:\sun\java\j2sdk1.4.2_09\jre\bin\hprof.dll
0x71ad0000 - 0x71ad8000 C:\WINDOWS\System32\WSOCK32.dll
0x71ab0000 - 0x71ac5000 C:\WINDOWS\System32\WS2_32.dll
0x71aa0000 - 0x71aa8000 C:\WINDOWS\System32\WS2HELP.dll
VM Arguments:
jvm_args: -XX:+AggressiveHeap -Xrunhprof:heap=sites
java_command: HWorld
Environment Variables:
CLASSPATH=C:\Program Files\Common Files\Compuware
PATH=G:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:
\Program Files\ATI Technologies\ATI Control Panel;d:\Program
Files\Perforce;D:\sun\Java\j2sdk1.4.2_05\bin;C:\Program Files\Common
Files\Compuware;d:\home\pfhmus0\dpj\dpj\DPJ_MA~1\output\win32\debug\bin\;D:home\PFHMUS0\dpj\DPJ\DPJ_Mainline\output\win32\Debug\bin;d:\Program
Files\Compuware\VantageAnalyzer\agent\windows;F:\dej\dpj\bin;D:\software\ras
erver\bin;D:\software\SSHTools;D:\Program Files\Compuware\DevPartner Java
Edition\bin
USERNAME=PFHMUS0
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 9 Stepping 5, GenuineIntel
--------------- S Y S T E M ---------------
OS: Windows XP Build 2600 Service Pack 1
CPU:total 1 family 6, cmov, cx8, fxsr, mmx, sse, sse2
Memory: 4k page, physical 2096360k(1555600k free), swap 3516628k(2112872k
free)
vm_info: Java HotSpot(TM) Client VM (1.4.2_09-b05) for windows-x86, built on
Jul 25 2005 22:44:22 by "java_re" with MS VC++ 6.0
REPRODUCIBILITY :
This bug can be reproduced always.
# ./java -version
java version "1.4.2_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_09-b05)
Java HotSpot(TM) Client VM (build 1.4.2_09-b05, mixed mode)
FULL OS VERSION :
5.8 Generic_108528_18 Sun 4u sparc SUNW, SunBlade-100
A DESCRIPTION OF THE PROBLEM :
When attempting to launch the Sun One Server under our application, DevPartner Java we get a HotSpot crash.
We have reduced this issue to a collision between the -XX:+AggressiveHeap
and JVMPI memory events. We can crash the JVM using a standalone JSE source
file and the hprof profiler. We can reproduce this issue on Windows and on
Solaris using the standalone 1.4.2 JVM. The following analysis is for
Windows XP using Sun JDK 1.4.2_09. Please let us know if there is a fix for
this, as SunOne 7.0 2004Q2UR4 sets the -XX:+AggressiveHeap by default
therefore giving the appearance that our profiler's memory analysis
capability is the cause of the JVM crash. Our customer uses SunOne 7.0
2004Q2UR4 over JDK 1.4.2_08, and we are instructing them to remove the
-XX:+AggressiveHeap switch as a workaround.
THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Did not try
THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Did not try
SOURCE CODE FOR TEST CASE :
class HWorld
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
STEPS TO REPRODUCE :
1. javac HWorld.java
2. java -XX:+AggressiveHeap -Xrunhprof:heap=sites -showversion -cp . HWorld
[Both -XX:+AggressiveHeap -Xrunhprof:heap=sites are needed to reproduct the failure.}
EXPECTED BEHAVIOR:
[As seen with 1.5.0_05]
java version "1.5.0_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)
Java HotSpot(TM) Client VM (build 1.5.0_05-b05, mixed mode)
Hello World!
Dumping allocation sites ... done.
ACTUAL BEHAVIOR :
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# Internal Error (504152414C4C454C33434156454E4745284541500E4350500213),
pid=32
32, tid=2204
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_09-b05 mixed mode)
# An error report file with more information is saved as hs_err_pid3232.log
space 294848K, 0% used space 49088K, 0% used space 49088K, 0% used space
655168
K, 0% used space 4096K, 20% used#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
Contents of hs_err_pid3232.log
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# Internal Error (504152414C4C454C33434156454E4745284541500E4350500213),
pid=3232, tid=2204
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_09-b05 mixed mode)
--------------- T H R E A D ---------------
Current thread (0x00a6db60): JavaThread "Reference Handler" daemon
[_thread_in_vm, id=2204]
Stack: [0x02e40000,0x02e80000), sp=0x02e7f78c, free space=253k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native
code)
V [jvm.dll+0xdc354]
V [jvm.dll+0x56c66]
V [jvm.dll+0xae5cf]
V [jvm.dll+0x5793]
V [jvm.dll+0xa7ec6]
V [jvm.dll+0x445a8]
V [jvm.dll+0x466c8]
V [jvm.dll+0xc2e11]
V [jvm.dll+0xc2b21]
V [jvm.dll+0xc2610]
V [jvm.dll+0xc251f]
V [jvm.dll+0x55bef]
V [jvm.dll+0x6b15c]
j java.lang.ref.Reference$ReferenceHandler.run()V+71
v ~StubRoutines::call_stub
V [jvm.dll+0x71bdf]
V [jvm.dll+0xabac2]
V [jvm.dll+0x71aec]
V [jvm.dll+0x717e8]
V [jvm.dll+0x71821]
V [jvm.dll+0x897cd]
V [jvm.dll+0xcfb42]
V [jvm.dll+0xcfb10]
C [MSVCRT.dll+0x27fb8]
C [kernel32.dll+0x1d28e]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j java.lang.ref.Reference$ReferenceHandler.run()V+71
v ~StubRoutines::call_stub
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x009c9650 JavaThread "Finalizer" daemon [_thread_blocked, id=1816]
=>0x00a6db60 JavaThread "Reference Handler" daemon [_thread_in_vm, id=2204]
0x00035fe0 JavaThread "main" [_thread_in_vm, id=3068]
Other Threads:
0x00a6c918 VMThread [id=2932]
VM state:not at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: None
Heap
PSYoungGen total 343936K, used 0K [0x10010000, 0x27fe0000, 0x27fe0000)
eden [0x10010000,0x10010000,0x22000000)
from [0x24ff0000,0x24ff0000,0x27fe0000)
to [0x22000000,0x22000000,0x24ff0000)
PSOldGen total 655168K, used 79K [0x27fe0000, 0x4ffb0000,
0x50010000)
object [0x27fe0000,0x27ff3cb8,0x4ffb0000)
PSPermGen total 4096K, used 826K [0x50010000, 0x50410000, 0x54010000)
object [0x50010000,0x500deb60,0x50410000)
Dynamic libraries:
0x00400000 - 0x0040b000 d:\sun\java\j2sdk1.4.2_09\bin\java.exe
0x77f50000 - 0x77ff7000 C:\WINDOWS\System32\ntdll.dll
0x77e60000 - 0x77f46000 C:\WINDOWS\system32\kernel32.dll
0x77dd0000 - 0x77e5d000 C:\WINDOWS\system32\ADVAPI32.dll
0x78000000 - 0x78087000 C:\WINDOWS\system32\RPCRT4.dll
0x77c10000 - 0x77c63000 C:\WINDOWS\system32\MSVCRT.dll
0x08000000 - 0x0813d000
d:\sun\java\j2sdk1.4.2_09\jre\bin\client\jvm.dll
0x77d40000 - 0x77dcd000 C:\WINDOWS\system32\USER32.dll
0x7f000000 - 0x7f041000 C:\WINDOWS\system32\GDI32.dll
0x76b40000 - 0x76b6c000 C:\WINDOWS\System32\WINMM.dll
0x76390000 - 0x763ac000 C:\WINDOWS\System32\IMM32.DLL
0x629c0000 - 0x629c8000 C:\WINDOWS\System32\LPK.DLL
0x72fa0000 - 0x72ffa000 C:\WINDOWS\System32\USP10.dll
0x10000000 - 0x10007000 d:\sun\java\j2sdk1.4.2_09\jre\bin\hpi.dll
0x76bf0000 - 0x76bfb000 C:\WINDOWS\System32\PSAPI.DLL
0x003a0000 - 0x003ae000 d:\sun\java\j2sdk1.4.2_09\jre\bin\verify.dll
0x003b0000 - 0x003c9000 d:\sun\java\j2sdk1.4.2_09\jre\bin\java.dll
0x003d0000 - 0x003de000 d:\sun\java\j2sdk1.4.2_09\jre\bin\zip.dll
0x003e0000 - 0x003ec000 d:\sun\java\j2sdk1.4.2_09\jre\bin\hprof.dll
0x71ad0000 - 0x71ad8000 C:\WINDOWS\System32\WSOCK32.dll
0x71ab0000 - 0x71ac5000 C:\WINDOWS\System32\WS2_32.dll
0x71aa0000 - 0x71aa8000 C:\WINDOWS\System32\WS2HELP.dll
VM Arguments:
jvm_args: -XX:+AggressiveHeap -Xrunhprof:heap=sites
java_command: HWorld
Environment Variables:
CLASSPATH=C:\Program Files\Common Files\Compuware
PATH=G:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:
\Program Files\ATI Technologies\ATI Control Panel;d:\Program
Files\Perforce;D:\sun\Java\j2sdk1.4.2_05\bin;C:\Program Files\Common
Files\Compuware;d:\home\pfhmus0\dpj\dpj\DPJ_MA~1\output\win32\debug\bin\;D:home\PFHMUS0\dpj\DPJ\DPJ_Mainline\output\win32\Debug\bin;d:\Program
Files\Compuware\VantageAnalyzer\agent\windows;F:\dej\dpj\bin;D:\software\ras
erver\bin;D:\software\SSHTools;D:\Program Files\Compuware\DevPartner Java
Edition\bin
USERNAME=PFHMUS0
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 9 Stepping 5, GenuineIntel
--------------- S Y S T E M ---------------
OS: Windows XP Build 2600 Service Pack 1
CPU:total 1 family 6, cmov, cx8, fxsr, mmx, sse, sse2
Memory: 4k page, physical 2096360k(1555600k free), swap 3516628k(2112872k
free)
vm_info: Java HotSpot(TM) Client VM (1.4.2_09-b05) for windows-x86, built on
Jul 25 2005 22:44:22 by "java_re" with MS VC++ 6.0
REPRODUCIBILITY :
This bug can be reproduced always.