Uploaded image for project: 'Ivy'
  1. Ivy
  2. IVY-590

NullPointerException whilst resolving transitive dependencies.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 2.0.0-alpha-2
    • 2.0.0-beta-1
    • None
    • None

    Description

      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.

      Attachments

        1. ivy-jira-IVY-590.patch.diff
          1 kB
          Jarosław Wypychowski

        Activity

          People

            maartenc Maarten Coene
            rclewley Ross Clewley
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: