This bit me today... updated to tip Ivy and seems to be resolved-- thanks Maarten!

-Matt

On Feb 26, 2010, at 5:50 PM, Maarten Coene wrote:

ok, I've found a place in the Ivy code that could cause the resolve to hang. I've fixed that particular problem in SVN trunk. Could you try again with the latest Ivy code from trunk to see if the problem has been fixed?

thanks,
Maarten




----- Original Message ----
From: David Goblirsch <dgoblir...@interactivebrokers.com>
To: ivy-u...@ant.apache.org
Sent: Fri, February 26, 2010 12:28:30 AM
Subject: Re: Ivy + hudson CI - problems downloading artifacts, please, help

Maarten Coene wrote:
I was not aware of any problems with the artifact-lock strategy.
Could you provide more details, like for instance the ant output when setting the property "ivy.log.locking" to "true"

Maarten


If I put this line

<caches lockStrategy="artifact-lock"/>

into my Ivy settings file, and then start with a clean slate, i.e,
having completely cleared the local cache under .ivy2,
and then run ant 1.7.1 with -Divy.log.locking=true as you suggested, I see that
ant ends up in an "infinite" loop printing out log messages that say

Thread[main,5,main] [large integer] file creation failed [filename]

where [filename] looks like

[myhomedir]/.ivy2/cache/[organisation]/[module]/metadatas/ metadata-[sometimestamp].ivy.lck

where [organisation] and [module] above are just placeholds for the actual names;
they are for one of my company's private library jars.

We are on a secure network behind a firewall, so all repositories are on our file system, and
our internal jars do not have version numbers attached. The
resolve is done with resolveMode="dynamic" in two different ant steps,
first for conf="compile" and then conf="test", where conf "test" extends conf "compile" indirectly via another conf called "runtime". That is, "test" extends "runtime" extends "compile". The infinite loop occurs during the 2nd resolve, for conf="test". This is just a build, so "runtime" isn't explicitly resolved for.

There are several dependencies found before this one that work fine, i.e., I see many "acquiring lock", "lock acquired", "reentrant lock acquired", "reentrant lock released", "lock released on" messages before it gets to this one. This dependency is correctly resolved for conf="compile", i.e., it is not
a conf="test" only dependency.

If I kill ant with C-c and then ant again, this time the loop occurs during the first resolve.

If I remove the line

<caches lockStrategy="artifact-lock"/>

the build completes just fine.

I hope this is enough information. As I said, this build is for proprietary software, so it would take me a while to duplicate the problem with a stripped down setup.

Thanks.




----- Original Message ----
From: David Goblirsch <dgoblir...@interactivebrokers.com>
To: ivy-u...@ant.apache.org
Sent: Thu, February 25, 2010 7:15:26 PM
Subject: Re: Ivy + hudson CI - problems downloading artifacts, please, help

Maarten Coene wrote:

Could you confirm that your Ivy cache isn't accessed concurrently?
And if your Ivy cache is accessed by more than 1 Ivy process at a time, could you check you did enable the artifact locking in your settings.xml? Cfr. http://ant.apache.org/ivy/history/latest-milestone/settings/ lock-strategies.html


Maarten



My experience with this is this. We resolve "compile" dependencies in one ant target, and then resolve "test" dependencies in another ant target. If the artifact-lock is "turned on" in the settings file, then the resolving of the "test" conf deadlocks and the ant build process
just hangs.

----- Original Message ----
From: "eugu...@gmail.com" <eugu...@gmail.com>
To: ivy-u...@ant.apache.org; Eugene Sajine <eugu...@gmail.com>
Sent: Wed, February 24, 2010 5:37:48 PM
Subject: Ivy + hudson CI - problems downloading artifacts, please, help

Hi,

I'm not subscribed to the list, so, please, make sure you have my address in CC for replies.

We are having more than 150 projects in hudson CI with dependencies tracked by Ivy (2.1.0).

Lately we are having more and more problems with it because ivy cannot copy/download artifacts correctly.

There are two main errors we are getting:
1. size of source file differs from the size of dest file
2. impossible to move part file to definitive one

In mailing list i found this answer from Xavier Hanin:
When Ivy downloads ivy files from a repository, it first download them to a temporary file (used to be in temp directory until 2.0 beta 1, where the ivy file is downloaded to the cache). Then it moves the temporary file to the final location in the cache, and this is what seems to be failing for your user. Cleaning the cache should fix the problem, if it happens frequently you should try to investigate the issue. Maybe it is due to the use of the same cache by multiple processes concurrently. This use case is supported only with 2.0 beta 1, with the repository cache locking to avoid such
concurrency issues.

As i mentioned above our version is 2.1.0, but we still have this issue

I also saw the same problem reported before, but there was no answer
http://www.mail-archive.com/ivy-u...@ant.apache.org/msg03152.html

Thanks,
Eugene













Reply via email to