You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Sven Zethelius (Created) (JIRA)" <ji...@apache.org> on 2012/03/21 15:53:38 UTC

[jira] [Created] (IVY-1340) NullPointerException from URLResolver (URLRepository

NullPointerException from URLResolver (URLRepository
----------------------------------------------------

                 Key: IVY-1340
                 URL: https://issues.apache.org/jira/browse/IVY-1340
             Project: Ivy
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.2.0
         Environment: Windows 7, Ant 1.8.1, Ivy 2.2.0, Java 1.6
            Reporter: Sven Zethelius
            Priority: Minor


There is an inconsistency in the handling of URLResource "file:" URLs.  If the url is "file:d:mydir/", it will discover the artifacts at that address, but the output contains a NullPointerException warning due to URLRepository.list(String) line: 119 (in 2.2.0).  Changing it to "file://d:mydir/" gets rid of the NullPointerException.  This is because of new URI(parent).getPath() returns null for file: but not file://.  new URL(parent).getFile() works with both as an alternative.  

Also repros with 2.2.1.alpha_20120313100444


Ivy output:
[ivy:resolve]   problem while listing resources in file:o:/build/ivyup/deliverables//com.expedia.cc.container.core with Local:
[ivy:resolve]     java.lang.NullPointerException null

The full stack at the time of the exception:
Thread [main] (Suspended (breakpoint at line 36 in NullPointerException))	
	NullPointerException.<init>() line: 36 [local variables unavailable]	
	File.<init>(String) line: 222	
	URLRepository.list(String) line: 119	
	ResolverHelper.listTokenValues(Repository, String, String) line: 64	
	ResolverHelper.findAll(Repository, ModuleRevisionId, String, Artifact) line: 146	
	URLResolver(RepositoryResolver).listResources(Repository, ModuleRevisionId, String, Artifact) line: 185	
	URLResolver(RepositoryResolver).findDynamicResourceUsingPattern(ResourceMDParser, ModuleRevisionId, String, Artifact, Date) line: 149	
	URLResolver(RepositoryResolver).findResourceUsingPattern(ModuleRevisionId, String, Artifact, ResourceMDParser, Date) line: 132	
	URLResolver(AbstractPatternsBasedResolver).findResourceUsingPatterns(ModuleRevisionId, List, Artifact, ResourceMDParser, Date) line: 93	
	URLResolver(AbstractPatternsBasedResolver).findArtifactRef(Artifact, Date) line: 81	
	URLResolver(BasicResolver).getArtifactRef(Artifact, Date) line: 928	
	URLResolver(BasicResolver).findFirstArtifactRef(ModuleDescriptor, DependencyDescriptor, ResolveData) line: 865	
	URLResolver(BasicResolver).getDependency(DependencyDescriptor, ResolveData) line: 236	
	ChainResolver.getDependency(DependencyDescriptor, ResolveData) line: 104	
	IvyNode.loadData(String, IvyNode, String, String, boolean, IvyNodeUsage) line: 169	
	VisitNode.loadData(String, boolean) line: 287	
	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 696	
	ResolveEngine.doFetchDependencies(VisitNode, String) line: 781	
	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
	ResolveEngine.doFetchDependencies(VisitNode, String) line: 769	
	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
	ResolveEngine.doFetchDependencies(VisitNode, String) line: 781	
	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
	ResolveEngine.doFetchDependencies(VisitNode, String) line: 769	
	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
	ResolveEngine.doFetchDependencies(VisitNode, String) line: 769	
	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
	ResolveEngine.getDependencies(ModuleDescriptor, ResolveOptions, ResolveReport) line: 576	
	ResolveEngine.resolve(ModuleDescriptor, ResolveOptions) line: 237	
	ResolveEngine.resolve(URL, ResolveOptions) line: 195	
	Ivy.resolve(URL, ResolveOptions) line: 502	
	IvyResolve.doExecute() line: 244	
	IvyResolve(IvyTask).execute() line: 277	
	UnknownElement.execute() line: 291	
	GeneratedMethodAccessor4.invoke(Object, Object[]) line: not available	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	DispatchUtils.execute(Object) line: 106	
	UnknownElement(Task).perform() line: 348	
	Target.execute() line: 390	
	Target.performTasks() line: 411	
	Project.executeSortedTargets(Vector) line: 1397	
	Project.executeTarget(String) line: 1366	
	DefaultExecutor.executeTargets(Project, String[]) line: 41	
	Project.executeTargets(Vector) line: 1249	
	Main.runBuild(ClassLoader) line: 801	
	Main.startAnt(String[], Properties, ClassLoader) line: 218	
	Launcher.run(String[]) line: 280	
	Launcher.main(String[]) line: 109	


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

        

[jira] [Resolved] (IVY-1340) NullPointerException from URLResolver (URLRepository

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

Maarten Coene resolved IVY-1340.
--------------------------------

       Resolution: Fixed
    Fix Version/s: trunk
         Assignee: Maarten Coene

Fixed in svn trunk.
Could you give it a try?

thanks!
Maarten
                
> NullPointerException from URLResolver (URLRepository
> ----------------------------------------------------
>
>                 Key: IVY-1340
>                 URL: https://issues.apache.org/jira/browse/IVY-1340
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.2.0
>         Environment: Windows 7, Ant 1.8.1, Ivy 2.2.0, Java 1.6
>            Reporter: Sven Zethelius
>            Assignee: Maarten Coene
>            Priority: Minor
>             Fix For: trunk
>
>
> There is an inconsistency in the handling of URLResource "file:" URLs.  If the url is "file:d:mydir/", it will discover the artifacts at that address, but the output contains a NullPointerException warning due to URLRepository.list(String) line: 119 (in 2.2.0).  Changing it to "file://d:mydir/" gets rid of the NullPointerException.  This is because of new URI(parent).getPath() returns null for file: but not file://.  new URL(parent).getFile() works with both as an alternative.  
> Also repros with 2.2.1.alpha_20120313100444
> Ivy output:
> [ivy:resolve]   problem while listing resources in file:o:/build/ivyup/deliverables//com.expedia.cc.container.core with Local:
> [ivy:resolve]     java.lang.NullPointerException null
> The full stack at the time of the exception:
> Thread [main] (Suspended (breakpoint at line 36 in NullPointerException))	
> 	NullPointerException.<init>() line: 36 [local variables unavailable]	
> 	File.<init>(String) line: 222	
> 	URLRepository.list(String) line: 119	
> 	ResolverHelper.listTokenValues(Repository, String, String) line: 64	
> 	ResolverHelper.findAll(Repository, ModuleRevisionId, String, Artifact) line: 146	
> 	URLResolver(RepositoryResolver).listResources(Repository, ModuleRevisionId, String, Artifact) line: 185	
> 	URLResolver(RepositoryResolver).findDynamicResourceUsingPattern(ResourceMDParser, ModuleRevisionId, String, Artifact, Date) line: 149	
> 	URLResolver(RepositoryResolver).findResourceUsingPattern(ModuleRevisionId, String, Artifact, ResourceMDParser, Date) line: 132	
> 	URLResolver(AbstractPatternsBasedResolver).findResourceUsingPatterns(ModuleRevisionId, List, Artifact, ResourceMDParser, Date) line: 93	
> 	URLResolver(AbstractPatternsBasedResolver).findArtifactRef(Artifact, Date) line: 81	
> 	URLResolver(BasicResolver).getArtifactRef(Artifact, Date) line: 928	
> 	URLResolver(BasicResolver).findFirstArtifactRef(ModuleDescriptor, DependencyDescriptor, ResolveData) line: 865	
> 	URLResolver(BasicResolver).getDependency(DependencyDescriptor, ResolveData) line: 236	
> 	ChainResolver.getDependency(DependencyDescriptor, ResolveData) line: 104	
> 	IvyNode.loadData(String, IvyNode, String, String, boolean, IvyNodeUsage) line: 169	
> 	VisitNode.loadData(String, boolean) line: 287	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 696	
> 	ResolveEngine.doFetchDependencies(VisitNode, String) line: 781	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
> 	ResolveEngine.doFetchDependencies(VisitNode, String) line: 769	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
> 	ResolveEngine.doFetchDependencies(VisitNode, String) line: 781	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
> 	ResolveEngine.doFetchDependencies(VisitNode, String) line: 769	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
> 	ResolveEngine.doFetchDependencies(VisitNode, String) line: 769	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
> 	ResolveEngine.getDependencies(ModuleDescriptor, ResolveOptions, ResolveReport) line: 576	
> 	ResolveEngine.resolve(ModuleDescriptor, ResolveOptions) line: 237	
> 	ResolveEngine.resolve(URL, ResolveOptions) line: 195	
> 	Ivy.resolve(URL, ResolveOptions) line: 502	
> 	IvyResolve.doExecute() line: 244	
> 	IvyResolve(IvyTask).execute() line: 277	
> 	UnknownElement.execute() line: 291	
> 	GeneratedMethodAccessor4.invoke(Object, Object[]) line: not available	
> 	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
> 	Method.invoke(Object, Object...) line: 597	
> 	DispatchUtils.execute(Object) line: 106	
> 	UnknownElement(Task).perform() line: 348	
> 	Target.execute() line: 390	
> 	Target.performTasks() line: 411	
> 	Project.executeSortedTargets(Vector) line: 1397	
> 	Project.executeTarget(String) line: 1366	
> 	DefaultExecutor.executeTargets(Project, String[]) line: 41	
> 	Project.executeTargets(Vector) line: 1249	
> 	Main.runBuild(ClassLoader) line: 801	
> 	Main.startAnt(String[], Properties, ClassLoader) line: 218	
> 	Launcher.run(String[]) line: 280	
> 	Launcher.main(String[]) line: 109	

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

        

[jira] [Commented] (IVY-1340) NullPointerException from URLResolver (URLRepository

Posted by "Sven Zethelius (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/IVY-1340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13238507#comment-13238507 ] 

Sven Zethelius commented on IVY-1340:
-------------------------------------

Verified in 2.2.1.alpha_20120324002314.  file: works now with no NullPointerException.
                
> NullPointerException from URLResolver (URLRepository
> ----------------------------------------------------
>
>                 Key: IVY-1340
>                 URL: https://issues.apache.org/jira/browse/IVY-1340
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.2.0
>         Environment: Windows 7, Ant 1.8.1, Ivy 2.2.0, Java 1.6
>            Reporter: Sven Zethelius
>            Assignee: Maarten Coene
>            Priority: Minor
>             Fix For: trunk
>
>
> There is an inconsistency in the handling of URLResource "file:" URLs.  If the url is "file:d:mydir/", it will discover the artifacts at that address, but the output contains a NullPointerException warning due to URLRepository.list(String) line: 119 (in 2.2.0).  Changing it to "file://d:mydir/" gets rid of the NullPointerException.  This is because of new URI(parent).getPath() returns null for file: but not file://.  new URL(parent).getFile() works with both as an alternative.  
> Also repros with 2.2.1.alpha_20120313100444
> Ivy output:
> [ivy:resolve]   problem while listing resources in file:o:/build/ivyup/deliverables//com.expedia.cc.container.core with Local:
> [ivy:resolve]     java.lang.NullPointerException null
> The full stack at the time of the exception:
> Thread [main] (Suspended (breakpoint at line 36 in NullPointerException))	
> 	NullPointerException.<init>() line: 36 [local variables unavailable]	
> 	File.<init>(String) line: 222	
> 	URLRepository.list(String) line: 119	
> 	ResolverHelper.listTokenValues(Repository, String, String) line: 64	
> 	ResolverHelper.findAll(Repository, ModuleRevisionId, String, Artifact) line: 146	
> 	URLResolver(RepositoryResolver).listResources(Repository, ModuleRevisionId, String, Artifact) line: 185	
> 	URLResolver(RepositoryResolver).findDynamicResourceUsingPattern(ResourceMDParser, ModuleRevisionId, String, Artifact, Date) line: 149	
> 	URLResolver(RepositoryResolver).findResourceUsingPattern(ModuleRevisionId, String, Artifact, ResourceMDParser, Date) line: 132	
> 	URLResolver(AbstractPatternsBasedResolver).findResourceUsingPatterns(ModuleRevisionId, List, Artifact, ResourceMDParser, Date) line: 93	
> 	URLResolver(AbstractPatternsBasedResolver).findArtifactRef(Artifact, Date) line: 81	
> 	URLResolver(BasicResolver).getArtifactRef(Artifact, Date) line: 928	
> 	URLResolver(BasicResolver).findFirstArtifactRef(ModuleDescriptor, DependencyDescriptor, ResolveData) line: 865	
> 	URLResolver(BasicResolver).getDependency(DependencyDescriptor, ResolveData) line: 236	
> 	ChainResolver.getDependency(DependencyDescriptor, ResolveData) line: 104	
> 	IvyNode.loadData(String, IvyNode, String, String, boolean, IvyNodeUsage) line: 169	
> 	VisitNode.loadData(String, boolean) line: 287	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 696	
> 	ResolveEngine.doFetchDependencies(VisitNode, String) line: 781	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
> 	ResolveEngine.doFetchDependencies(VisitNode, String) line: 769	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
> 	ResolveEngine.doFetchDependencies(VisitNode, String) line: 781	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
> 	ResolveEngine.doFetchDependencies(VisitNode, String) line: 769	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
> 	ResolveEngine.doFetchDependencies(VisitNode, String) line: 769	
> 	ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704	
> 	ResolveEngine.getDependencies(ModuleDescriptor, ResolveOptions, ResolveReport) line: 576	
> 	ResolveEngine.resolve(ModuleDescriptor, ResolveOptions) line: 237	
> 	ResolveEngine.resolve(URL, ResolveOptions) line: 195	
> 	Ivy.resolve(URL, ResolveOptions) line: 502	
> 	IvyResolve.doExecute() line: 244	
> 	IvyResolve(IvyTask).execute() line: 277	
> 	UnknownElement.execute() line: 291	
> 	GeneratedMethodAccessor4.invoke(Object, Object[]) line: not available	
> 	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
> 	Method.invoke(Object, Object...) line: 597	
> 	DispatchUtils.execute(Object) line: 106	
> 	UnknownElement(Task).perform() line: 348	
> 	Target.execute() line: 390	
> 	Target.performTasks() line: 411	
> 	Project.executeSortedTargets(Vector) line: 1397	
> 	Project.executeTarget(String) line: 1366	
> 	DefaultExecutor.executeTargets(Project, String[]) line: 41	
> 	Project.executeTargets(Vector) line: 1249	
> 	Main.runBuild(ClassLoader) line: 801	
> 	Main.startAnt(String[], Properties, ClassLoader) line: 218	
> 	Launcher.run(String[]) line: 280	
> 	Launcher.main(String[]) line: 109	

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