Details
-
Bug
-
Resolution: Fixed
-
P3
-
8u20
-
b13
-
x86
-
windows_7
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8041514 | 9 | Paul Govereau | P3 | Closed | Fixed | b11 |
JDK-8045154 | 8u25 | Paul Govereau | P3 | Resolved | Fixed | b01 |
JDK-8052593 | emb-8u26 | Paul Govereau | P3 | Resolved | Fixed | b17 |
Description
hFULL PRODUCT VERSION :
java version "1.8.0_20-ea"
Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b05)
Java HotSpot(TM) Client VM (build 25.20-b05, mixed mode, sharing)
EXTRA RELEVANT SYSTEM CONFIGURATION :
Compiling with IntelliJIdea 12.1.6
A DESCRIPTION OF THE PROBLEM :
When using JDK 1.8.0_20 to compile JSPs that reference classes compiled with IntelliJIdea 12.1.6 with @NotNull assertions added I get a compiler crash. I provide a reduced test case,
REGRESSION. Last worked in version 8
ADDITIONAL REGRESSION INFORMATION:
java version "1.8.0_20-ea"
Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b05)
Java HotSpot(TM) Client VM (build 25.20-b05, mixed mode, sharing)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Compile BugImported.java with IntelliJIdea 12.1.6 using 1.8.0_20 as the project JDK, or use the attached BugImported.class
2. From the command line, compile Bug.java with the class file from step 1 in the classpath
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Bug.java should compile correctly
ACTUAL -
The compiler crashes
ERROR MESSAGES/STACK TRACES THAT OCCUR :
An exception has occurred in the compiler (1.8.0_20-ea). Please file a bug at the Java Developer Connection (http://java
or duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.ClassCastException: com.sun.tools.javac.code.Symbol$ClassSymbol cannot be cast to com.sun.tools.javac.util.Name
at com.sun.tools.javac.jvm.ClassReader.readName(ClassReader.java:597)
at com.sun.tools.javac.jvm.ClassReader.setParameterNames(ClassReader.java:2125)
at com.sun.tools.javac.jvm.ClassReader.readMethod(ClassReader.java:2026)
at com.sun.tools.javac.jvm.ClassReader.readClass(ClassReader.java:2229)
at com.sun.tools.javac.jvm.ClassReader.readClassFile(ClassReader.java:2301)
at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2488)
at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2419)
at com.sun.tools.javac.jvm.ClassReader.access$000(ClassReader.java:76)
at com.sun.tools.javac.jvm.ClassReader$1.complete(ClassReader.java:240)
at com.sun.tools.javac.code.Symbol.complete(Symbol.java:560)
at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1024)
at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:2600)
at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:1863)
at com.sun.tools.javac.comp.Resolve.findIdentInPackage(Resolve.java:2102)
at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3358)
at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3257)
at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1891)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:596)
at com.sun.tools.javac.comp.Attr.attribType(Attr.java:658)
at com.sun.tools.javac.comp.Attr.attribType(Attr.java:651)
at com.sun.tools.javac.comp.MemberEnter.attribImportType(MemberEnter.java:836)
at com.sun.tools.javac.comp.MemberEnter.visitImport(MemberEnter.java:556)
at com.sun.tools.javac.tree.JCTree$JCImport.accept(JCTree.java:571)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:435)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:447)
at com.sun.tools.javac.comp.MemberEnter.visitTopLevel(MemberEnter.java:526)
at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:518)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:435)
at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:1038)
at com.sun.tools.javac.code.Symbol.complete(Symbol.java:560)
at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1024)
at com.sun.tools.javac.comp.Enter.complete(Enter.java:497)
at com.sun.tools.javac.comp.Enter.main(Enter.java:475)
at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:985)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:860)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
at com.sun.tools.javac.main.Main.compile(Main.java:381)
at com.sun.tools.javac.main.Main.compile(Main.java:370)
at com.sun.tools.javac.main.Main.compile(Main.java:361)
at com.sun.tools.javac.Main.compile(Main.java:56)
at com.sun.tools.javac.Main.main(Main.java:42)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
---- File BugImported.class (base64 encoded)
yv66vgAAADQAOgEAD2J1Zy9CdWdJbXBvcnRlZAcAAQEAEGphdmEvbGFuZy9PYmplY3QHAAMBABBC
dWdJbXBvcnRlZC5qYXZhAQAGPGluaXQ+AQADKClWDAAGAAcKAAQACAEABHRoaXMBABFMYnVnL0J1
Z0ltcG9ydGVkOwEACWdldFN0cmluZwEAJihMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9T
dHJpbmc7AQAjTG9yZy9qZXRicmFpbnMvYW5ub3RhdGlvbnMvTm90TnVsbDsBACJqYXZhL2xhbmcv
SWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uBwAPAQBPQXJndW1lbnQgMCBmb3IgQE5vdE51bGwgcGFy
YW1ldGVyIG9mIGJ1Zy9CdWdJbXBvcnRlZC5nZXRTdHJpbmcgbXVzdCBub3QgYmUgbnVsbAgAEQEA
FShMamF2YS9sYW5nL1N0cmluZzspVgwABgATCgAQABQBAAAIABYBAB9qYXZhL2xhbmcvSWxsZWdh
bFN0YXRlRXhjZXB0aW9uBwAYAQA+QE5vdE51bGwgbWV0aG9kIGJ1Zy9CdWdJbXBvcnRlZC5nZXRT
dHJpbmcgbXVzdCBub3QgcmV0dXJuIG51bGwIABoKABkAFAEABnN0cmluZwEAEkxqYXZhL2xhbmcv
U3RyaW5nOwEAEGphdmEvbGFuZy9TdHJpbmcHAB8BAARtYWluAQAWKFtMamF2YS9sYW5nL1N0cmlu
ZzspVgEAEGphdmEvbGFuZy9TeXN0ZW0HACMBAANvdXQBABVMamF2YS9pby9QcmludFN0cmVhbTsM
ACUAJgkAJAAnDAAMAA0KAAIAKQEAE2phdmEvaW8vUHJpbnRTdHJlYW0HACsBAAdwcmludGxuDAAt
ABMKACwALgEABGFyZ3MBABNbTGphdmEvbGFuZy9TdHJpbmc7AQAEQ29kZQEAEkxvY2FsVmFyaWFi
bGVUYWJsZQEAD0xpbmVOdW1iZXJUYWJsZQEADVN0YWNrTWFwVGFibGUBABtSdW50aW1lSW52aXNp
YmxlQW5ub3RhdGlvbnMBACRSdW50aW1lSW52aXNpYmxlUGFyYW1ldGVyQW5ub3RhdGlvbnMBABBN
ZXRob2RQYXJhbWV0ZXJzAQAKU291cmNlRmlsZQAhAAIABAAAAAAAAwABAAYABwABADIAAAAvAAEA
AQAAAAUqtwAJsQAAAAIAMwAAAAwAAQAAAAUACgALAAAANAAAAAYAAQAAAAUACgAMAA0ABAAyAAAA
VgAEAAEAAAAfKscADbsAEFkSErcAFb8SF1nHAA27ABlZEhu3ABy/sAAAAAMAMwAAAAwAAQAAAB8A
HQAeAAAANAAAAAYAAQAOAAoANQAAAAcAAg5PBwAgADYAAAAGAAEADgAAADcAAAAHAQABAA4AAAA4
AAAABQEAEQAQAAkAIQAiAAIAMgAAADoAAgABAAAADLIAKBIXuAAqtgAvsQAAAAIAMwAAAAwAAQAA
AAwAMAAxAAAANAAAAAoAAgAAABAACwARADgAAAAFAQAZAAAAAQA5AAAAAgAF
---- File Bug.java
package bug;
import bug.BugImported;
public class Bug
{
}
--- For reference, file BugImported.java
package bug;
import org.jetbrains.annotations.NotNull;
public class BugImported
{
@NotNull
private static String getString (@NotNull final String string)
{
return "";
}
public static void main (String[] args)
{
System.out.println (getString (""));
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Disable "Add @NotNull assertions" in compile options for IntelliJIdea
java version "1.8.0_20-ea"
Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b05)
Java HotSpot(TM) Client VM (build 25.20-b05, mixed mode, sharing)
EXTRA RELEVANT SYSTEM CONFIGURATION :
Compiling with IntelliJIdea 12.1.6
A DESCRIPTION OF THE PROBLEM :
When using JDK 1.8.0_20 to compile JSPs that reference classes compiled with IntelliJIdea 12.1.6 with @NotNull assertions added I get a compiler crash. I provide a reduced test case,
REGRESSION. Last worked in version 8
ADDITIONAL REGRESSION INFORMATION:
java version "1.8.0_20-ea"
Java(TM) SE Runtime Environment (build 1.8.0_20-ea-b05)
Java HotSpot(TM) Client VM (build 25.20-b05, mixed mode, sharing)
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Compile BugImported.java with IntelliJIdea 12.1.6 using 1.8.0_20 as the project JDK, or use the attached BugImported.class
2. From the command line, compile Bug.java with the class file from step 1 in the classpath
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Bug.java should compile correctly
ACTUAL -
The compiler crashes
ERROR MESSAGES/STACK TRACES THAT OCCUR :
An exception has occurred in the compiler (1.8.0_20-ea). Please file a bug at the Java Developer Connection (http://java
or duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.ClassCastException: com.sun.tools.javac.code.Symbol$ClassSymbol cannot be cast to com.sun.tools.javac.util.Name
at com.sun.tools.javac.jvm.ClassReader.readName(ClassReader.java:597)
at com.sun.tools.javac.jvm.ClassReader.setParameterNames(ClassReader.java:2125)
at com.sun.tools.javac.jvm.ClassReader.readMethod(ClassReader.java:2026)
at com.sun.tools.javac.jvm.ClassReader.readClass(ClassReader.java:2229)
at com.sun.tools.javac.jvm.ClassReader.readClassFile(ClassReader.java:2301)
at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2488)
at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2419)
at com.sun.tools.javac.jvm.ClassReader.access$000(ClassReader.java:76)
at com.sun.tools.javac.jvm.ClassReader$1.complete(ClassReader.java:240)
at com.sun.tools.javac.code.Symbol.complete(Symbol.java:560)
at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1024)
at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:2600)
at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:1863)
at com.sun.tools.javac.comp.Resolve.findIdentInPackage(Resolve.java:2102)
at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3358)
at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3257)
at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1891)
at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:596)
at com.sun.tools.javac.comp.Attr.attribType(Attr.java:658)
at com.sun.tools.javac.comp.Attr.attribType(Attr.java:651)
at com.sun.tools.javac.comp.MemberEnter.attribImportType(MemberEnter.java:836)
at com.sun.tools.javac.comp.MemberEnter.visitImport(MemberEnter.java:556)
at com.sun.tools.javac.tree.JCTree$JCImport.accept(JCTree.java:571)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:435)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:447)
at com.sun.tools.javac.comp.MemberEnter.visitTopLevel(MemberEnter.java:526)
at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:518)
at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:435)
at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:1038)
at com.sun.tools.javac.code.Symbol.complete(Symbol.java:560)
at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1024)
at com.sun.tools.javac.comp.Enter.complete(Enter.java:497)
at com.sun.tools.javac.comp.Enter.main(Enter.java:475)
at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:985)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:860)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
at com.sun.tools.javac.main.Main.compile(Main.java:381)
at com.sun.tools.javac.main.Main.compile(Main.java:370)
at com.sun.tools.javac.main.Main.compile(Main.java:361)
at com.sun.tools.javac.Main.compile(Main.java:56)
at com.sun.tools.javac.Main.main(Main.java:42)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
---- File BugImported.class (base64 encoded)
yv66vgAAADQAOgEAD2J1Zy9CdWdJbXBvcnRlZAcAAQEAEGphdmEvbGFuZy9PYmplY3QHAAMBABBC
dWdJbXBvcnRlZC5qYXZhAQAGPGluaXQ+AQADKClWDAAGAAcKAAQACAEABHRoaXMBABFMYnVnL0J1
Z0ltcG9ydGVkOwEACWdldFN0cmluZwEAJihMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9T
dHJpbmc7AQAjTG9yZy9qZXRicmFpbnMvYW5ub3RhdGlvbnMvTm90TnVsbDsBACJqYXZhL2xhbmcv
SWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uBwAPAQBPQXJndW1lbnQgMCBmb3IgQE5vdE51bGwgcGFy
YW1ldGVyIG9mIGJ1Zy9CdWdJbXBvcnRlZC5nZXRTdHJpbmcgbXVzdCBub3QgYmUgbnVsbAgAEQEA
FShMamF2YS9sYW5nL1N0cmluZzspVgwABgATCgAQABQBAAAIABYBAB9qYXZhL2xhbmcvSWxsZWdh
bFN0YXRlRXhjZXB0aW9uBwAYAQA+QE5vdE51bGwgbWV0aG9kIGJ1Zy9CdWdJbXBvcnRlZC5nZXRT
dHJpbmcgbXVzdCBub3QgcmV0dXJuIG51bGwIABoKABkAFAEABnN0cmluZwEAEkxqYXZhL2xhbmcv
U3RyaW5nOwEAEGphdmEvbGFuZy9TdHJpbmcHAB8BAARtYWluAQAWKFtMamF2YS9sYW5nL1N0cmlu
ZzspVgEAEGphdmEvbGFuZy9TeXN0ZW0HACMBAANvdXQBABVMamF2YS9pby9QcmludFN0cmVhbTsM
ACUAJgkAJAAnDAAMAA0KAAIAKQEAE2phdmEvaW8vUHJpbnRTdHJlYW0HACsBAAdwcmludGxuDAAt
ABMKACwALgEABGFyZ3MBABNbTGphdmEvbGFuZy9TdHJpbmc7AQAEQ29kZQEAEkxvY2FsVmFyaWFi
bGVUYWJsZQEAD0xpbmVOdW1iZXJUYWJsZQEADVN0YWNrTWFwVGFibGUBABtSdW50aW1lSW52aXNp
YmxlQW5ub3RhdGlvbnMBACRSdW50aW1lSW52aXNpYmxlUGFyYW1ldGVyQW5ub3RhdGlvbnMBABBN
ZXRob2RQYXJhbWV0ZXJzAQAKU291cmNlRmlsZQAhAAIABAAAAAAAAwABAAYABwABADIAAAAvAAEA
AQAAAAUqtwAJsQAAAAIAMwAAAAwAAQAAAAUACgALAAAANAAAAAYAAQAAAAUACgAMAA0ABAAyAAAA
VgAEAAEAAAAfKscADbsAEFkSErcAFb8SF1nHAA27ABlZEhu3ABy/sAAAAAMAMwAAAAwAAQAAAB8A
HQAeAAAANAAAAAYAAQAOAAoANQAAAAcAAg5PBwAgADYAAAAGAAEADgAAADcAAAAHAQABAA4AAAA4
AAAABQEAEQAQAAkAIQAiAAIAMgAAADoAAgABAAAADLIAKBIXuAAqtgAvsQAAAAIAMwAAAAwAAQAA
AAwAMAAxAAAANAAAAAoAAgAAABAACwARADgAAAAFAQAZAAAAAQA5AAAAAgAF
---- File Bug.java
package bug;
import bug.BugImported;
public class Bug
{
}
--- For reference, file BugImported.java
package bug;
import org.jetbrains.annotations.NotNull;
public class BugImported
{
@NotNull
private static String getString (@NotNull final String string)
{
return "";
}
public static void main (String[] args)
{
System.out.println (getString (""));
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Disable "Add @NotNull assertions" in compile options for IntelliJIdea
Attachments
Issue Links
- backported by
-
JDK-8045154 Compiler crash: ClassCastException
-
- Resolved
-
-
JDK-8052593 Compiler crash: ClassCastException
-
- Resolved
-
-
JDK-8041514 Compiler crash: ClassCastException
-
- Closed
-