javac NullPointerException

Vicente-Arturo Romero-Zaldivar vicente.romero at oracle.com
Thu Sep 12 01:28:11 PDT 2013


Hi Michael,

Thanks for the bug report but it's not reproducible in TL 
(http://hg.openjdk.java.net/jdk8/tl)

This should be fixed in next builds,

Vicente.

On 12/09/13 03:09, Michael Hixson wrote:
> Hello,
>
> This program makes javac crash.  I'm using the Windows x64 build of
> b106 from http://jdk8.java.net/download.html
>
>    package hello;
>
>    import java.util.List;
>    import java.util.concurrent.CompletableFuture;
>    import java.util.stream.Collectors;
>    import java.util.stream.Stream;
>
>    public class TestJavac {
>      public static void main(String[] args) {
>        CompletableFuture<String> f = CompletableFuture.supplyAsync(() -> "");
>        Stream.of(f).collect(Collectors.collectingAndThen(
>            Collectors.toList(),
>            TestJavac::toFutureList));
>      }
>
>      static <T> CompletableFuture<List<T>> toFutureList(
>          Iterable<CompletableFuture<T>> futures) {
>        return null;
>      }
>    }
>
> C:\Development\j8tests\src\main\java\hello>C:\java\java8\bin\javac.exe
> TestJavac.java
> An exception has occurred in the compiler (1.8.0-ea). 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.code.Types.makeFunctionalInterfaceClass(Types.java:638)
>          at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor$TranslationContext.<init>(LambdaToMethod.java:1668)
>          at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext.<init>(LambdaToMethod.java:1881)
>          at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.makeReferenceContext(LambdaToMethod.java:1622)
>          at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.visitReference(LambdaToMethod.java:1333)
>          at com.sun.tools.javac.tree.JCTree$JCMemberReference.accept(JCTree.java:1961)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)
>          at com.sun.tools.javac.tree.TreeTranslator.visitApply(TreeTranslator.java:275)
>          at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1459)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)
>          at com.sun.tools.javac.tree.TreeTranslator.visitApply(TreeTranslator.java:275)
>          at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1459)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>          at com.sun.tools.javac.tree.TreeTranslator.visitExec(TreeTranslator.java:245)
>          at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1290)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)
>          at com.sun.tools.javac.tree.TreeTranslator.visitBlock(TreeTranslator.java:162)
>          at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.visitBlock(LambdaToMethod.java:1123)
>          at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:903)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>          at com.sun.tools.javac.tree.TreeTranslator.visitMethodDef(TreeTranslator.java:145)
>          at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.visitMethodDef(LambdaToMethod.java:1233)
>          at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:772)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)
>          at com.sun.tools.javac.tree.TreeTranslator.visitClassDef(TreeTranslator.java:134)
>          at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.visitClassDef(LambdaToMethod.java:1160)
>          at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:687)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>          at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.analyzeAndPreprocessClass(LambdaToMethod.java:1113)
>          at com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor.access$300(LambdaToMethod.java:1083)
>          at com.sun.tools.javac.comp.LambdaToMethod.visitClassDef(LambdaToMethod.java:218)
>          at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:687)
>          at com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>          at com.sun.tools.javac.comp.LambdaToMethod.translate(LambdaToMethod.java:183)
>          at com.sun.tools.javac.comp.LambdaToMethod.translate(LambdaToMethod.java:176)
>          at com.sun.tools.javac.comp.LambdaToMethod.translateTopLevelClass(LambdaToMethod.java:203)
>          at com.sun.tools.javac.main.JavaCompiler.desugar(JavaCompiler.java:1465)
>          at com.sun.tools.javac.main.JavaCompiler.desugar(JavaCompiler.java:1350)
>          at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:900)
>          at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:859)
>          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:64)
>          at com.sun.tools.javac.Main.main(Main.java:50)
>
> -Michael
>



More information about the lambda-dev mailing list