FULL PRODUCT VERSION :
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
FULL OS VERSION :
Microsoft Windows [Version 6.3.9600]
A DESCRIPTION OF THE PROBLEM :
The root cause of bugJDK-8003182 ( https://bugs.openjdk.java.net/browse/JDK-8003182 ) is still reproducible.
Note: the steps to reproduce use jmap. I am aware that it is an experimental and unsupported tool, so I don't expect jmap to be fixed.
I just want to point out that the root cause of bugJDK-8003182 is still reproducible, and thus there may still be a problem in the Hotspot VM. So I think this should be investigated.
THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Yes
THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1) create a file Test.java, with the following content:
class Test {
public static void main(String[] args) throws InterruptedException {
Thread.sleep(5_000_000);
}
}
2) download & unzip server-jre-7u75-windows-x64.tar.gz
3) open a terminal window & run the following commands:
jdk1.7.0_75\bin\javac Test.java
jdk1.7.0_75\bin\java Test
4) open another terminal window & run the following commands:
jdk1.8.0_25\bin\jps
jdk1.8.0_25\bin\jmap <pid>
At this point you get an error, with the same error as in bugJDK-8003182
EXPECTED VERSUS ACTUAL BEHAVIOR :
The actual behavior is that an error occurs, with the same "Caused by" as in bugJDK-8003182.
The expected behavior would be that jmap works as expected.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Attaching to process ID 5832, please wait...
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at sun.tools.jmap.JMap.runTool(JMap.java:201)
at sun.tools.jmap.JMap.main(JMap.java:130)
Caused by: java.lang.InternalError: void* type hasn't been seen when parsing int*
at sun.jvm.hotspot.HotSpotTypeDataBase.recursiveCreateBasicPointerType(HotSpotTypeDataBase.java:687)
at sun.jvm.hotspot.HotSpotTypeDataBase.lookupType(HotSpotTypeDataBase.java:131)
at sun.jvm.hotspot.HotSpotTypeDataBase.lookupOrCreateClass(HotSpotTypeDataBase.java:597)
at sun.jvm.hotspot.HotSpotTypeDataBase.createType(HotSpotTypeDataBase.java:717)
at sun.jvm.hotspot.HotSpotTypeDataBase.readVMTypes(HotSpotTypeDataBase.java:188)
at sun.jvm.hotspot.HotSpotTypeDataBase.<init>(HotSpotTypeDataBase.java:86)
at sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:391)
at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:305)
at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:185)
at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
at sun.jvm.hotspot.tools.PMap.main(PMap.java:72)
... 6 more
REPRODUCIBILITY :
This bug can be reproduced always.
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
FULL OS VERSION :
Microsoft Windows [Version 6.3.9600]
A DESCRIPTION OF THE PROBLEM :
The root cause of bug
Note: the steps to reproduce use jmap. I am aware that it is an experimental and unsupported tool, so I don't expect jmap to be fixed.
I just want to point out that the root cause of bug
THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Yes
THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1) create a file Test.java, with the following content:
class Test {
public static void main(String[] args) throws InterruptedException {
Thread.sleep(5_000_000);
}
}
2) download & unzip server-jre-7u75-windows-x64.tar.gz
3) open a terminal window & run the following commands:
jdk1.7.0_75\bin\javac Test.java
jdk1.7.0_75\bin\java Test
4) open another terminal window & run the following commands:
jdk1.8.0_25\bin\jps
jdk1.8.0_25\bin\jmap <pid>
At this point you get an error, with the same error as in bug
EXPECTED VERSUS ACTUAL BEHAVIOR :
The actual behavior is that an error occurs, with the same "Caused by" as in bug
The expected behavior would be that jmap works as expected.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
Attaching to process ID 5832, please wait...
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at sun.tools.jmap.JMap.runTool(JMap.java:201)
at sun.tools.jmap.JMap.main(JMap.java:130)
Caused by: java.lang.InternalError: void* type hasn't been seen when parsing int*
at sun.jvm.hotspot.HotSpotTypeDataBase.recursiveCreateBasicPointerType(HotSpotTypeDataBase.java:687)
at sun.jvm.hotspot.HotSpotTypeDataBase.lookupType(HotSpotTypeDataBase.java:131)
at sun.jvm.hotspot.HotSpotTypeDataBase.lookupOrCreateClass(HotSpotTypeDataBase.java:597)
at sun.jvm.hotspot.HotSpotTypeDataBase.createType(HotSpotTypeDataBase.java:717)
at sun.jvm.hotspot.HotSpotTypeDataBase.readVMTypes(HotSpotTypeDataBase.java:188)
at sun.jvm.hotspot.HotSpotTypeDataBase.<init>(HotSpotTypeDataBase.java:86)
at sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:391)
at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:305)
at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:185)
at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
at sun.jvm.hotspot.tools.PMap.main(PMap.java:72)
... 6 more
REPRODUCIBILITY :
This bug can be reproduced always.
- relates to
-
JDK-8073392 Clarify that diagnostic tools cannot be used with different JDK versions
-
- Resolved
-