JDK-8079870 : Java compiler crashes with NullPointerException
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 8u40
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86_64
  • Submitted: 2015-04-24
  • Updated: 2015-05-11
  • Resolved: 2015-05-11
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
JDK 1.8.0_40-b25

ADDITIONAL OS VERSION INFORMATION :
Linux version 3.13.0-37-generic (buildd@kapok) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014

A DESCRIPTION OF THE PROBLEM :
Hello everybody,

the following (obviously incorrect) source code makes the compiler crash with a NullPointerException:

public class TestClass<A, A, B> {
}

Makes the IDE do confusing things ...

Thank you and best regards
Ralf

> cat /proc/version
Linux version 3.13.0-37-generic (buildd@kapok) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014

> javac TestClass.java
An exception has occurred in the compiler (1.8.0_40). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.
java.lang.NullPointerException
	at com.sun.tools.javac.comp.MemberEnter.baseEnv(MemberEnter.java:1388)
	at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:1046)
	at com.sun.tools.javac.code.Symbol.complete(Symbol.java:574)
	at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:1037)
	at com.sun.tools.javac.code.Symbol$ClassSymbol.flags(Symbol.java:973)
	at com.sun.tools.javac.code.Symbol$ClassSymbol.getKind(Symbol.java:1101)
	at com.sun.tools.javac.code.Kinds.kindName(Kinds.java:162)
	at com.sun.tools.javac.comp.Check.duplicateError(Check.java:329)
	at com.sun.tools.javac.comp.Check.checkUnique(Check.java:3435)
	at com.sun.tools.javac.comp.Enter.visitTypeParameter(Enter.java:454)
	at com.sun.tools.javac.tree.JCTree$JCTypeParameter.accept(JCTree.java:2224)
	at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:258)
	at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:272)
	at com.sun.tools.javac.comp.Enter.visitClassDef(Enter.java:418)
	at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:693)
	at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:258)
	at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:272)
	at com.sun.tools.javac.comp.Enter.visitTopLevel(Enter.java:334)
	at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:518)
	at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:258)
	at com.sun.tools.javac.comp.Enter.classEnter(Enter.java:272)
	at com.sun.tools.javac.comp.Enter.complete(Enter.java:486)
	at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
	at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
	at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)
	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 rarely.


Comments
Please see JDK-8052070.
11-05-2015