Unable to get lock on cobertura.ser.lock when build is running from a NFS mount
-------------------------------------------------------------------------------
Key: MCOBERTURA-128
URL: http://jira.codehaus.org/browse/MCOBERTURA-128
Project: Maven 2.x Cobertura Plugin
Issue Type: Bug
Affects Versions: 2.4, 2.2
Environment: RHEL5 2.6.18-164.11.1.el5
NFS Mounted NetApp
Hudson 1.372
Maven 2
Reporter: Ryan Shelley
When running a Maven build where the source files exist on an NFS mounted
NetApp, Cobertura reports the following message (abridged path to lock file):
---------------------------------------
Unable to get lock on .../cobertura.ser.lock: null
This is known to happen on Linux kernel 2.6.20.
Make sure cobertura.jar is in the root classpath of the jvm
process running the instrumented code. If the instrumented code
is running in a web server, this means cobertura.jar should be in
the web server's lib directory.
Don't put multiple copies of cobertura.jar in different WEB-INF/lib directories.
Only one classloader should load cobertura. It should be the root classloader.
---------------------------------------
After researching, I found a case where Cobertura is attempting to create a
lock via NIO and failing due to the NFS mount. The work around is to apply the
system property "cobertura.use.java.nio" and set it to "false". I attempted to
set this property through the Cobertura Maven Plugin with:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.4</version>
<configuration>
<systemProperties>
<property>
<name>cobertura.use.java.nio</name>
<value>false</value>
</property>
</systemProperties>
</configuration>
</plugin>
however the property did not get passed on to Cobetura. Instead, I added it to
Surefire and it was passed in properly. This seems like something that I
should be able to pass into the Cobertura Maven Plugin, however, and not
through Surefire:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemProperties>
<property>
<name>cobertura.use.java.nio</name>
<value>false</value>
</property>
</systemProperties>
</configuration>
</plugin>
The thread that I came across that helped identify this was:
http://www.mail-archive.com/[email protected]/msg01649.html
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email