You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Nathan Franzen <Na...@mmodal.com> on 2010/09/22 15:51:57 UTC

ivy hangs, file locking

I've just run into what seems to be the same problem discussed in February, http://mail-archives.apache.org/mod_mbox/ant-ivy-user/201002.mbox/%3C905884.90984.qm@web30804.mail.mud.yahoo.com%3E and following.    When I run a fresh resolve on a clean cache, everything proceeds smoothly, but when I run a second resolve, the ant process hangs.

Running with ant -d  -Divy.log.locking=true, I see
...
[ivy:retrieve] Thread[main,5,main] 1285162976298 file creation failed ......metadatas/metadata-.....ivy.lck
[ivy:retrieve] Thread[main,5,main] 1285162976400 file creation failed ......metadatas/metadata-.....ivy.lck
[ivy:retrieve] Thread[main,5,main] 1285162976503 file creation failed ......metadatas/metadata-.....ivy.lck
...

This is using the standard 2.2 rc1 release, I downloaded the latest nightly build and saw the same behavior.  One thing that's quite different is that I am using a customized pattern version matcher for this particular dependency

jstack tells me it's waiting at

"main" prio=10 tid=0x09966c00 nid=0x42c3 waiting on condition [0xf7fb8000..0xf7fb91f8]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.apache.ivy.plugins.lock.FileBasedLockStrategy.acquireLock(FileBasedLockStrategy.java:87)
        at org.apache.ivy.plugins.lock.ArtifactLockStrategy.lockArtifact(ArtifactLockStrategy.java:40)
        at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.lockMetadataArtifact(DefaultRepositoryCacheManager.java:1023)
        at org.apache.ivy.core.cache.DefaultRepositoryCacheManager.cacheModuleDescriptor(DefaultRepositoryCacheManager.java:883)
        at org.apache.ivy.plugins.resolver.BasicResolver.parse(BasicResolver.java:542)
        at org.apache.ivy.plugins.resolver.BasicResolver.getDependency(BasicResolver.java:263)
        at org.apache.ivy.plugins.resolver.ChainResolver.getDependency(ChainResolver.java:130)
        at org.apache.ivy.core.resolve.IvyNode.loadData(IvyNode.java:170)
        at org.apache.ivy.core.resolve.VisitNode.loadData(VisitNode.java:274)
        at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:671)
        at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:757)
        at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:679)
        at org.apache.ivy.core.resolve.ResolveEngine.doFetchDependencies(ResolveEngine.java:744)
        at org.apache.ivy.core.resolve.ResolveEngine.fetchDependencies(ResolveEngine.java:679)
        at org.apache.ivy.core.resolve.ResolveEngine.getDependencies(ResolveEngine.java:551)
        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:235)
        at org.apache.ivy.core.resolve.ResolveEngine.resolve(ResolveEngine.java:193)
        at org.apache.ivy.Ivy.resolve(Ivy.java:502)
        at org.apache.ivy.ant.IvyResolve.doExecute(IvyResolve.java:244)
        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)
        at org.apache.ivy.ant.IvyPostResolveTask.ensureResolved(IvyPostResolveTask.java:214)
        at org.apache.ivy.ant.IvyPostResolveTask.prepareAndCheck(IvyPostResolveTask.java:161)
        at org.apache.ivy.ant.IvyRetrieve.doExecute(IvyRetrieve.java:49)
        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:277)

Any thoughts, suggestions?


Nathan Franzen