On Jan 11, 2009, at 6:45 PM, Jason Sankey wrote:

Hi Helmut,

My response is inline below.

Helmut Denk wrote:
this may be a known issue ... its not critical IMO
because it can be overcome by simply repeating the command.

Personally, I would consider a sporadic failure serious -- it mean you lose confidence in the build, and can start ignoring real errors. This is most problematic when using an automated build.

I agree.



running gradle 0.5.2 under xp i get sporadic errors like this:
<snip>
Exception in thread "main" java.io.IOException: Zugriff verweigert
at org.codehaus.groovy.ant.Groovyc.createTempDir(Groovyc.java:759)
       at
org.codehaus.groovy.ant.Groovyc.evalCompilerFlags(Groovyc.java:812)
       at org.codehaus.groovy.ant.Groovyc.main(Groovyc.java:831)
Caused by: java.io.IOException: Zugriff verweigert
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
       at java.io.File.checkAndCreate(File.java:1345)
       at java.io.File.createTempFile(File.java:1434)
       at java.io.File.createTempFile(File.java:1471)
at org.codehaus.groovy.ant.Groovyc.createTempDir(Groovyc.java:755)
       ... 2 more
<snip>

This exception indicates the problem is at a lower level, the the JVM's File.createTempFile method. Unfortunately in many JVM versions this method is unreliable on Windows, where it will occasionally fail with "Access Denied" messages (which I understand is "Zugriff verweigert" in German). This has been reported as a JVM bug some time ago:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6325169

but not fixed.

Even though this is not Gradle's fault, though, I think it is serious enough to work around. A simple workaround that has worked for us in our own project is to get the system temporary directory (from java.io.tmpdir), generate our own random file names and retry on a clash with an existing file.

Right now we are delegating to the Groovyc task shipped with Groovy. It would be interesting to know, if this problem is fixed in a newer version of Groovy.

Thanks a lot for illuminating this bug.

- Hans



Cheers,
Jason

--
Pulse - Continuous Integration made easy.
Does your project have a pulse?
Try it free at: http://zutubi.com

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

  http://xircles.codehaus.org/manage_email



--
Hans Dockter
Gradle Project lead
http://www.gradle.org





---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to