You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by "Ross Clewley (JIRA)" <ji...@apache.org> on 2007/08/15 18:37:30 UTC

[jira] Created: (IVY-590) NullPointerException whilst resolving transitive dependencies.

NullPointerException whilst resolving transitive dependencies.
--------------------------------------------------------------

                 Key: IVY-590
                 URL: https://issues.apache.org/jira/browse/IVY-590
             Project: Ivy
          Issue Type: Bug
    Affects Versions: 2.0.0-alpha-2
            Reporter: Ross Clewley


During a resolve of a transitive configuration we see 

java.lang.NullPointerException
       at org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
       at org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
       at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
       at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
       at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
       at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
       at org.apache.ivy.Ivy.resolve(Ivy.java:256)
       at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:207)
       at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
       at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
       at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
       at org.apache.tools.ant.Task.perform(Task.java:348)
       at org.apache.tools.ant.Target.execute(Target.java:357)
       at org.apache.tools.ant.Target.performTasks(Target.java:385)
       at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
       at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
       at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
       at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
       at org.apache.tools.ant.Main.runBuild(Main.java:698)
       at org.apache.tools.ant.Main.startAnt(Main.java:199)
       at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
       at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)

It's difficult to provide a simple testcase for this as I've only seen it in our large modular build system and it's sensitive to things like the order of the dependencies. 

The modules use the following configurations

   <conf name="default"   extends="package" transitive="true"/>
   <conf name="compile"   extends="default" visibility="private" transitive="false"/>
   <conf name="runtime"   extends="default" visibility="public"  transitive="true"/>
   <conf name="test"      extends="runtime" transitive="true"/>

The error occurs when resolving the transitive test conf. 

Another factor that may or not be relevant is that none of our resolvers have a version in the pattern.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (IVY-590) NullPointerException whilst resolving transitive dependencies.

Posted by "Jarosław Wypychowski (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12523795 ] 

Jarosław Wypychowski commented on IVY-590:
------------------------------------------

I met the same problem with to current SVN head. I hunted it down in the code.
in ResolveEngine.getDependencies:
...
                    if (allEvicted) {
                        Message.verbose("all callers are evicted for " + node + ": evicting too");
                        node.markEvicted(confs[i], null, null, null);
                    } else {
                        if (settings.debugConflictResolution()) {
                            Message.debug(node.getId()
                                  + " isn't transitively evicted, at least one caller was" 
                                  + " not evicted");
                        }
                    }
...
the line with markEvicted can be traced to  the default constructor of IvyNodeEviction.EvictionData where there is no check against null arguments. A simple fix:
Index: src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java
===================================================================
--- src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java   (wersja 571054)
+++ src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java   (kopia robocza)
@@ -45,13 +45,15 @@
             this.parent = parent;
             this.conflictManager = conflictManager;
             this.selected = selected;
-            for (Iterator iter = selected.iterator(); iter.hasNext();) {
-                Object o = (Object) iter.next();
-                if (!(o instanceof IvyNode)) {
-                    throw new IllegalArgumentException(
-                            "selected nodes must be instance of IvyNode. Found: "
-                                    + o.getClass().getName());
-                }
+            if(selected!=null){
+                   for (Iterator iter = selected.iterator(); iter.hasNext();) {
+                       Object o = (Object) iter.next();
+                       if (!(o instanceof IvyNode)) {
+                           throw new IllegalArgumentException(
+                                   "selected nodes must be instance of IvyNode. Found: "
+                                           + o.getClass().getName());
+                       }
+                   }
             }
         }

solved the issue for me.


> NullPointerException whilst resolving transitive dependencies.
> --------------------------------------------------------------
>
>                 Key: IVY-590
>                 URL: https://issues.apache.org/jira/browse/IVY-590
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha-2
>            Reporter: Ross Clewley
>            Assignee: Maarten Coene
>
> During a resolve of a transitive configuration we see 
> java.lang.NullPointerException
>        at org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
>        at org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
>        at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
>        at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
>        at org.apache.ivy.Ivy.resolve(Ivy.java:256)
>        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:207)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
>        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at org.apache.tools.ant.Main.runBuild(Main.java:698)
>        at org.apache.tools.ant.Main.startAnt(Main.java:199)
>        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> It's difficult to provide a simple testcase for this as I've only seen it in our large modular build system and it's sensitive to things like the order of the dependencies. 
> The modules use the following configurations
>    <conf name="default"   extends="package" transitive="true"/>
>    <conf name="compile"   extends="default" visibility="private" transitive="false"/>
>    <conf name="runtime"   extends="default" visibility="public"  transitive="true"/>
>    <conf name="test"      extends="runtime" transitive="true"/>
> The error occurs when resolving the transitive test conf. 
> Another factor that may or not be relevant is that none of our resolvers have a version in the pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (IVY-590) NullPointerException whilst resolving transitive dependencies.

Posted by "Maarten Coene (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maarten Coene reassigned IVY-590:
---------------------------------

    Assignee: Maarten Coene

> NullPointerException whilst resolving transitive dependencies.
> --------------------------------------------------------------
>
>                 Key: IVY-590
>                 URL: https://issues.apache.org/jira/browse/IVY-590
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha-2
>            Reporter: Ross Clewley
>            Assignee: Maarten Coene
>
> During a resolve of a transitive configuration we see 
> java.lang.NullPointerException
>        at org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
>        at org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
>        at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
>        at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
>        at org.apache.ivy.Ivy.resolve(Ivy.java:256)
>        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:207)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
>        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at org.apache.tools.ant.Main.runBuild(Main.java:698)
>        at org.apache.tools.ant.Main.startAnt(Main.java:199)
>        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> It's difficult to provide a simple testcase for this as I've only seen it in our large modular build system and it's sensitive to things like the order of the dependencies. 
> The modules use the following configurations
>    <conf name="default"   extends="package" transitive="true"/>
>    <conf name="compile"   extends="default" visibility="private" transitive="false"/>
>    <conf name="runtime"   extends="default" visibility="public"  transitive="true"/>
>    <conf name="test"      extends="runtime" transitive="true"/>
> The error occurs when resolving the transitive test conf. 
> Another factor that may or not be relevant is that none of our resolvers have a version in the pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (IVY-590) NullPointerException whilst resolving transitive dependencies.

Posted by "Maarten Coene (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Maarten Coene resolved IVY-590.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.0-beta-1

Added junit test and fixed the NPE by removing the for-loop from IvyNodeEviction.

> NullPointerException whilst resolving transitive dependencies.
> --------------------------------------------------------------
>
>                 Key: IVY-590
>                 URL: https://issues.apache.org/jira/browse/IVY-590
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha-2
>            Reporter: Ross Clewley
>            Assignee: Maarten Coene
>             Fix For: 2.0.0-beta-1
>
>         Attachments: ivy-jira-IVY-590.patch.diff
>
>
> During a resolve of a transitive configuration we see 
> java.lang.NullPointerException
>        at org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
>        at org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
>        at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
>        at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
>        at org.apache.ivy.Ivy.resolve(Ivy.java:256)
>        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:207)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
>        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at org.apache.tools.ant.Main.runBuild(Main.java:698)
>        at org.apache.tools.ant.Main.startAnt(Main.java:199)
>        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> It's difficult to provide a simple testcase for this as I've only seen it in our large modular build system and it's sensitive to things like the order of the dependencies. 
> The modules use the following configurations
>    <conf name="default"   extends="package" transitive="true"/>
>    <conf name="compile"   extends="default" visibility="private" transitive="false"/>
>    <conf name="runtime"   extends="default" visibility="public"  transitive="true"/>
>    <conf name="test"      extends="runtime" transitive="true"/>
> The error occurs when resolving the transitive test conf. 
> Another factor that may or not be relevant is that none of our resolvers have a version in the pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (IVY-590) NullPointerException whilst resolving transitive dependencies.

Posted by "Maarten Coene (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12523713 ] 

Maarten Coene commented on IVY-590:
-----------------------------------

I was able to reproduce this NPE.
I'll add a junit test for it fix it

