i use idea and gradle to build my project, it work good when my lib is 2.12.X, when i upgrade the lib to 2.13,it get a error, but it dos not figur out what code was wrong, to figure out the error, i suggess gradle dos not display all the error, so i download the sbt, and build it, but it success build the code..
Task ':search-core:compileScala' is not up-to-date because:
Task has failed previously.
Zinc is doing a full recompile since the analysis file doesn't exist
Starting process 'Gradle Worker Daemon 8'. Working directory: D:\app\gradle\repository\workers Command: D:\Program Files\Java\jdk-11\bin\java.exe @C:\Users\petzold\AppData\Local\Temp\gradle-worker-classpath8960720827551663030txt -Xmx512m -Dfile.encoding=GBK -Duser.country=CN -Duser.language=zh -Duser.variant worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Worker Daemon 8'
Successfully started process 'Gradle Worker Daemon 8'
Started Gradle worker daemon (0.532 secs) with fork options DaemonForkOptions{executable=D:\Program Files\Java\jdk-11\bin\java.exe, minHeapSize=null, maxHeapSize=null, jvmArgs=[], classpath=[D:\app\gradle\repository\caches\modules-2\files-2.1\com.typesafe.zinc\zinc\0.3.15\12e1f782684f2702e847faa0994eed4711270687\zinc-0.3.15.jar, D:\app\gradle\repository\caches\modules-2\files-2.1\com.typesafe.sbt\incremental-compiler\0.13.15\95e20d00b25a7aae19838009c11578b7e6b258ad\incremental-compiler-0.13.15.jar, D:\app\gradle\repository\caches\modules-2\files-2.1\com.typesafe.sbt\compiler-interface\0.13.15\bad996ed4fc3e83b872525e9cd7b80d81b98a324\compiler-interface-0.13.15-sources.jar, D:\app\gradle\repository\caches\modules-2\files-2.1\org.scala-lang\scala-compiler\2.10.6\9b15174852f5b6bb1edbf303d5722286a0a54011\scala-compiler-2.10.6.jar, D:\app\gradle\repository\caches\modules-2\files-2.1\com.typesafe.sbt\sbt-interface\0.13.15\93fe450d5f5efb111397a34bc1fba0d50368a265\sbt-interface-0.13.15.jar, D:\app\gradle\repository\caches\modules-2\files-2.1\org.scala-lang\scala-reflect\2.10.6\3259f3df0f166f017ef5b2d385445808398c316c\scala-reflect-2.10.6.jar, D:\app\gradle\repository\caches\modules-2\files-2.1\org.scala-lang\scala-library\2.10.6\421989aa8f95a05a4f894630aad96b8c7b828732\scala-library-2.10.6.jar], keepAliveMode=SESSION}.
Compiling with Zinc Scala compiler.
'compiler-interface-2.13.0-55.0.jar' not yet compiled for Scala 2.13.0. Compiling...
C:\Users\petzold\AppData\Local\Temp\sbt_76a43d36\xsbt\Compat.scala:152: error: postfix operator headOption needs to be enabled
by making the implicit value scala.language.postfixOps visible.
This can be achieved by adding the import clause 'import scala.language.postfixOps'
or by setting the compiler option -language:postfixOps.
See the Scaladoc for value scala.language.postfixOps for a discussion
why the feature needs to be explicitly enabled.
} headOption
^
one error found
Task :search-core:compileScala FAILED
:search-core:compileScala (Thread[Execution worker for ':' Thread 3,5,main]) completed. Took 6.33 secs.
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':search-core:compileScala'.
org.gradle.internal.serialize.PlaceholderException (no error message)
Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 6s
it dos not print any useful infomation to figure the problem
when i use sbt
sbt:nx-search> compile
[info] Compiling 39 Scala sources to C:\Users\petzold\IdeaProjects\nx-search\search-core\target\scala-2.13classes ...
[warn] there were four deprecation warnings (since 2.13.0); re-run with -deprecation for details
[warn] one warning found
[info] Done compiling.
[success] Total time: 6 s, completed 2019年7月3日 下午2:22:32
when build fail, tell me which code cause the problem
Build scan URL:
when i upgrade to gradle 5.5, both scala 2.12.8 and 2.13.0 are compile fail
to figureout where my code cause the issure, i comment the code, when i comment all the code then compile, it still compile error
i don't know what happed, when i use the gradle 5.4.1, both 2.12.8 and 2.13.0 build fail, my project can't build any more, but it compile success on 5.4.1 and 2.12.8, even though i add flowing config.
compileScala {
targetCompatibility = 1.8
//scalaCompileOptions.optimize = true
scalaCompileOptions.additionalParameters = ['-language:postfixOps']
}
PS C:\Users\petzold\IdeaProjects\nx-search\search-core> gradle clean jar
Task :search-core:compileScala
C:\Users\petzold\AppData\Local\Temp\sbt_52f8b94c\xsbt\Compat.scala:152: error: postfix operator headOption needs to be enabled
by making the implicit value scala.language.postfixOps visible.
This can be achieved by adding the import clause 'import scala.language.postfixOps'
or by setting the compiler option -language:postfixOps.
See the Scaladoc for value scala.language.postfixOps for a discussion
why the feature needs to be explicitly enabled.
} headOption
^
one error found
Task :search-core:compileScala FAILED
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':search-core:compileScala'.
org.gradle.internal.serialize.PlaceholderException (no error message)
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 7s
what can i do for it?
when i build on jenkins it passed. i build on other linux it passed too.
i build on other window it failed too
I'm encountering the exact same issue, with Gradle 4.6, resolved by using 2.12 instead of 2.13.
i've same problem
I'm encountering the same issue, Gradle 5.5.1, Scala 2.13
I am experiencing the same issue.
Scala 2.13 compilation fails on Windows (using Gradle 5.5.1). Works fine in Linux and OSX on same versions (Scala 2.13 and Gradle 5.5.1).
I'm experiencing the same when running on Windows 10[.0.18362.295] and Gradle 5.4.1 with a wrapper. Running the same exact project (on the same exact files) from within WSL (Ubuntu) is working fine.
A wild guess here, but perhaps this is related to this change in Scala. In the PR, someone is experiencing the same exact error, and is being replied that they are using SBT 0.13.
The thing is, I believe Gradle is using the same SBT version, as can be indicated by this issue. I believe Gradle is using the old typesafehub/zinc project which is no longer supported and uses SBT 0.13, as mentioned in the current Zinc project's history and current status.
@jvican You might know something about this?
having the same issue. (Gradle 5.6.1, Scala 2.13.0, Win 10.) google leads me here. is this being resolved?
I had encountered this same problem,
Any workaround here?
Same for me
It's is a blocker for us as well (Scala 2.13).
I'm experiencing the same when running on Windows 10[.0.18362.295] and Gradle 5.4.1 with a wrapper. Running the same exact project (on the same exact files) from within WSL (Ubuntu) is working fine.
A wild guess here, but perhaps this is related to this change in Scala. In the PR, someone is experiencing the same exact error, and is being replied that they are using SBT 0.13.
The thing is, I believe Gradle is using the same SBT version, as can be indicated by this issue. I believe Gradle is using the old typesafehub/zinc project which is no longer supported and uses SBT 0.13, as mentioned in the current Zinc project's history and current status.
@jvican You might know something about this?
My suspicion was correct. In the aforementioned PR, it is mentioned that SBT 0.13.x won't work with Scala 2.13.0-M4+, but that it should work with SBT 0.13.18.
Unfortunately, the latest available com.typesafe.zinc version is 0.13.15. What I did was to try and build it locally with version 0.13.18, which also required to first re-publish internal SBT packages for 0.13.18. Upon building zinc 0.13.18 locally and configuring my Gradle build to work with that version as so:
dependencies {
zinc group: 'com.typesafe.zinc', name: 'zinc', version: '0.3.18'
zinc group: 'org.scala-lang', name: 'scala-library', version: '2.10.5'
}
I was able to compile my project with Scala 2.13.
I don't know if this solution is good enough. I can't tell if my locally created zinc 0.13.18 is actually working properly, as all I did was to bump the version in a few configuration files. Furthermore, there may very well be other changes in Scala 2.13 that are not compatible with SBT 0.13.x.
I'm not sure how come Scala 2.13 actually compiles with Gradle on unix / WSL environments; perhaps it's a dependency / cache thing.
I commented on the linked ticket that sbt needs a special check, but it looks like the check compares paths with forward slashes, so that might be the problem if it is windows-specific.
sbt 0.13 and the old typesafehub/zinc have ended public support in 2018.
There is Zinc library split out from sbt's code base and is used by sbt 1.x, Pants, Maven etc. There's also a nailgun wrapping of Zinc (similar to old Zinc), called Bloop that supports export from Gradle. I'd recommend finding a solution in either of the ways.
Following Som's idea I sent a PR to scala/scala here - https://github.com/scala/scala/pull/8408
Looks like it'll be fixed in Scala 2.13.1 which is planned to be released soon (was planned for end of last month). Thanks for the Scala team for working on this super quickly!
What we provided is a bandaid to get through 2.13, but there's no guarantee we can in the future, so my comment still stands about migrating away from EOLed typesafehub/zinc.
Could you try it out with 6.0 RC1 as soon as it is out?
See #2158 for details of what changed.
I should have been clearer: for Gradle 6.0, zinc is now the sbt/zinc and no longer the old one.
I tried it out on Windows x64 with Java 8 and Gradle 6.0-rc-1. I'm getting this error:
java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.platform.win32.Kernel32
sbt.internal.io.WinMilli$.getHandle(Milli.scala:264)
sbt.internal.io.WinMilli$.getModifiedTimeNative(Milli.scala:289)
sbt.internal.io.WinMilli$.getModifiedTimeNative(Milli.scala:260)
sbt.internal.io.MilliNative.getModifiedTime(Milli.scala:61)
sbt.internal.io.Milli$.getModifiedTime(Milli.scala:360)
sbt.io.IO$.$anonfun$getModifiedTimeOrZero$1(IO.scala:1373)
scala.runtime.java8.JFunction0$mcJ$sp.apply(JFunction0$mcJ$sp.java:23)
sbt.internal.io.Retry$.liftedTree2$1(Retry.scala:38)
sbt.internal.io.Retry$.impl$1(Retry.scala:38)
sbt.internal.io.Retry$.apply(Retry.scala:52)
sbt.internal.io.Retry$.apply(Retry.scala:24)
sbt.io.IO$.getModifiedTimeOrZero(IO.scala:1373)
sbt.internal.inc.caching.ClasspathCache$.fromCacheOrHash$1(ClasspathCache.scala:44)
sbt.internal.inc.caching.ClasspathCache$.$anonfun$hashClasspath$1(ClasspathCache.scala:53)
scala.collection.parallel.mutable.ParArray$Map.leaf(ParArray.scala:659)
scala.collection.parallel.Task.$anonfun$tryLeaf$1(Tasks.scala:53)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
scala.util.control.Breaks$$anon$1.catchBreak(Breaks.scala:67)
scala.collection.parallel.Task.tryLeaf(Tasks.scala:56)
scala.collection.parallel.Task.tryLeaf$(Tasks.scala:50)
scala.collection.parallel.mutable.ParArray$Map.tryLeaf(ParArray.scala:650)
scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.internal(Tasks.scala:160)
scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.internal$(Tasks.scala:157)
scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.internal(Tasks.scala:440)
scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute(Tasks.scala:150)
scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute$(Tasks.scala:149)
scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.compute(Tasks.scala:440)
java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
@SimY4 This seem to happen with Scala 2.12 as well, so perhaps #2158 is more appropriate for this.
@eyalroth @SimY4 do either of you have a sample project that fails on Windows?
@big-guy Mine is at https://github.com/eyalroth/java-scala-gradle-project/tree/gradle-6.0 (make sure to use the Gradle 6 branch)
Also note that I have reported the full errors in #2158.
@big-guy This is mine https://github.com/SimY4/xpath-to-xml/tree/master/xpath-to-xml-scala
@eyalroth WRT https://github.com/gradle/gradle/issues/2158#issuecomment-544143722 - This is trying to point out a problem in the build. You're trying to run Zinc with Scala 2.13 and the version of Zinc that Gradle can use requires Scala 2.12 (to _run_, it can compile 2.10-2.13).
@big-guy How do you mean? I am merely adding the 2.13 scala-library
as a dependency to all of my Scala modules; otherwise, they wouldn't compile at all. There is no Zinc-specific configuration in my build.
Edit: I'm looking at this code and its corresponding test and I'm not quite sure I understand its purpose. Users are expected to declare scala-library
dependencies of varying Scala versions (>2.9). The scala-library
doesn't necessarily need to match the "default Zinc version" (2.12); that is, as long as the Zinc 2.12 version can compile any Scala source-code (>2.9).
Edit2: I'm now seeing that the aforementioned code was introduced following #11038, in order to prevent enforcement of an incompatible scala-library
version on the _zinc_ configuration set. It appears that using Spring's dependency management plugin -- which is very useful -- will force the dependency version on the _zinc_ configuration set as well.
If it's possible to make the _zinc_ configuration set completely hidden and encapsulated, that would probably be the best; .setVisible(false)
seems to not be enough. Otherwise, how about simply making the Scala plugin "have the final word in the matter" and force the dependency version regardless?
@eyalroth @SimY4 Thanks for your sample projects, but I haven't been able to reproduce the failure locally. Is it possible there is something else that's different/special about your configuration? Does the build fail only _sometimes_?
Can you see if this temporarily fixes the problem?
tasks.withType(ScalaCompile) {
scalaCompileOptions.forkOptions.jvmArgs << '-Dsbt.io.jdktimestamps=true'
}
I have found a couple of other issues. For @SimY4 specifically, it looks like how we're using the new Zinc compiler isn't quite right and it doesn't work with Scala 2.13.1. Can you try your build with 2.13.0?
@eyalroth We have some other ways to declare dependencies with more context, but the way the dependency management plugin forces particular versions overrides everything. You might be able to use a "platform" instead of Spring's dependency management plugin to enforce versions.
@big-guy it's failing constantly for me. I'm on the latest Windows 10 running latest jdk-8.0.232.
I changed scala version back to 2.13.0 and added scalaCompileOptions.forkOptions.jvmArgs << '-Dsbt.io.jdktimestamps=true'
. After adding these options I'm getting this error now (Feature-Branch):
## Exception when compiling 1 sources to C:\Users\alexs\Projects\xpath-to-xml\xpath-to-xml-scala\build-2.13\classes\scala\compat
java.lang.UnsatisfiedLinkError: Could not load library. Reasons: [no jansi in java.library.path, Access is denied]
org.fusesource.hawtjni.runtime.Library.doLoad(Library.java:182)
org.fusesource.hawtjni.runtime.Library.load(Library.java:140)
org.fusesource.jansi.internal.CLibrary.<clinit>(CLibrary.java:42)
org.fusesource.jansi.AnsiConsole.wrapOutputStream(AnsiConsole.java:48)
org.fusesource.jansi.AnsiConsole.<clinit>(AnsiConsole.java:38)
jline.AnsiWindowsTerminal.detectAnsiSupport(AnsiWindowsTerminal.java:57)
jline.AnsiWindowsTerminal.<init>(AnsiWindowsTerminal.java:27)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
java.lang.Class.newInstance(Class.java:442)
jline.TerminalFactory.getFlavor(TerminalFactory.java:205)
jline.TerminalFactory.create(TerminalFactory.java:96)
jline.TerminalFactory.get(TerminalFactory.java:180)
jline.TerminalFactory.get(TerminalFactory.java:186)
sbt.internal.util.ConsoleAppender$.ansiSupported(ConsoleAppender.scala:292)
sbt.internal.util.ConsoleAppender$.useColorDefault$1(ConsoleAppender.scala:127)
sbt.internal.util.ConsoleAppender$.$anonfun$formatEnabledInEnv$4(ConsoleAppender.scala:143)
scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:23)
scala.Option.getOrElse(Option.scala:138)
sbt.internal.util.ConsoleAppender$.<init>(ConsoleAppender.scala:143)
sbt.internal.util.ConsoleAppender$.<clinit>(ConsoleAppender.scala)
sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:150)
sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:343)
sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:343)
sbt.internal.inc.Incremental$.doCompile(Incremental.scala:120)
sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:100)
sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:180)
sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:98)
sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:102)
sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:155)
sbt.internal.inc.Incremental$.compile(Incremental.scala:92)
sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:75)
sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:348)
sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:301)
sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:168)
sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:248)
sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:74)
org.gradle.api.internal.tasks.scala.ZincScalaCompiler.execute(ZincScalaCompiler.java:158)
org.gradle.api.internal.tasks.scala.ZincScalaCompilerFacade.execute(ZincScalaCompilerFacade.java:38)
org.gradle.api.internal.tasks.scala.ZincScalaCompilerFacade.execute(ZincScalaCompilerFacade.java:26)
org.gradle.api.internal.tasks.compile.daemon.AbstractDaemonCompiler$CompilerWorkAction.execute(AbstractDaemonCompiler.java:113)
org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:50)
org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:47)
org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:37)
org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98)
org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:37)
org.gradle.workers.internal.IsolatedClassloaderWorker.execute(IsolatedClassloaderWorker.java:49)
org.gradle.workers.internal.WorkerDaemonServer.execute(WorkerDaemonServer.java:84)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.gradle.process.internal.worker.request.WorkerAction$1.call(WorkerAction.java:129)
org.gradle.process.internal.worker.child.WorkerLogEventListener.withWorkerLoggingProtocol(WorkerLogEventListener.java:41)
org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:126)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412)
org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
java.lang.Thread.run(Thread.java:748)
Thanks @SimY4 - I'll try again with a newer Windows 10.
Could you also try adding -Dsbt.log.noformat=true
and see if that gets you further?
@big-guy I'm getting new error:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':xpath-to-xml-scala_2.12:compileCompatScala'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:187)
at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:185)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:166)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:374)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:361)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:354)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:340)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: org.gradle.api.UncheckedIOException: java.io.IOException: Access is denied
at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:61)
at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:41)
at org.gradle.api.internal.tasks.compile.daemon.AbstractDaemonCompiler.execute(AbstractDaemonCompiler.java:62)
at org.gradle.api.internal.tasks.scala.NormalizingScalaCompiler.delegateAndHandleErrors(NormalizingScalaCompiler.java:102)
at org.gradle.api.internal.tasks.scala.NormalizingScalaCompiler.execute(NormalizingScalaCompiler.java:53)
at org.gradle.api.internal.tasks.scala.NormalizingScalaCompiler.execute(NormalizingScalaCompiler.java:38)
at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:53)
at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:32)
at org.gradle.language.scala.tasks.AbstractScalaCompile.compile(AbstractScalaCompile.java:105)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:49)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:721)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:688)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:539)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:524)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:507)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:109)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:258)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:247)
at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:33)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:63)
at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:153)
at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:67)
at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:41)
at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:174)
... 30 more
Caused by: java.io.IOException: Access is denied
at sbt.internal.inc.FileAnalysisStore$BinaryFileStore.set(FileAnalysisStore.scala:83)
at sbt.internal.inc.AnalysisStore$SyncedAnalysisStore.set(AnalysisStore.scala:43)
at sbt.internal.inc.AnalysisStore$CachedAnalysisStore.set(AnalysisStore.scala:31)
at org.gradle.api.internal.tasks.scala.ZincScalaCompiler.execute(ZincScalaCompiler.java:160)
at org.gradle.api.internal.tasks.scala.ZincScalaCompilerFacade.execute(ZincScalaCompilerFacade.java:38)
at org.gradle.api.internal.tasks.scala.ZincScalaCompilerFacade.execute(ZincScalaCompilerFacade.java:26)
at org.gradle.api.internal.tasks.compile.daemon.AbstractDaemonCompiler$CompilerWorkAction.execute(AbstractDaemonCompiler.java:113)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:50)
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:47)
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:37)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98)
at org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:37)
at org.gradle.workers.internal.IsolatedClassloaderWorker.execute(IsolatedClassloaderWorker.java:49)
at org.gradle.workers.internal.WorkerDaemonServer.execute(WorkerDaemonServer.java:84)
at org.gradle.process.internal.worker.request.WorkerAction$1.call(WorkerAction.java:129)
at org.gradle.process.internal.worker.child.WorkerLogEventListener.withWorkerLoggingProtocol(WorkerLogEventListener.java:41)
at org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:126)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412)
... 3 more
Oh, very strange. This all seems to be circling around some kind of problem with writing files into a temp directory.
@SimY4 Could you humor me one more time... please put this in your root build.gradle:
import org.gradle.workers.WorkParameters.None
import javax.inject.Inject
abstract class CheckTempDirAction implements WorkAction<None> {
@Override
void execute() {
def someFile = File.createTempFile("foo", ".tmp")
someFile.text = "write something into it"
println "$someFile has contents: " + someFile.text
}
}
abstract class CheckTempDir extends DefaultTask {
@Inject abstract WorkerExecutor getWorkerExecutor()
@TaskAction
void check() {
final WorkQueue workQueue
if (name.endsWith("Worker")) {
workQueue = workerExecutor.processIsolation()
} else {
workQueue = workerExecutor.noIsolation()
}
workQueue.submit(CheckTempDirAction) {}
}
}
task checkTempDirWorker(type: CheckTempDir)
task checkTempDirInProcess(type: CheckTempDir)
task checkTempDir {
dependsOn tasks.withType(CheckTempDir)
}
And run gradle checkTempDir
in the same way you've been trying to compile. This should run two tasks, one that tries to write to a temp file in the Gradle process and one that tries to write to a temp file in a worker process (like the compiler). Does this work for you?
@big-guy I'm getting similar access denied error. I can see temporary files being created in Temp folder but error is still being raised.
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':checkTempDirWorker'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:187)
at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:185)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:166)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:374)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:361)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:354)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:340)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing CheckTempDirAction
at org.gradle.workers.internal.DefaultWorkerExecutor$WorkItemExecution.waitForCompletion(DefaultWorkerExecutor.java:377)
at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:142)
at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:94)
at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForAll(DefaultAsyncWorkTracker.java:80)
at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForCompletion(DefaultAsyncWorkTracker.java:68)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:547)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:524)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:507)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:109)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:258)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:247)
at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:33)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:63)
at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:153)
at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:67)
at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:41)
at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:174)
... 30 more
Caused by: java.io.IOException: Access is denied
at java_io_File$createTempFile.call(Unknown Source)
at CheckTempDirAction.execute(C:\Users\alexs\Projects\xpath-to-xml\build.gradle:112)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:50)
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:47)
at org.gradle.workers.internal.AbstractClassLoaderWorker$1.create(AbstractClassLoaderWorker.java:37)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98)
at org.gradle.workers.internal.AbstractClassLoaderWorker.executeInClassLoader(AbstractClassLoaderWorker.java:37)
at org.gradle.workers.internal.IsolatedClassloaderWorker.execute(IsolatedClassloaderWorker.java:49)
at org.gradle.workers.internal.WorkerDaemonServer.execute(WorkerDaemonServer.java:84)
at org.gradle.process.internal.worker.request.WorkerAction$1.call(WorkerAction.java:129)
at org.gradle.process.internal.worker.child.WorkerLogEventListener.withWorkerLoggingProtocol(WorkerLogEventListener.java:41)
at org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:126)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:412)
... 3 more
@SimY4 Thanks, that narrows things down a bit. There's something unusual about permissions or location of the temp directory that the Scala compiler (and in turn, Gradle) is trying to use.
Do both checkTempDirWorker
and checkTempDirInProcess
fail?
Could you add println System.properties['java.io.tmpdir']
to CheckTempDirAction
before the temporary file is created and see if that looks like a reasonable path?
Could you try setting your TEMP env var to some other path temporarily to see if that changes anything?
Thanks again!
@eyalroth could you try this too? https://github.com/gradle/gradle/issues/9857#issuecomment-546381597
@big-guy checkTempDirInProcess succeeding and checkTempDirWorker is failing.
printing out tmpdir gives me this:
> Task :checkTempDirInProcess
C:\Users\alexs\AppData\Local\Temp\
C:\Users\alexs\AppData\Local\Temp\foo6110080522203280371.tmp has contents: write something into it
> Task :checkTempDirWorker FAILED
C:\WINDOWS\
@big-guy
@eyalroth could you try this too? #9857 (comment)
I'm getting the same results as @SimY4. I've also added the following lines to the action:
println System.getenv('TMP')
println System.properties['java.io.tmpdir']
println System.properties['user.name']
And the results were:
> gradlew.bat checkTempDirWorker
> Task :checkTempDirWorker
null
C:\WINDOWS\
eyal
BUILD FAILED in 5s
> gradlew.bat checkTempDirInProcess
> Task :checkTempDirInProcess
C:\Users\eyal\AppData\Local\Temp
C:\Users\eyal\AppData\Local\Temp\
eyal
BUILD SUCCESSFUL in 5s
Looks like the worker is running without environment variables, so TMP
is missing, which causes the temp dir to be directed to C:\Windows
, which is clearly wrong.
I tried setting the TMP
_system_ (not user) environment variable, setting java.io.tmpdir
via JAVA_OPTIONS
, _JAVA_OPTIONS
and JAVA_TOOL_OPTIONS
, but nothing seems to change the temp directory location.
@eyalroth We have some other ways to declare dependencies with more context, but the way the dependency management plugin forces particular versions overrides everything. You might be able to use a "platform" instead of Spring's dependency management plugin to enforce versions.
I guess the java-platform
plugin is the way to go. Funny thing though, it seems that the scoverage plugin is incompatible with it, as it applies itself to all sub-modules in a multi-module project -- including the platform module -- which causes an incompatibility error.
Luckily, I'm one of the scoverage plugin's maintainers, so I'll work on that.
@eyalroth hrm. would you mind trying the same checkTempDir tasks with Gradle 5.6? I'm trying to narrow down when this broke/changed.
It seems to be expected that the env variables are not passed to the worker if it's not explicitly defined. Although in this case it should probably be always passed explicitly by Gradle by default.
For now, @eyalroth and @SimY4, does the following work for you:
tasks.withType(ScalaCompile) {
scalaCompileOptions.forkOptions.jvmArgs << "-Djava.io.tmpdir=${System.getProperty('java.io.tmpdir')}".toString()
}
@SimY4 @eyalroth could you give 6.0-20191030012117+0000
a try?
@big-guy worked for me for scala versions: 2.11, 2.12 and 2.13.
@big-guy Build works, but note that the checkTempDirWorker
task behaves the same. It behaves this way in 5.6 as well. Was this when the worker feature introduced?
@jjohannes That worked as well.
Thank you both for confirming!
That the checkTempDirWorker
is still behaving as before is expected. The general worker API already exists for longer and by default the environment is not passed to the worker automatically.
However, in the case of the Scala compiler the environment was preserved. Somehow this was changed (unintentionally) but this is now fixed (https://github.com/gradle/gradle/commit/dd8f4906cf5025a4f44787ebd415e380e153204c).
Most helpful comment
I am experiencing the same issue.
Scala 2.13 compilation fails on Windows (using Gradle 5.5.1). Works fine in Linux and OSX on same versions (Scala 2.13 and Gradle 5.5.1).