ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ross Clewley <ross.clew...@oracle.com>
Subject NPE whilst resolving transitive configurations.
Date Wed, 15 Aug 2007 09:53:37 GMT
Hi

I need some help sorting out a NullPointerException that I'm getting 
during resolution. The stack looks like this.

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)

I'd like to be able to figure out a minimal testcase to reproduce this 
so I can log a Jira issue and also hopefully work around it. The trouble 
is I'm having problems figuring out what that minimal testcase is. The 
problem occurs with certain sets of dependencies and can go away again 
when those dependencies are changed, or even when the dependencies are 
re-ordered. I'm hoping someone may be able to give me some pointers 
about what to look at to help nail this down a bit more firmly.

The problem occurs whilst resolving transitive configurations. We have a 
build systems comprising 170 or so modules, each of which have 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"/>

These modules declare dependencies amongst themselves or third party 
dependencies in their own filesystem repository with Ivy files that just 
have the default conf. Incase it's relevant the defaultconfmapping used 
throughout is "compile->default(*);*->@(*)".

It's when resolving the transitive runtime of test configurations that 
the NPE occurs.

It's difficult for me to give you a selection of the modules and their 
dependencies that cause the problem as there would be too many. That is 
why I want to try to understand the issue better and produce that 
minimal testcase. Any ideas?

thanks

Ross



Mime
View raw message