编辑Play / Activator程序时出现奇怪的虚假错误?

时间:2014-09-02 19:52:28

标签: scala playframework-2.0 sbt

我有一个large and moderately complex web application,使用标准的Typesafe Stack of Play,Scala和Akka。 (我正在添加scala.js,但这个问题早于此。)

几个月前,我升级到目前基于Activator的世界版本(落后于时代),而且这个版本大部分工作正常。但从那以后,当我尝试编译时,我经常会遇到一个奇怪的错误:

[Querki] $ compile
[trace] Stack trace suppressed: run last scalajvm/compile:compile for the full output.
[error] (scalajvm/compile:compile) java.io.FileNotFoundException: C:\Users\jducoeur\Documents\GitHub\Querki\querki\scalajvm\target\scala-2.11\classes.bak\sbt2595416303704565240.class (Access is denied)
[error] Total time: 3 s, completed Sep 2, 2014 3:26:43 PM

一旦它开始,它通常会一直重复,直到我进行干净的重新编译,所以它在tuchus中有点痛苦 - 系统的完全重新编译需要一段时间,而这通常发生在几个一天一次。 (OTOH,有时它会停止发生,显然无缘无故。)重新启动Activator似乎没有帮助。

任何人都知道这里发生了什么?据我所知,classes.bak文件夹在编译过程中暂时创建 - 我可以看到它出现,然后在编译完成后再次消失,无论它是否成功。在失败的编译开始之前,它确实存在 not 。似乎sbt正在创建处于损坏状态的临时文件夹,或类似的东西。

如果相关,则在Windows 7的盒子上运行;我使用的是sbt 0.13.5,scala 2.11.1和Activator 1.2.10。

ETA:同样可以想象,现在我想起来了 - 我也在为Windows运行GitHub。我之所以提到这一点,是因为它是一个基于Java的应用程序,它明确地执行某些事情来定期检查树的更改。 (它会不时地自动刷新;无论是扫描树是为了更改还是在听JNotify,我都不知道。)

ETA2:哈哈 - 终于记得在清洁之前打印完整的日志。这里是完整的堆栈追溯:我不知道该怎么做,但可能在某些事情上有人可以使用它:

[Querki] $ compile
[info] Compiling 1 Scala source to C:\Users\jducoeur\Documents\GitHub\Querki\querki\scalajs\target\scala-2.11\classes...
[info] Fast optimizing C:\Users\jducoeur\Documents\GitHub\Querki\querki\scalajvm\target\scala-2.11\classes\public\javascripts\querki-client-fastopt.js
[trace] Stack trace suppressed: run last scalajvm/compile:compile for the full output.
[error] (scalajvm/compile:compile) java.io.FileNotFoundException: C:\Users\jducoeur\Documents\GitHub\Querki\querki\scalajvm\target\scala-2.11\classes.bak\sbt1117112335838311075.class (Access is denied)
[error] Total time: 22 s, completed Sep 5, 2014 3:17:25 PM
[Querki] $ last scalajvm/compile:compile
scalajs/compile:compile
[debug]
[debug] Initial source changes:
[debug]         removed:Set()
[debug]         added: Set()
[debug]         modified: Set(C:\Users\jducoeur\Documents\GitHub\Querki\querki\scala\src\main\scala\qtexttest\LineParsers.scala)
[debug] Removed products: Set()
[debug] External API changes: API Changes: Set()
[debug] Modified binary dependencies: Set()
[debug] Initial directly invalidated sources: Set(C:\Users\jducoeur\Documents\GitHub\Querki\querki\scala\src\main\scala\qtexttest\LineParsers.scala)
[debug]
[debug] Sources indirectly invalidated by:
[debug]         product: Set()
[debug]         binary dep: Set()
[debug]         external source: Set()
[debug] All initially invalidated sources: Set(C:\Users\jducoeur\Documents\GitHub\Querki\querki\scala\src\main\scala\qtexttest\LineParsers.scala)
[info] Compiling 1 Scala source to C:\Users\jducoeur\Documents\GitHub\Querki\querki\scalajs\target\scala-2.11\classes...
[debug] Getting compiler-interface from component compiler for Scala 2.11.1
[debug] Getting compiler-interface from component compiler for Scala 2.11.1
[debug] Running cached compiler 1f1ebd37, interfacing (CompilerInterface) with Scala compiler version 2.11.1
[debug] Calling Scala compiler with arguments  (CompilerInterface):
[debug]         -Xplugin:C:\Users\jducoeur\.ivy2\cache\org.scala-lang.modules.scalajs\scalajs-compiler_2.11.1\jars\scalajs-compiler_2.11.1-0.5.4.jar
[debug]         -bootclasspath
[debug]         C:\Program Files\Java\jdk1.6.0_38\jre\lib\resources.jar;C:\Program Files\Java\jdk1.6.0_38\jre\lib\rt.jar;C:\Program Files\Java\jdk1.6.0_38\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.6.0_38\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.6.0_38\jre\lib\jce.jar;C:\Program Files\Java\jdk1.6.0_38\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.6.0_38\jre\lib\modules\jdk.boot.jar;C:\Program Files\Java\jdk1.6.0_38\jre\classes;C:\Users\jducoeur\.ivy2\cache\org.scala-lang\scala-library\jars\scala-library-2.11.1.jar
[debug]         -classpath
[debug]         C:\Users\jducoeur\Documents\GitHub\Querki\querki\scalajs\target\scala-2.11\classes;C:\Users\jducoeur\.ivy2\cache\org.scala-lang.modules.scalajs\scalajs-library_2.11\jars\scalajs-library_2.11-0.5.4.jar;C:\Users\jducoeur\.ivy2\cache\org.scala-lang.modules.scalajs\scalajs-dom_sjs0.5_2.11\jars\scalajs-dom_sjs0.5_2.11-0.6.jar;C:\Users\jducoeur\.ivy2\cache\org.scala-lang.modules.scalajs\scalajs-jquery_sjs0.5_2.11\jars\scalajs-jquery_sjs0.5_2.11-0.6.jar;C:\Users\jducoeur\.ivy2\cache\org.webjars\jquery\jars\jquery-1.10.2.jar
[debug] Scala compilation took 6.133828284 s
[debug] New invalidations:
[debug]         Set()
[debug] Initial set of included nodes: Set()
[debug] Previously invalidated, but (transitively) depend on new invalidations:
[debug]         Set()
[debug] All newly invalidated sources after taking into account (previously) recompiled sources:Set()
scalajvm/compile:compile
[debug]
[debug] Initial source changes:
[debug]         removed:Set()
[debug]         added: Set()
[debug]         modified: Set(C:\Users\jducoeur\Documents\GitHub\Querki\querki\scala\src\main\scala\qtexttest\LineParsers.scala, C:\Users\jducoeur\Documents\GitHub\Querki\querki\scalajvm\app\qtext\LineParsers.scala)
[debug] Removed products: Set()
[debug] External API changes: API Changes: Set()
[debug] Modified binary dependencies: Set()
[debug] Initial directly invalidated sources: Set(C:\Users\jducoeur\Documents\GitHub\Querki\querki\scala\src\main\scala\qtexttest\LineParsers.scala, C:\Users\jducoeur\Documents\GitHub\Querki\querki\scalajvm\app\qtext\LineParsers.scala)
[debug]
[debug] Sources indirectly invalidated by:
[debug]         product: Set()
[debug]         binary dep: Set()
[debug]         external source: Set()
[debug] All initially invalidated sources: Set(C:\Users\jducoeur\Documents\GitHub\Querki\querki\scala\src\main\scala\qtexttest\LineParsers.scala, C:\Users\jducoeur\Documents\GitHub\Querki\querki\scalajvm\app\qtext\LineParsers.scala)
java.io.FileNotFoundException: C:\Users\jducoeur\Documents\GitHub\Querki\querki\scalajvm\target\scala-2.11\classes.bak\sbt1117112335838311075.class (Access is denied)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:145)
        at sbt.Using$$anonfun$fileOutputChannel$1.apply(Using.scala:82)
        at sbt.Using$$anonfun$fileOutputChannel$1.apply(Using.scala:82)
        at sbt.Using$$anon$2.openImpl(Using.scala:72)
        at sbt.OpenFile$class.open(Using.scala:46)
        at sbt.Using$$anon$2.open(Using.scala:70)
        at sbt.Using$$anon$2.open(Using.scala:70)
        at sbt.Using.apply(Using.scala:24)
        at sbt.IO$$anonfun$copyFile$3.apply(IO.scala:583)
        at sbt.IO$$anonfun$copyFile$3.apply(IO.scala:582)
        at sbt.Using.apply(Using.scala:25)
        at sbt.IO$.copyFile(IO.scala:582)
        at sbt.IO$.move(IO.scala:764)
        at sbt.inc.ClassfileManager$$anonfun$transactional$1$$anon$2.sbt$inc$ClassfileManager$$anonfun$$anon$$move(ClassfileManager.scala:77)
        at sbt.inc.ClassfileManager$$anonfun$transactional$1$$anon$2$$anonfun$delete$3.apply(ClassfileManager.scala:53)
        at sbt.inc.ClassfileManager$$anonfun$transactional$1$$anon$2$$anonfun$delete$3.apply(ClassfileManager.scala:52)
        at scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:153)
        at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:306)
        at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:306)
        at scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:306)
        at sbt.inc.ClassfileManager$$anonfun$transactional$1$$anon$2.delete(ClassfileManager.scala:52)
        at sbt.inc.Incremental$.prune(Incremental.scala:58)
        at sbt.inc.IncrementalCommon.cycle(Incremental.scala:96)
        at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:38)
        at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:37)
        at sbt.inc.Incremental$.manageClassfiles(Incremental.scala:65)
        at sbt.inc.Incremental$.compile(Incremental.scala:37)
        at sbt.inc.IncrementalCompile$.apply(Compile.scala:27)
        at sbt.compiler.AggressiveCompile.compile2(AggressiveCompile.scala:157)
        at sbt.compiler.AggressiveCompile.compile1(AggressiveCompile.scala:71)
        at sbt.compiler.AggressiveCompile.apply(AggressiveCompile.scala:46)
        at sbt.Compiler$.apply(Compiler.scala:75)
        at sbt.Compiler$.apply(Compiler.scala:66)
        at sbt.Defaults$.sbt$Defaults$$compileTaskImpl(Defaults.scala:770)
        at sbt.Defaults$$anonfun$compileTask$1.apply(Defaults.scala:762)
        at sbt.Defaults$$anonfun$compileTask$1.apply(Defaults.scala:762)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
        at sbt.std.Transform$$anon$4.work(System.scala:64)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
        at sbt.Execute.work(Execute.scala:244)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
[error] (scalajvm/compile:compile) java.io.FileNotFoundException: C:\Users\jducoeur\Documents\GitHub\Querki\querki\scalajvm\target\scala-2.11\classes.bak\sbt1117112335838311075.class (Access is denied)
[Querki] $

0 个答案:

没有答案