Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-15865

Jenkins build fails with fatal error for Maven 2 build of project with maven-failsafe-plugin

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • maven-plugin
    • None
    • Linux 2.6.38-16-generic #67-Ubuntu SMP Thu Sep 6 17:58:38 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
      Ubuntu 11.04
      Maven 2.2.1
      Jenkins 1.491

      Jenkins build fails with "[ERROR] FATAL ERROR" if you build a Maven 2 project that uses maven-failsafe-plugin.

      Steps to reproduce:
      1. Create a new job in Jenkins
      2. Specify Maven2/3 job
      3. Choose Git in source code management
      4. Specify https://github.com/ahjones/broken-failsafe-maven as the repo
      5. Choose Maven 2.2.1 as the Maven version.
      6. Save the build
      7. Click build.

      Expected behaviour:
      The build completes

      Actual behaviour:
      The build doesn't complete. The relevant portion of the console output is:

      [ERROR] FATAL ERROR
      [INFO] ------------------------------------------------------------------------
      [INFO] null
      [INFO] ------------------------------------------------------------------------
      [INFO] Trace
      java.lang.NullPointerException
      at org.codehaus.plexus.component.configurator.converters.ComponentValueSetter.configure(ComponentValueSetter.java:247)
      at org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration(ObjectWithFieldsConverter.java:137)
      at org.codehaus.plexus.component.configurator.BasicComponentConfigurator.configureComponent(BasicComponentConfigurator.java:56)
      at hudson.maven.agent.ComponentConfiguratorFilter.configureComponent(ComponentConfiguratorFilter.java:49)
      at hudson.maven.agent.PluginManagerInterceptor$MojoIntercepter.configureComponent(PluginManagerInterceptor.java:146)
      at org.apache.maven.plugin.DefaultPluginManager.populatePluginFields(DefaultPluginManager.java:1357)
      at org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(DefaultPluginManager.java:724)
      at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:468)
      at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
      at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:601)
      at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
      at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
      at hudson.maven.agent.Main.launch(Main.java:185)
      at hudson.maven.MavenBuilder.call(MavenBuilder.java:151)
      at hudson.maven.Maven2Builder.call(Maven2Builder.java:77)
      at hudson.maven.Maven2Builder.call(Maven2Builder.java:53)
      at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:326)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      at java.lang.Thread.run(Thread.java:722)

      I'll attach a copy of the source.

      This was introduced fairly recently: I update Jenkins often.

          [JENKINS-15865] Jenkins build fails with fatal error for Maven 2 build of project with maven-failsafe-plugin

          Getting this error again after upgrading to 1.503

          Wondering if it may be related to this change:
          https://github.com/jenkinsci/jenkins/commit/954a368c5612b7d7e7619277aca420c7c4930517

          Geoff Cummings added a comment - Getting this error again after upgrading to 1.503 Wondering if it may be related to this change: https://github.com/jenkinsci/jenkins/commit/954a368c5612b7d7e7619277aca420c7c4930517

          kutzi added a comment -

          Geoff: you're getting the exact same error message? If not, what do you see?

          kutzi added a comment - Geoff: you're getting the exact same error message? If not, what do you see?

          Hi Kutzi,

          Not been able to see if it is caused by your change, but it looked slightly related to what is mentioned in the following commit message:
          https://github.com/jenkinsci/jenkins/commit/7fb1ad44d5aa26f2b0c6717c589b6d2be698224d

          Dont know enough about how this all works yet!!

          [INFO] ------------------------------------------------------------------------
          [ERROR] FATAL ERROR
          [INFO] ------------------------------------------------------------------------
          [INFO] null
          [INFO] ------------------------------------------------------------------------
          [INFO] Trace
          java.lang.NullPointerException
          	at org.codehaus.plexus.component.configurator.converters.ComponentValueSetter.configure(ComponentValueSetter.java:247)
          	at org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration(ObjectWithFieldsConverter.java:137)
          	at org.codehaus.plexus.component.configurator.BasicComponentConfigurator.configureComponent(BasicComponentConfigurator.java:56)
          	at hudson.maven.agent.ComponentConfiguratorFilter.configureComponent(ComponentConfiguratorFilter.java:49)
          	at hudson.maven.agent.PluginManagerInterceptor$MojoIntercepter.configureComponent(PluginManagerInterceptor.java:146)
          	at org.apache.maven.plugin.DefaultPluginManager.populatePluginFields(DefaultPluginManager.java:1357)
          	at org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(DefaultPluginManager.java:724)
          	at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:468)
          	at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182)
          	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
          	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
          	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
          	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
          	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
          	at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
          	at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
          	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
          	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
          	at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
          	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          	at java.lang.reflect.Method.invoke(Method.java:597)
          	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
          	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
          	at hudson.maven.agent.Main.launch(Main.java:185)
          	at hudson.maven.MavenBuilder.call(MavenBuilder.java:154)
          	at hudson.maven.Maven2Builder.call(Maven2Builder.java:79)
          	at hudson.maven.Maven2Builder.call(Maven2Builder.java:55)
          	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
          	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
          	at hudson.remoting.Request$2.run(Request.java:326)
          	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
          	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
          	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
          	at java.lang.Thread.run(Thread.java:619)
          

          I think it looks identical, apart from some line numbers slightly different in some lines at the bottom of the stack track

          at hudson.maven.MavenBuilder.call(MavenBuilder.java:154)
          at hudson.maven.Maven2Builder.call(Maven2Builder.java:79)
          at hudson.maven.Maven2Builder.call(Maven2Builder.java:55)

          Geoff Cummings added a comment - Hi Kutzi, Not been able to see if it is caused by your change, but it looked slightly related to what is mentioned in the following commit message: https://github.com/jenkinsci/jenkins/commit/7fb1ad44d5aa26f2b0c6717c589b6d2be698224d Dont know enough about how this all works yet!! [INFO] ------------------------------------------------------------------------ [ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ [INFO] null [INFO] ------------------------------------------------------------------------ [INFO] Trace java.lang.NullPointerException at org.codehaus.plexus.component.configurator.converters.ComponentValueSetter.configure(ComponentValueSetter.java:247) at org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration(ObjectWithFieldsConverter.java:137) at org.codehaus.plexus.component.configurator.BasicComponentConfigurator.configureComponent(BasicComponentConfigurator.java:56) at hudson.maven.agent.ComponentConfiguratorFilter.configureComponent(ComponentConfiguratorFilter.java:49) at hudson.maven.agent.PluginManagerInterceptor$MojoIntercepter.configureComponent(PluginManagerInterceptor.java:146) at org.apache.maven.plugin.DefaultPluginManager.populatePluginFields(DefaultPluginManager.java:1357) at org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(DefaultPluginManager.java:724) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:468) at hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:182) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) at org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at hudson.maven.agent.Main.launch(Main.java:185) at hudson.maven.MavenBuilder.call(MavenBuilder.java:154) at hudson.maven.Maven2Builder.call(Maven2Builder.java:79) at hudson.maven.Maven2Builder.call(Maven2Builder.java:55) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang. Thread .run( Thread .java:619) I think it looks identical, apart from some line numbers slightly different in some lines at the bottom of the stack track at hudson.maven.MavenBuilder.call(MavenBuilder.java:154) at hudson.maven.Maven2Builder.call(Maven2Builder.java:79) at hudson.maven.Maven2Builder.call(Maven2Builder.java:55)

          I have retested using the steps mentioned above using https://github.com/ahjones/broken-failsafe-maven
          I received the same error.

          Geoff Cummings added a comment - I have retested using the steps mentioned above using https://github.com/ahjones/broken-failsafe-maven I received the same error.

          kutzi added a comment - - edited

          Geoff: cannot reproduce it with the current HEAD version, so I guess this was fixed with JENKINS-16928, too. Included in Jenkins 1.504

          kutzi added a comment - - edited Geoff: cannot reproduce it with the current HEAD version, so I guess this was fixed with JENKINS-16928 , too. Included in Jenkins 1.504

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          test/src/test/java/hudson/maven/MavenBuildTest.java
          test/src/test/resources/hudson/maven/JENKINS-15865.zip
          http://jenkins-ci.org/commit/jenkins/5aef97cebcda2124074d29fde6f62b48cb77e135
          Log:
          Added regression test for broken Maven 2 builds with maven-failsafe-plugin JENKINS-15865


          You received this message because you are subscribed to the Google Groups "Jenkins Commits" group.
          To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscribe@googlegroups.com.
          For more options, visit https://groups.google.com/groups/opt_out.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: test/src/test/java/hudson/maven/MavenBuildTest.java test/src/test/resources/hudson/maven/ JENKINS-15865 .zip http://jenkins-ci.org/commit/jenkins/5aef97cebcda2124074d29fde6f62b48cb77e135 Log: Added regression test for broken Maven 2 builds with maven-failsafe-plugin JENKINS-15865 – You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out .

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2326
          Added regression test for broken Maven 2 builds with maven-failsafe-plugin JENKINS-15865 (Revision 5aef97cebcda2124074d29fde6f62b48cb77e135)

          Result = SUCCESS
          Christoph Kutzinski : 5aef97cebcda2124074d29fde6f62b48cb77e135
          Files :

          • test/src/test/resources/hudson/maven/JENKINS-15865.zip
          • test/src/test/java/hudson/maven/MavenBuildTest.java

          dogfood added a comment - Integrated in jenkins_main_trunk #2326 Added regression test for broken Maven 2 builds with maven-failsafe-plugin JENKINS-15865 (Revision 5aef97cebcda2124074d29fde6f62b48cb77e135) Result = SUCCESS Christoph Kutzinski : 5aef97cebcda2124074d29fde6f62b48cb77e135 Files : test/src/test/resources/hudson/maven/ JENKINS-15865 .zip test/src/test/java/hudson/maven/MavenBuildTest.java

          Thanks for looking into it Kutzi.
          It is fixed in 1.504

          Geoff Cummings added a comment - Thanks for looking into it Kutzi. It is fixed in 1.504

          Code changed in jenkins
          User: Vincent Latombe
          Path:
          src/main/java/hudson/maven/reporters/SurefireArchiver.java
          http://jenkins-ci.org/commit/maven-plugin/0a1f30181ef06745abfbc2ab5b90c4001f86aa10
          Log:
          JENKINS-15865 Jenkins build fails with fatal error for Maven 2 build
          of project with maven-failsafe-plugin

          Do not inject testFailureIgnore to
          maven-failsafe-plugin:integration-test because it doesn't exist and
          causes an NPE with Maven2.
          Only insert it for maven-failsafe-plugin:verify.
          Originally-Committed-As: 7fb1ad44d5aa26f2b0c6717c589b6d2be698224d

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Vincent Latombe Path: src/main/java/hudson/maven/reporters/SurefireArchiver.java http://jenkins-ci.org/commit/maven-plugin/0a1f30181ef06745abfbc2ab5b90c4001f86aa10 Log: JENKINS-15865 Jenkins build fails with fatal error for Maven 2 build of project with maven-failsafe-plugin Do not inject testFailureIgnore to maven-failsafe-plugin:integration-test because it doesn't exist and causes an NPE with Maven2. Only insert it for maven-failsafe-plugin:verify. Originally-Committed-As: 7fb1ad44d5aa26f2b0c6717c589b6d2be698224d

          Code changed in jenkins
          User: Christoph Kutzinski
          Path:
          test/src/test/java/hudson/maven/MavenBuildTest.java
          test/src/test/resources/hudson/maven/JENKINS-15865.zip
          http://jenkins-ci.org/commit/maven-plugin/bd4a5ae9beb93865f825b6801fdfbf94dcddc364
          Log:
          Added regression test for broken Maven 2 builds with maven-failsafe-plugin JENKINS-15865

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Christoph Kutzinski Path: test/src/test/java/hudson/maven/MavenBuildTest.java test/src/test/resources/hudson/maven/ JENKINS-15865 .zip http://jenkins-ci.org/commit/maven-plugin/bd4a5ae9beb93865f825b6801fdfbf94dcddc364 Log: Added regression test for broken Maven 2 builds with maven-failsafe-plugin JENKINS-15865

            kutzi kutzi
            a4j Andrew Jones
            Votes:
            2 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: