[
https://issues.apache.org/jira/browse/MNG-6626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Chernov updated MNG-6626:
--------------------------------
Affects Version/s: 3.1.0
> 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.1.0, 3.6.0
> Reporter: Sergey Chernov
> Priority: Major
> Attachments: original-exception.txt
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> `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)