Andrew Janke created MCOMPILER-415:
--------------------------------------

             Summary: NullPointerException from javac when compiling 
AntlrWorks-Jank
                 Key: MCOMPILER-415
                 URL: https://issues.apache.org/jira/browse/MCOMPILER-415
             Project: Maven Compiler Plugin
          Issue Type: Bug
    Affects Versions: 3.8.1
         Environment: macOS 10.14.6, iMac Pro, AdoptOpenJDK 9, OpenJDK 11.0.2, 
AdoptOpenJDK 13.0.2
            Reporter: Andrew Janke
         Attachments: antlrworks-jank-mvn-compile-NPE.log

I'm working on a project called AntlrWorks-Jank, an attempt to revive the 
defunct ANTLRWorks application. https://github.com/apjanke/antlrworks2-jank

When compiling the latest work-in-progress version of my code, I'm getting a 
NullPointerException apparently raised inside the javac code when it's called 
by the Maven Compiler Plugin.

{code:java}
[antlrworks-jank] $ mvn -e compile
[INFO] Error stacktraces are turned on.
[...]
[INFO] works-editor-antlr4 ................................ FAILURE [  1.026 s]
[INFO] antlr-works-editor ................................. SKIPPED
[INFO] tvl-editor-whitespace .............................. SKIPPED
[INFO] works-editor-antlr3 ................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.028 s
[INFO] Finished at: 2020-05-08T03:01:54-04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on 
project works-editor-antlr4: Fatal error compiling: CompilerException: 
NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on 
project works-editor-antlr4: Fatal error compiling
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:215)
[...]
Caused by: java.lang.NullPointerException
    at com.sun.tools.javac.main.JavaCompiler.readSourceFile 
(JavaCompiler.java:825)
    at 
com.sun.tools.javac.processing.JavacProcessingEnvironment$ImplicitCompleter.complete
 (JavacProcessingEnvironment.java:1510)
    at com.sun.tools.javac.code.Symbol.complete (Symbol.java:633)
    at com.sun.tools.javac.code.Symbol$ClassSymbol.complete (Symbol.java:1314)
    at com.sun.tools.javac.code.Type$ClassType.complete (Type.java:1139)
    at com.sun.tools.javac.code.Type$ClassType.getTypeArguments (Type.java:1065)
    at com.sun.tools.javac.code.Printer.visitClassType (Printer.java:237)
    at com.sun.tools.javac.code.Printer.visitClassType (Printer.java:52)
    at com.sun.tools.javac.code.Type$ClassType.accept (Type.java:992)
    at com.sun.tools.javac.code.Printer.visit (Printer.java:136)
    at com.sun.tools.javac.util.AbstractDiagnosticFormatter.formatArgument 
(AbstractDiagnosticFormatter.java:197)
    at com.sun.tools.javac.util.AbstractDiagnosticFormatter.formatArguments 
(AbstractDiagnosticFormatter.java:165)
    at com.sun.tools.javac.util.BasicDiagnosticFormatter.formatMessage 
(BasicDiagnosticFormatter.java:111)
    at com.sun.tools.javac.util.BasicDiagnosticFormatter.formatMessage 
(BasicDiagnosticFormatter.java:67)
    at com.sun.tools.javac.util.AbstractDiagnosticFormatter.formatArgument 
(AbstractDiagnosticFormatter.java:183)
    at com.sun.tools.javac.util.AbstractDiagnosticFormatter.formatArguments 
(AbstractDiagnosticFormatter.java:165)
    at com.sun.tools.javac.util.BasicDiagnosticFormatter.formatMessage 
(BasicDiagnosticFormatter.java:111)
    at com.sun.tools.javac.util.BasicDiagnosticFormatter.formatMessage 
(BasicDiagnosticFormatter.java:67)
    at com.sun.tools.javac.util.JCDiagnostic.getMessage (JCDiagnostic.java:771)
    at 
com.sun.tools.javac.api.ClientCodeWrapper$DiagnosticSourceUnwrapper.getMessage 
(ClientCodeWrapper.java:799)
    at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess 
(JavaxToolsCompiler.java:149)
    at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile 
(JavacCompiler.java:169)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute 
(AbstractCompilerMojo.java:785)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute 
(CompilerMojo.java:129)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:156)
{code}

The full code to reproduce is on the NPE-during-compile tag in that repo: 
https://github.com/apjanke/antlrworks2-jank/tree/NPE-during-compile.

I *think* I'm running the latest 3.8.1 version of maven-compiler-plugin, since 
I'm not specifying a version for it in my POMs. Seems to happen with Java 9, 
11, and 13 (which I'm selecting by setting the $JAVA_HOME environment variable 
before running `mvn -e compile`).

Would this be a bug in maven-compiler-plugin? Or actually a bug in javac? Or 
something else?





--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to