Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.4.0
-
None
-
Debian Linux (Wheezy)
Oracle Java 1.7.0+update45,
ivy_2.4.0.alpha_20131214174343.jar downloaded from https://builds.apache.org/job/Ivy/446/
Description
When trying to use artifact-lock-nio as the lock strategy, I get resolve errors due to OverlappingFileLockException being thrown:
[ivy:resolve] WARN: :: org.hamcrest#hamcrest-core;1.1: java.nio.channels.OverlappingFileLockException at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255) [ivy:resolve] WARN: :: org.glassfish#javax.ejb;3.1: java.nio.channels.OverlappingFileLockException at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255) [ivy:resolve] WARN: :: org.jboss.weld.se#weld-se-core;1.1.10.Final: java.nio.channels.OverlappingFileLockException at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
The reason is probably related to our use of the <parallel> and <antcallback> tasks. The documentation of the antcallback task is here: http://ant-contrib.sourceforge.net/tasks/tasks/antcallback_task.html
<parallel threadcount="${tests.maxThreads}"> <antcallback target="testsomething" return="tests.failed"/> <antcallback target="testsomeother" return="tests.failed"/> <antcallback target="testsomemore" return="tests.failed"/> </parallel>
All the testxxx targets perform a resolve before running some junit tests in a separate vm. These resolve calls appear to cause the OverlappingFileLockException.