[ https://issues.apache.org/jira/browse/IVY-1388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14184371#comment-14184371 ]
Anurag Sharma edited comment on IVY-1388 at 10/26/14 3:02 AM: -------------------------------------------------------------- I am also facing the same issue. Here is the detailed log when running in verbose mode(ant compile -verbose) {code} Overriding previous definition of property "ivy.version" [ivy:retrieve] no resolved descriptor found: launching default resolve Overriding previous definition of property "ivy.version" [ivy:retrieve] using ivy parser to parse file:/C:/work/trunk/solr/example/ivy.xml [ivy:retrieve] :: resolving dependencies :: org.apache.solr#example;working@dev-pc [ivy:retrieve] confs: [logging] [ivy:retrieve] validate = true [ivy:retrieve] refresh = false [ivy:retrieve] resolving dependencies for configuration 'logging' [ivy:retrieve] == resolving dependencies for org.apache.solr#example;working@dev-pc [logging] [ivy:retrieve] == resolving dependencies org.apache.solr#example;working@dev-pc->log4j#log4j;1.2.17 [logging->master] [ivy:retrieve] default: Checking cache for: dependency: log4j#log4j;1.2.17 {logging=[master]} [ivy:retrieve] don't use cache for log4j#log4j;1.2.17: checkModified=true [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\local\log4j\log4j\1.2.17\ivys\ivy.xml [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\local\log4j\log4j\1.2.17\jars\log4j.jar [ivy:retrieve] local: no ivy file nor artifact found for log4j#log4j;1.2.17 [ivy:retrieve] main: Checking cache for: dependency: log4j#log4j;1.2.17 {logging=[master]} [ivy:retrieve] main: module revision found in cache: log4j#log4j;1.2.17 [ivy:retrieve] found log4j#log4j;1.2.17 in public [ivy:retrieve] == resolving dependencies org.apache.solr#example;working@dev-pc->org.slf4j#slf4j-api;1.7.6 [logging->master] [ivy:retrieve] default: Checking cache for: dependency: org.slf4j#slf4j-api;1.7.6 {logging=[master]} [ivy:retrieve] don't use cache for org.slf4j#slf4j-api;1.7.6: checkModified=true [ivy:retrieve] ERROR: impossible to acquire lock for org.slf4j#slf4j-api;1.7.6 [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\local\org.slf4j\slf4j-api\1.7.6\ivys\ivy.xml [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\local\org.slf4j\slf4j-api\1.7.6\jars\slf4j-api.jar [ivy:retrieve] local: no ivy file nor artifact found for org.slf4j#slf4j-api;1.7.6 [ivy:retrieve] main: Checking cache for: dependency: org.slf4j#slf4j-api;1.7.6 {logging=[master]} [ivy:retrieve] ERROR: impossible to acquire lock for org.slf4j#slf4j-api;1.7.6 [ivy:retrieve] ERROR: impossible to acquire lock for org.slf4j#slf4j-api;1.7.6 [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\shared\org.slf4j\slf4j-api\1.7.6\ivys\ivy.xml [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\shared\org.slf4j\slf4j-api\1.7.6\jars\slf4j-api.jar [ivy:retrieve] shared: no ivy file nor artifact found for org.slf4j#slf4j-api;1.7.6 {code} "ant clean" also doesn't make a difference but deleting the directory ".ivy\cache\org.slf4j\slf4j-api" resolves compilation. was (Author: anuragsharma): I am also facing the same issue. Here is detailed when running in verbose mode(ant compile -verbose) {code} Overriding previous definition of property "ivy.version" [ivy:retrieve] no resolved descriptor found: launching default resolve Overriding previous definition of property "ivy.version" [ivy:retrieve] using ivy parser to parse file:/C:/work/trunk/solr/example/ivy.xml [ivy:retrieve] :: resolving dependencies :: org.apache.solr#example;working@dev-pc [ivy:retrieve] confs: [logging] [ivy:retrieve] validate = true [ivy:retrieve] refresh = false [ivy:retrieve] resolving dependencies for configuration 'logging' [ivy:retrieve] == resolving dependencies for org.apache.solr#example;working@dev-pc [logging] [ivy:retrieve] == resolving dependencies org.apache.solr#example;working@dev-pc->log4j#log4j;1.2.17 [logging->master] [ivy:retrieve] default: Checking cache for: dependency: log4j#log4j;1.2.17 {logging=[master]} [ivy:retrieve] don't use cache for log4j#log4j;1.2.17: checkModified=true [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\local\log4j\log4j\1.2.17\ivys\ivy.xml [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\local\log4j\log4j\1.2.17\jars\log4j.jar [ivy:retrieve] local: no ivy file nor artifact found for log4j#log4j;1.2.17 [ivy:retrieve] main: Checking cache for: dependency: log4j#log4j;1.2.17 {logging=[master]} [ivy:retrieve] main: module revision found in cache: log4j#log4j;1.2.17 [ivy:retrieve] found log4j#log4j;1.2.17 in public [ivy:retrieve] == resolving dependencies org.apache.solr#example;working@dev-pc->org.slf4j#slf4j-api;1.7.6 [logging->master] [ivy:retrieve] default: Checking cache for: dependency: org.slf4j#slf4j-api;1.7.6 {logging=[master]} [ivy:retrieve] don't use cache for org.slf4j#slf4j-api;1.7.6: checkModified=true [ivy:retrieve] ERROR: impossible to acquire lock for org.slf4j#slf4j-api;1.7.6 [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\local\org.slf4j\slf4j-api\1.7.6\ivys\ivy.xml [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\local\org.slf4j\slf4j-api\1.7.6\jars\slf4j-api.jar [ivy:retrieve] local: no ivy file nor artifact found for org.slf4j#slf4j-api;1.7.6 [ivy:retrieve] main: Checking cache for: dependency: org.slf4j#slf4j-api;1.7.6 {logging=[master]} [ivy:retrieve] ERROR: impossible to acquire lock for org.slf4j#slf4j-api;1.7.6 [ivy:retrieve] ERROR: impossible to acquire lock for org.slf4j#slf4j-api;1.7.6 [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\shared\org.slf4j\slf4j-api\1.7.6\ivys\ivy.xml [ivy:retrieve] tried C:\Users\user1.dev-pc\.ivy2\shared\org.slf4j\slf4j-api\1.7.6\jars\slf4j-api.jar [ivy:retrieve] shared: no ivy file nor artifact found for org.slf4j#slf4j-api;1.7.6 {code} "ant clean" also doesn't make a difference. Deleting the directory ".ivy\cache\org.slf4j\slf4j-api" resolves the issue. > *.lck files created by "artifact-lock" lock strategy are not cleaned up if > ivy quits abruptly > --------------------------------------------------------------------------------------------- > > Key: IVY-1388 > URL: https://issues.apache.org/jira/browse/IVY-1388 > Project: Ivy > Issue Type: Bug > Affects Versions: 2.2.0, 2.3.0-RC1, trunk > Reporter: Wei Chen > Assignee: Nicolas Lalevée > Fix For: 2.3.0 > > Attachments: FileBasedLockStrategy.java.patch, patch1.patch > > Original Estimate: 0.5m > Remaining Estimate: 0.5m > > We have a few build processes running in parallel, all of which share the > same ivy cache. In order not to run into any parallel downloading problems, > we enabled artifact-lock lock strategy. An annoying problem with the > artifact-lock strategy is that the *.lck files which are created as a lock > are not cleaned up if the build exits abruptly. For example, while ivy is > downloading a big jar, if you Ctrl-C to quit that build process. Those lock > files will remain in the metadatas folder. The same happens too if ivy > encounters some error and fails the build. > Those uncleaned lock files will cause problem when you start the build again. > The build process will hang while ivy waiting those "locks" to be released, > which will never happen automatically. So eventually the build will fail with > an ivy error "impossible to acquire lock for xxxyyyzzzz". What makes it worse > is that ivy doesn't fail-fast on the default 2 miuntes lock timeout, it seems > trying it a few times. In worst scenarios, we have seen the build hangs for > 12 minutes and then timeout'd and failed. > We believe this can be fixed by setting deleteOnExit() for the > FileBasedLockStrategy.java class. We have implemented the fix and it works > well. > Patch is provided, could anyone quickly apply this one line change? -- This message was sent by Atlassian JIRA (v6.3.4#6332)