[ 
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)

Reply via email to