Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-6626

NullPointerException in DefaultExceptionHandler

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.1.0, 3.6.0
    • Fix Version/s: 3.6.2
    • Component/s: core
    • Labels:
      None

      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:

      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

        Attachments

        1. original-exception.txt
          18 kB
          Sergey Chernov

          Issue Links

            Activity

              People

              • Assignee:
                slachiewicz Sylwester Lachiewicz
                Reporter:
                seregamorph Sergey Chernov
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 1h
                  1h
                  Remaining:
                  Time Spent - 20m Remaining Estimate - 40m
                  40m
                  Logged:
                  Time Spent - 20m Remaining Estimate - 40m
                  20m