-
Bug
-
Resolution: Fixed
-
P4
-
7
-
b06
-
x86
-
linux
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2213634 | 7u4 | Dmeetry Degrave | P3 | Closed | Fixed | b01 |
FULL PRODUCT VERSION :
>/data/tora/java-versions/jdk1.7.0/bin/java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
>uname -a
Linux agile.doc.ic.ac.uk 2.6.38.2 #3 SMP Wed Mar 30 14:19:08 BST 2011 x86_64 GNU/Linux
A DESCRIPTION OF THE PROBLEM :
A cast of null to an unknown symbol (BitSet in Bar below is not imported) can cause the compiler to reach an internal error during generics resolution of the file Foo.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
>cat Foo.java
import java.util.Comparator;
public class Foo {
public Foo (Comparator<Object> list, boolean ret) {
}
}
>cat Bar.java
public class Bar {
public static void main(String[] args) {
final Foo f = new Foo(null, (BitSet) null );
}
}
> javac Foo.java Bar.java
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Not an internal error.
ACTUAL -
>/data/tora/java-versions/jdk1.7.0/bin/javac Foo.java Bar.java
Bar.java:3: error: cannot find symbol
final Foo f = new Foo(null, (BitSet) null );
^
symbol: class BitSet
location: class Bar
Bar.java:3: error: internal error; cannot instantiate Foo(Comparator<Object>,boolean) at Foo to ()
final Foo f = new Foo(null, (BitSet) null );
^
2 errors
REPRODUCIBILITY :
This bug can be reproduced always.
>/data/tora/java-versions/jdk1.7.0/bin/java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
>uname -a
Linux agile.doc.ic.ac.uk 2.6.38.2 #3 SMP Wed Mar 30 14:19:08 BST 2011 x86_64 GNU/Linux
A DESCRIPTION OF THE PROBLEM :
A cast of null to an unknown symbol (BitSet in Bar below is not imported) can cause the compiler to reach an internal error during generics resolution of the file Foo.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
>cat Foo.java
import java.util.Comparator;
public class Foo {
public Foo (Comparator<Object> list, boolean ret) {
}
}
>cat Bar.java
public class Bar {
public static void main(String[] args) {
final Foo f = new Foo(null, (BitSet) null );
}
}
> javac Foo.java Bar.java
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Not an internal error.
ACTUAL -
>/data/tora/java-versions/jdk1.7.0/bin/javac Foo.java Bar.java
Bar.java:3: error: cannot find symbol
final Foo f = new Foo(null, (BitSet) null );
^
symbol: class BitSet
location: class Bar
Bar.java:3: error: internal error; cannot instantiate Foo(Comparator<Object>,boolean) at Foo to ()
final Foo f = new Foo(null, (BitSet) null );
^
2 errors
REPRODUCIBILITY :
This bug can be reproduced always.
- backported by
-
JDK-2213634 internal error; cannot instantiate Foo
-
- Closed
-