> NullPointerException whilst resolving transitive dependencies.
> --------------------------------------------------------------
>
>                 Key: IVY-590
>                 URL: https://issues.apache.org/jira/browse/IVY-590
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha-2
>            Reporter: Ross Clewley
>            Assignee: Maarten Coene
>
> During a resolve of a transitive configuration we see 
> java.lang.NullPointerException
>        at org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
>        at org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
>        at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
>        at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
>        at org.apache.ivy.Ivy.resolve(Ivy.java:256)
>        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:207)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
>        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at org.apache.tools.ant.Main.runBuild(Main.java:698)
>        at org.apache.tools.ant.Main.startAnt(Main.java:199)
>        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> It's difficult to provide a simple testcase for this as I've only seen it in our large modular build system and it's sensitive to things like the order of the dependencies. 
> The modules use the following configurations
>    <conf name="default"   extends="package" transitive="true"/>
>    <conf name="compile"   extends="default" visibility="private" transitive="false"/>
>    <conf name="runtime"   extends="default" visibility="public"  transitive="true"/>
>    <conf name="test"      extends="runtime" transitive="true"/>
> The error occurs when resolving the transitive test conf. 
> Another factor that may or not be relevant is that none of our resolvers have a version in the pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (IVY-590) NullPointerException whilst resolving transitive dependencies.

Posted by "Jarosław Wypychowski (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12523795 ] 

jarwyp edited comment on IVY-590 at 8/30/07 1:53 AM:
-------------------------------------------------------------------

I met the same problem with to current SVN head. I hunted it down in the code.
in ResolveEngine.getDependencies:
...
                    if (allEvicted) {
                        Message.verbose("all callers are evicted for " + node + ": evicting too");
                        node.markEvicted(confs[i], null, null, null);
                    } else {
                        if (settings.debugConflictResolution()) {
                            Message.debug(node.getId()
                                  + " isn't transitively evicted, at least one caller was" 
                                  + " not evicted");
                        }
                    }
...
the line with markEvicted can be traced to  the default constructor of IvyNodeEviction.EvictionData where there is no check against null arguments. A simple fix:
Index: src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java
===================================================================
--- src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java   (wersja 571054)
+++ src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java   (kopia robocza)
@@ -45,13 +45,15 @@
             this.parent = parent;
             this.conflictManager = conflictManager;
             this.selected = selected;
-            for (Iterator iter = selected.iterator(); iter.hasNext();) {
-                Object o = (Object) iter.next();
-                if (!(o instanceof IvyNode)) {
-                    throw new IllegalArgumentException(
-                            "selected nodes must be instance of IvyNode. Found: "
-                                    + o.getClass().getName());
-                }
+            if(selected!=null){
+                   for (Iterator iter = selected.iterator(); iter.hasNext();) {
+                       Object o = (Object) iter.next();
+                       if (!(o instanceof IvyNode)) {
+                           throw new IllegalArgumentException(
+                                   "selected nodes must be instance of IvyNode. Found: "
+                                           + o.getClass().getName());
+                       }
+                   }
             }
         }

solved the issue for me.

* God bless wiki systems and emoticons - I will include the patch in attachments

      was (Author: jarwyp):
    I met the same problem with to current SVN head. I hunted it down in the code.
in ResolveEngine.getDependencies:
...
                    if (allEvicted) {
                        Message.verbose("all callers are evicted for " + node + ": evicting too");
                        node.markEvicted(confs[i], null, null, null);
                    } else {
                        if (settings.debugConflictResolution()) {
                            Message.debug(node.getId()
                                  + " isn't transitively evicted, at least one caller was" 
                                  + " not evicted");
                        }
                    }
...
the line with markEvicted can be traced to  the default constructor of IvyNodeEviction.EvictionData where there is no check against null arguments. A simple fix:
Index: src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java
===================================================================
--- src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java   (wersja 571054)
+++ src/java/org/apache/ivy/core/resolve/IvyNodeEviction.java   (kopia robocza)
@@ -45,13 +45,15 @@
             this.parent = parent;
             this.conflictManager = conflictManager;
             this.selected = selected;
-            for (Iterator iter = selected.iterator(); iter.hasNext();) {
-                Object o = (Object) iter.next();
-                if (!(o instanceof IvyNode)) {
-                    throw new IllegalArgumentException(
-                            "selected nodes must be instance of IvyNode. Found: "
-                                    + o.getClass().getName());
-                }
+            if(selected!=null){
+                   for (Iterator iter = selected.iterator(); iter.hasNext();) {
+                       Object o = (Object) iter.next();
+                       if (!(o instanceof IvyNode)) {
+                           throw new IllegalArgumentException(
+                                   "selected nodes must be instance of IvyNode. Found: "
+                                           + o.getClass().getName());
+                       }
+                   }
             }
         }

solved the issue for me.

  
> NullPointerException whilst resolving transitive dependencies.
> --------------------------------------------------------------
>
>                 Key: IVY-590
>                 URL: https://issues.apache.org/jira/browse/IVY-590
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha-2
>            Reporter: Ross Clewley
>            Assignee: Maarten Coene
>
> During a resolve of a transitive configuration we see 
> java.lang.NullPointerException
>        at org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
>        at org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
>        at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
>        at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
>        at org.apache.ivy.Ivy.resolve(Ivy.java:256)
>        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:207)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
>        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at org.apache.tools.ant.Main.runBuild(Main.java:698)
>        at org.apache.tools.ant.Main.startAnt(Main.java:199)
>        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> It's difficult to provide a simple testcase for this as I've only seen it in our large modular build system and it's sensitive to things like the order of the dependencies. 
> The modules use the following configurations
>    <conf name="default"   extends="package" transitive="true"/>
>    <conf name="compile"   extends="default" visibility="private" transitive="false"/>
>    <conf name="runtime"   extends="default" visibility="public"  transitive="true"/>
>    <conf name="test"      extends="runtime" transitive="true"/>
> The error occurs when resolving the transitive test conf. 
> Another factor that may or not be relevant is that none of our resolvers have a version in the pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (IVY-590) NullPointerException whilst resolving transitive dependencies.

Posted by "Gilles Scokart (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gilles Scokart updated IVY-590:
-------------------------------

    Priority: Blocker  (was: Major)

I know it is fixed, but I increaded the severity because this problem is really blocking for some users.

> NullPointerException whilst resolving transitive dependencies.
> --------------------------------------------------------------
>
>                 Key: IVY-590
>                 URL: https://issues.apache.org/jira/browse/IVY-590
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha-2
>            Reporter: Ross Clewley
>            Assignee: Maarten Coene
>            Priority: Blocker
>             Fix For: 2.0.0-beta-1
>
>         Attachments: ivy-jira-IVY-590.patch.diff
>
>
> During a resolve of a transitive configuration we see 
> java.lang.NullPointerException
>        at org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
>        at org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
>        at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
>        at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
>        at org.apache.ivy.Ivy.resolve(Ivy.java:256)
>        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:207)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
>        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at org.apache.tools.ant.Main.runBuild(Main.java:698)
>        at org.apache.tools.ant.Main.startAnt(Main.java:199)
>        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> It's difficult to provide a simple testcase for this as I've only seen it in our large modular build system and it's sensitive to things like the order of the dependencies. 
> The modules use the following configurations
>    <conf name="default"   extends="package" transitive="true"/>
>    <conf name="compile"   extends="default" visibility="private" transitive="false"/>
>    <conf name="runtime"   extends="default" visibility="public"  transitive="true"/>
>    <conf name="test"      extends="runtime" transitive="true"/>
> The error occurs when resolving the transitive test conf. 
> Another factor that may or not be relevant is that none of our resolvers have a version in the pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (IVY-590) NullPointerException whilst resolving transitive dependencies.

Posted by "Ross Clewley (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520059 ] 

rclewley edited comment on IVY-590 at 8/16/07 3:49 AM:
-----------------------------------------------------------

The same setup produces the follow NPE in 1.4.1

java.lang.NullPointerException
       at fr.jayasoft.ivy.IvyNode.isEvicted(IvyNode.java:367)
       at fr.jayasoft.ivy.IvyNode.loadData(IvyNode.java:590)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1417)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1443)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1433)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1476)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.getDependencies(Ivy.java:1343)
       at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1136)
       at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1093)
       at fr.jayasoft.ivy.ant.IvyResolve.execute(IvyResolve.java:167) 

This 1.4.1 problem may be related to that reported in IVY-379.

IVY-379 also has an update from Ignacio Coloma about the NPE reported in this issue about the NPE found in 2.0 alpha2. Since the issues is still present in 2.0 trunk and appears different to the one originally reported in IVY-379, I think we should keep this issue for the 2.0 problem for clarity.

      was (Author: rclewley):
    The same setup produces the follow NPE in 1.4.1

java.lang.NullPointerException
       at fr.jayasoft.ivy.IvyNode.isEvicted(IvyNode.java:367)
       at fr.jayasoft.ivy.IvyNode.loadData(IvyNode.java:590)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1417)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1443)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1433)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1476)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.getDependencies(Ivy.java:1343)
       at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1136)
       at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1093)
       at fr.jayasoft.ivy.ant.IvyResolve.execute(IvyResolve.java:167) 

This 1.4.1 problem seems to be the same as reported in IVY-379.
IVY-379 also has an update from Ignacio Coloma about the NPE reported in this issue about the NPE found in 2.0 alpha2. Since the issues is still present in 2.0 trunk and appears different to the one originally reported in IVY-379, I think we should keep this issue for the 2.0 problem for clarity.
  
> NullPointerException whilst resolving transitive dependencies.
> --------------------------------------------------------------
>
>                 Key: IVY-590
>                 URL: https://issues.apache.org/jira/browse/IVY-590
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha-2
>            Reporter: Ross Clewley
>
> During a resolve of a transitive configuration we see 
> java.lang.NullPointerException
>        at org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
>        at org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
>        at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
>        at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
>        at org.apache.ivy.Ivy.resolve(Ivy.java:256)
>        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:207)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
>        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at org.apache.tools.ant.Main.runBuild(Main.java:698)
>        at org.apache.tools.ant.Main.startAnt(Main.java:199)
>        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> It's difficult to provide a simple testcase for this as I've only seen it in our large modular build system and it's sensitive to things like the order of the dependencies. 
> The modules use the following configurations
>    <conf name="default"   extends="package" transitive="true"/>
>    <conf name="compile"   extends="default" visibility="private" transitive="false"/>
>    <conf name="runtime"   extends="default" visibility="public"  transitive="true"/>
>    <conf name="test"      extends="runtime" transitive="true"/>
> The error occurs when resolving the transitive test conf. 
> Another factor that may or not be relevant is that none of our resolvers have a version in the pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (IVY-590) NullPointerException whilst resolving transitive dependencies.

Posted by "Ross Clewley (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520059 ] 

Ross Clewley commented on IVY-590:
----------------------------------

The same setup produces the follow NPE in 1.4.1

java.lang.NullPointerException
       at fr.jayasoft.ivy.IvyNode.isEvicted(IvyNode.java:367)
       at fr.jayasoft.ivy.IvyNode.loadData(IvyNode.java:590)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1417)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1443)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1433)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1476)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.getDependencies(Ivy.java:1343)
       at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1136)
       at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1093)
       at fr.jayasoft.ivy.ant.IvyResolve.execute(IvyResolve.java:167) 

> NullPointerException whilst resolving transitive dependencies.
> --------------------------------------------------------------
>
>                 Key: IVY-590
>                 URL: https://issues.apache.org/jira/browse/IVY-590
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha-2
>            Reporter: Ross Clewley
>
> During a resolve of a transitive configuration we see 
> java.lang.NullPointerException
>        at org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
>        at org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
>        at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
>        at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
>        at org.apache.ivy.Ivy.resolve(Ivy.java:256)
>        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:207)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
>        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at org.apache.tools.ant.Main.runBuild(Main.java:698)
>        at org.apache.tools.ant.Main.startAnt(Main.java:199)
>        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> It's difficult to provide a simple testcase for this as I've only seen it in our large modular build system and it's sensitive to things like the order of the dependencies. 
> The modules use the following configurations
>    <conf name="default"   extends="package" transitive="true"/>
>    <conf name="compile"   extends="default" visibility="private" transitive="false"/>
>    <conf name="runtime"   extends="default" visibility="public"  transitive="true"/>
>    <conf name="test"      extends="runtime" transitive="true"/>
> The error occurs when resolving the transitive test conf. 
> Another factor that may or not be relevant is that none of our resolvers have a version in the pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (IVY-590) NullPointerException whilst resolving transitive dependencies.

Posted by "Ross Clewley (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520059 ] 

rclewley edited comment on IVY-590 at 8/16/07 3:47 AM:
-----------------------------------------------------------

The same setup produces the follow NPE in 1.4.1

java.lang.NullPointerException
       at fr.jayasoft.ivy.IvyNode.isEvicted(IvyNode.java:367)
       at fr.jayasoft.ivy.IvyNode.loadData(IvyNode.java:590)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1417)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1443)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1433)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1476)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.getDependencies(Ivy.java:1343)
       at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1136)
       at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1093)
       at fr.jayasoft.ivy.ant.IvyResolve.execute(IvyResolve.java:167) 

This 1.4.1 problem seems to be the same as reported in IVY-379.
IVY-379 also has an update from Ignacio Coloma about the NPE reported in this issue about the NPE found in 2.0 alpha2. Since the issues is still present in 2.0 trunk and appears different to the one originally reported in IVY-379, I think we should keep this issue for the 2.0 problem for clarity.

      was (Author: rclewley):
    The same setup produces the follow NPE in 1.4.1

java.lang.NullPointerException
       at fr.jayasoft.ivy.IvyNode.isEvicted(IvyNode.java:367)
       at fr.jayasoft.ivy.IvyNode.loadData(IvyNode.java:590)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1417)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1443)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1492)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1433)
       at fr.jayasoft.ivy.Ivy.doFetchDependencies(Ivy.java:1476)
       at fr.jayasoft.ivy.Ivy.fetchDependencies(Ivy.java:1424)
       at fr.jayasoft.ivy.Ivy.getDependencies(Ivy.java:1343)
       at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1136)
       at fr.jayasoft.ivy.Ivy.resolve(Ivy.java:1093)
       at fr.jayasoft.ivy.ant.IvyResolve.execute(IvyResolve.java:167) 
  
> NullPointerException whilst resolving transitive dependencies.
> --------------------------------------------------------------
>
>                 Key: IVY-590
>                 URL: https://issues.apache.org/jira/browse/IVY-590
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha-2
>            Reporter: Ross Clewley
>
> During a resolve of a transitive configuration we see 
> java.lang.NullPointerException
>        at org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
>        at org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
>        at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
>        at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
>        at org.apache.ivy.Ivy.resolve(Ivy.java:256)
>        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:207)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
>        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at org.apache.tools.ant.Main.runBuild(Main.java:698)
>        at org.apache.tools.ant.Main.startAnt(Main.java:199)
>        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> It's difficult to provide a simple testcase for this as I've only seen it in our large modular build system and it's sensitive to things like the order of the dependencies. 
> The modules use the following configurations
>    <conf name="default"   extends="package" transitive="true"/>
>    <conf name="compile"   extends="default" visibility="private" transitive="false"/>
>    <conf name="runtime"   extends="default" visibility="public"  transitive="true"/>
>    <conf name="test"      extends="runtime" transitive="true"/>
> The error occurs when resolving the transitive test conf. 
> Another factor that may or not be relevant is that none of our resolvers have a version in the pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (IVY-590) NullPointerException whilst resolving transitive dependencies.

Posted by "Jarosław Wypychowski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/IVY-590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jarosław Wypychowski updated IVY-590:
-------------------------------------

    Attachment: ivy-jira-IVY-590.patch.diff

Must have in the code.

> NullPointerException whilst resolving transitive dependencies.
> --------------------------------------------------------------
>
>                 Key: IVY-590
>                 URL: https://issues.apache.org/jira/browse/IVY-590
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha-2
>            Reporter: Ross Clewley
>            Assignee: Maarten Coene
>         Attachments: ivy-jira-IVY-590.patch.diff
>
>
> During a resolve of a transitive configuration we see 
> java.lang.NullPointerException
>        at org.apache.ivy.core.resolve.IvyNodeEviction$EvictionData.<init>(IvyNodeEviction.java:48)
>        at org.apache.ivy.core.resolve.IvyNodeEviction.markEvicted(IvyNodeEviction.java:266)
>        at org.apache.ivy.core.resolve.IvyNode.markEvicted(IvyNode.java:1101)
>        at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:523)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:236)
>        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:194)
>        at org.apache.ivy.Ivy.resolve(Ivy.java:256)
>        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:207)
>        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:281)
>        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>        at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
>        at org.apache.tools.ant.Task.perform(Task.java:348)
>        at org.apache.tools.ant.Target.execute(Target.java:357)
>        at org.apache.tools.ant.Target.performTasks(Target.java:385)
>        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>        at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>        at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
>        at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>        at org.apache.tools.ant.Main.runBuild(Main.java:698)
>        at org.apache.tools.ant.Main.startAnt(Main.java:199)
>        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> It's difficult to provide a simple testcase for this as I've only seen it in our large modular build system and it's sensitive to things like the order of the dependencies. 
> The modules use the following configurations
>    <conf name="default"   extends="package" transitive="true"/>
>    <conf name="compile"   extends="default" visibility="private" transitive="false"/>
>    <conf name="runtime"   extends="default" visibility="public"  transitive="true"/>
>    <conf name="test"      extends="runtime" transitive="true"/>
> The error occurs when resolving the transitive test conf. 
> Another factor that may or not be relevant is that none of our resolvers have a version in the pattern.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.