-
Bug
-
Resolution: Fixed
-
P4
-
5.0
-
01
-
x86
-
windows_xp
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2120061 | 6 | Joe Darcy | P4 | Resolved | Fixed | mustang |
Name: rmT116609 Date: 09/07/2004
FULL PRODUCT VERSION :
java version "1.5.0-rc"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-rc-b63)
Java HotSpot(TM) Client VM (build 1.5.0-rc-b63, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]
(Japanese)
A DESCRIPTION OF THE PROBLEM :
The following code causes StackOverflowError.
import java.lang.reflect.*;
public class Main<T extends Comparable<? super T>> {
public static void main(String[] args) {
Class<?> clazz = Main.class;
for (TypeVariable<?> var : clazz.getTypeParameters()) {
var.hashCode();
}
}
}
Exception in thread "main" java.lang.StackOverflowError
at sun.reflect.generics.reflectiveObjects.TypeVariableImpl.getBounds(TypeVariableImpl.java:99)
at sun.reflect.generics.reflectiveObjects.TypeVariableImpl.hashCode(TypeVariableImpl.java:168)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.hashCode(WildcardTypeImpl.java:214)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.hashCode(ParameterizedTypeImpl.java:190)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.TypeVariableImpl.hashCode(TypeVariableImpl.java:168)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.hashCode(WildcardTypeImpl.java:214)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.hashCode(ParameterizedTypeImpl.java:190)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.TypeVariableImpl.hashCode(TypeVariableImpl.java:168)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.hashCode(WildcardTypeImpl.java:214)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.hashCode(ParameterizedTypeImpl.java:190)
:
:
:
REPRODUCIBILITY :
This bug can be reproduced always.
(Incident Review ID: 301856)
======================================================================
FULL PRODUCT VERSION :
java version "1.5.0-rc"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-rc-b63)
Java HotSpot(TM) Client VM (build 1.5.0-rc-b63, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]
(Japanese)
A DESCRIPTION OF THE PROBLEM :
The following code causes StackOverflowError.
import java.lang.reflect.*;
public class Main<T extends Comparable<? super T>> {
public static void main(String[] args) {
Class<?> clazz = Main.class;
for (TypeVariable<?> var : clazz.getTypeParameters()) {
var.hashCode();
}
}
}
Exception in thread "main" java.lang.StackOverflowError
at sun.reflect.generics.reflectiveObjects.TypeVariableImpl.getBounds(TypeVariableImpl.java:99)
at sun.reflect.generics.reflectiveObjects.TypeVariableImpl.hashCode(TypeVariableImpl.java:168)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.hashCode(WildcardTypeImpl.java:214)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.hashCode(ParameterizedTypeImpl.java:190)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.TypeVariableImpl.hashCode(TypeVariableImpl.java:168)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.hashCode(WildcardTypeImpl.java:214)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.hashCode(ParameterizedTypeImpl.java:190)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.TypeVariableImpl.hashCode(TypeVariableImpl.java:168)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.WildcardTypeImpl.hashCode(WildcardTypeImpl.java:214)
at java.util.Arrays.hashCode(Arrays.java:2642)
at sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.hashCode(ParameterizedTypeImpl.java:190)
:
:
:
REPRODUCIBILITY :
This bug can be reproduced always.
(Incident Review ID: 301856)
======================================================================
- backported by
-
JDK-2120061 (reflect) hashCode of TypeVariable causes StackOverflowError
-
- Resolved
-