[
https://issues.apache.org/jira/browse/MNG-6626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Chernov updated MNG-6626:
--------------------------------
Description:
*DefaultExceptionHandler* 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}
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
was:
`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
> 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: Minor
> Attachments: original-exception.txt
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> *DefaultExceptionHandler* 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}
> 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)