Skip to content

[MNG-6626] NullPointerException in DefaultExceptionHandler #8591

@jira-importer

Description

@jira-importer

Sergey Chernov opened MNG-6626 and commented

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:

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)

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


Affects: 3.1.0, 3.6.0

Attachments:

Remote Links:

0 votes, 5 watchers

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingpriority:minorMinor loss of function, or other problem where easy workaround is present

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions