You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Sergei Ivanov (JIRA)" <ji...@codehaus.org> on 2012/08/02 11:37:21 UTC

[jira] (MDEP-364) 'tree' goal fails with an NPE if a project uses version ranges for dependencies

Sergei Ivanov created MDEP-364:
----------------------------------

             Summary: 'tree' goal fails with an NPE if a project uses version ranges for dependencies
                 Key: MDEP-364
                 URL: https://jira.codehaus.org/browse/MDEP-364
             Project: Maven 2.x Dependency Plugin
          Issue Type: Bug
          Components: tree
    Affects Versions: 2.4
         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 08:44:56+0000)
Maven home: /opt/app/eti/tools/apache-maven-3.0.4
Java version: 1.6.0_15, vendor: Sun Microsystems Inc.
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "2.6.9-42.0.8.elsmp", arch: "amd64", family: "unix"
            Reporter: Sergei Ivanov


We have bound execution of _dependency:tree_ to the _verify_ phase in the parent POM for all of our projects. That way, maven always dumps a complete tree of dependencies for a project after it's been fully packaged and before it's installed/deployed.

The plugin set-up looks like this:
{code:lang=xml}
<plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.4</version>
    <executions>
        <execution>
            <!-- Output dependency tree at the end of build process -->
            <id>display-dependency-tree</id>
            <phase>verify</phase>
            <goals>
                <goal>tree</goal>
            </goals>
        </execution>
    </executions>
</plugin>
{code}

Today it failed sporadically with an NPE during a routine CI build in Jenkins.
Maven options for Jenkins:
{noformat}-B --settings /home/xxxxxxxx/.m2/settings-jenkins-releases.xml -U clean verify{noformat}

The stack trace is below:
{noformat}
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.4:tree (display-dependency-tree) on project liquidity-common-server: Execution display-dependency-tree of goal org.apache.maven.plugins:maven-dependency-plugin:2.4:tree failed.
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
	at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
	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.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
	at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
	at hudson.maven.Maven3Builder.call(Maven3Builder.java:98)
	at hudson.maven.Maven3Builder.call(Maven3Builder.java:64)
	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
	at hudson.remoting.Request$2.run(Request.java:287)
	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:662)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution display-dependency-tree of goal org.apache.maven.plugins:maven-dependency-plugin:2.4:tree failed.
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
	... 27 more
Caused by: java.lang.NullPointerException
	at org.apache.maven.artifact.DefaultArtifact.equals(DefaultArtifact.java:344)
	at org.apache.maven.shared.dependency.tree.DependencyNode.equals(DependencyNode.java:811)
	at org.apache.maven.shared.dependency.tree.filter.AncestorOrSelfDependencyNodeFilter.isAncestorOrSelf(AncestorOrSelfDependencyNodeFilter.java:103)
	at org.apache.maven.shared.dependency.tree.filter.AncestorOrSelfDependencyNodeFilter.accept(AncestorOrSelfDependencyNodeFilter.java:76)
	at org.apache.maven.shared.dependency.tree.traversal.FilteringDependencyNodeVisitor.visit(FilteringDependencyNodeVisitor.java:72)
	at org.apache.maven.shared.dependency.tree.DependencyNode.accept(DependencyNode.java:305)
	at org.apache.maven.shared.dependency.tree.DependencyNode.accept(DependencyNode.java:313)
	at org.apache.maven.shared.dependency.tree.DependencyNode.accept(DependencyNode.java:313)
	at org.apache.maven.plugin.dependency.TreeMojo.serializeDependencyTree(TreeMojo.java:376)
	at org.apache.maven.plugin.dependency.TreeMojo.execute(TreeMojo.java:277)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
	... 28 more
{noformat}


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MDEP-364) 'tree' goal fails with an NPE if a project uses version ranges for dependencies

Posted by "Sergei Ivanov (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MDEP-364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=305277#comment-305277 ] 

Sergei Ivanov commented on MDEP-364:
------------------------------------

Looking for similar symptoms on the internet, I ran into a problem submitted by myself some time ago against the maven-resources plugin:
http://jira.codehaus.org/browse/MRRESOURCES-58

I managed to get down to the root cause that time and prepared a patch, and I wonder if the two issues are related and a similar approach could fix the dependency plugin.
                
> 'tree' goal fails with an NPE if a project uses version ranges for dependencies
> -------------------------------------------------------------------------------
>
>                 Key: MDEP-364
>                 URL: https://jira.codehaus.org/browse/MDEP-364
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Bug
>          Components: tree
>    Affects Versions: 2.4
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 08:44:56+0000)
> Maven home: /opt/app/eti/tools/apache-maven-3.0.4
> Java version: 1.6.0_15, vendor: Sun Microsystems Inc.
> Default locale: en_US, platform encoding: ANSI_X3.4-1968
> OS name: "linux", version: "2.6.9-42.0.8.elsmp", arch: "amd64", family: "unix"
>            Reporter: Sergei Ivanov
>
> We have bound execution of _dependency:tree_ to the _verify_ phase in the parent POM for all of our projects. That way, maven always dumps a complete tree of dependencies for a project after it's been fully packaged and before it's installed/deployed.
> The plugin set-up looks like this:
> {code:lang=xml}
> <plugin>
>     <inherited>true</inherited>
>     <groupId>org.apache.maven.plugins</groupId>
>     <artifactId>maven-dependency-plugin</artifactId>
>     <version>2.4</version>
>     <executions>
>         <execution>
>             <!-- Output dependency tree at the end of build process -->
>             <id>display-dependency-tree</id>
>             <phase>verify</phase>
>             <goals>
>                 <goal>tree</goal>
>             </goals>
>         </execution>
>     </executions>
> </plugin>
> {code}
> Today it failed sporadically with an NPE during a routine CI build in Jenkins.
> Maven options for Jenkins:
> {noformat}-B --settings /home/xxxxxxxx/.m2/settings-jenkins-releases.xml -U clean verify{noformat}
> The stack trace is below:
> {noformat}
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.4:tree (display-dependency-tree) on project liquidity-common-server: Execution display-dependency-tree of goal org.apache.maven.plugins:maven-dependency-plugin:2.4:tree failed.
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
> 	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
> 	at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
> 	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
> 	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
> 	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
> 	at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
> 	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.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
> 	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
> 	at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
> 	at hudson.maven.Maven3Builder.call(Maven3Builder.java:98)
> 	at hudson.maven.Maven3Builder.call(Maven3Builder.java:64)
> 	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
> 	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
> 	at hudson.remoting.Request$2.run(Request.java:287)
> 	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:662)
> Caused by: org.apache.maven.plugin.PluginExecutionException: Execution display-dependency-tree of goal org.apache.maven.plugins:maven-dependency-plugin:2.4:tree failed.
> 	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
> 	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
> 	... 27 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.maven.artifact.DefaultArtifact.equals(DefaultArtifact.java:344)
> 	at org.apache.maven.shared.dependency.tree.DependencyNode.equals(DependencyNode.java:811)
> 	at org.apache.maven.shared.dependency.tree.filter.AncestorOrSelfDependencyNodeFilter.isAncestorOrSelf(AncestorOrSelfDependencyNodeFilter.java:103)
> 	at org.apache.maven.shared.dependency.tree.filter.AncestorOrSelfDependencyNodeFilter.accept(AncestorOrSelfDependencyNodeFilter.java:76)
> 	at org.apache.maven.shared.dependency.tree.traversal.FilteringDependencyNodeVisitor.visit(FilteringDependencyNodeVisitor.java:72)
> 	at org.apache.maven.shared.dependency.tree.DependencyNode.accept(DependencyNode.java:305)
> 	at org.apache.maven.shared.dependency.tree.DependencyNode.accept(DependencyNode.java:313)
> 	at org.apache.maven.shared.dependency.tree.DependencyNode.accept(DependencyNode.java:313)
> 	at org.apache.maven.plugin.dependency.TreeMojo.serializeDependencyTree(TreeMojo.java:376)
> 	at org.apache.maven.plugin.dependency.TreeMojo.execute(TreeMojo.java:277)
> 	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
> 	... 28 more
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira