You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Sergey Chernov (JIRA)" <ji...@apache.org> on 2019/04/05 10:08:00 UTC

[jira] [Created] (MNG-6626) NullPointerException in DefaultExceptionHandler

Sergey Chernov created MNG-6626:
-----------------------------------

             Summary: NullPointerException in DefaultExceptionHandler
                 Key: MNG-6626
                 URL: https://issues.apache.org/jira/browse/MNG-6626
             Project: Maven
          Issue Type: Bug
          Components: core
    Affects Versions: 3.6.0
            Reporter: Sergey Chernov
         Attachments: original-exception.txt

`DefaulExceptionHandler` classifies errors on goal execution. There is a special case when the root cause is `NoClassDefFoundError` with null message, it causes NPE with the stacktrace:

{code}

java.lang.NullPointerException
 at org.apache.maven.exception.DefaultExceptionHandler.getReference (DefaultExceptionHandler.java:212)
 at org.apache.maven.exception.DefaultExceptionHandler.getReference (DefaultExceptionHandler.java:231)
 at org.apache.maven.exception.DefaultExceptionHandler.handle (DefaultExceptionHandler.java:101)
 at org.apache.maven.exception.DefaultExceptionHandler.handleException (DefaultExceptionHandler.java:96)
 at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
 at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
 at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
 at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke (Method.java:498)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
 at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)

{code}

The problem here is that the real exception is lost and it's even not present in debug log mode. The full root exception is attached to the ticket (original-exception.txt).

 

The reason for this defect is trivial: DefaultExceptionHandler.java:212 does not have a null check for getMessage



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)