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)