You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Mill, where we use Zinc to compile Java and Scala sources, we recently tried to find the source for some left-over opened files, which produce issues for processes on Windows. We analyzed a specific compile run with https://github.com/jenkinsci/lib-file-leak-detector and found left over opened files (com-lihaoyi/mill#1939 (comment)). Non of them were directly opened by Mill but sbt/zinc instead, so I though, I report it here. I hope, you find it useful.
In the Details, you can find the stacktraces of the opened files:
Opened C:\projects\sake\mill\out\main\moduledefs\jar.dest\out.jar by thread:MillServerActionRunner on Thu Jun 16 23:46:16 CEST 2022
at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:215)
at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1305)
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1271)
at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:733)
at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:850)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:248)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
at java.base/java.util.jar.JarFile.<init>(JarFile.java:350)
at java.base/jdk.internal.loader.URLClassPath$JarLoader.getJarFile(URLClassPath.java:814)
at java.base/jdk.internal.loader.URLClassPath$JarLoader$1.run(URLClassPath.java:759)
at java.base/jdk.internal.loader.URLClassPath$JarLoader$1.run(URLClassPath.java:752)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/jdk.internal.loader.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:751)
at java.base/jdk.internal.loader.URLClassPath$JarLoader.<init>(URLClassPath.java:726)
at java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:494)
at java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:477)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:476)
at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:445)
at java.base/jdk.internal.loader.URLClassPath$1.next(URLClassPath.java:341)
at java.base/jdk.internal.loader.URLClassPath$1.hasMoreElements(URLClassPath.java:352)
at java.base/java.net.URLClassLoader$3$1.run(URLClassLoader.java:692)
at java.base/java.net.URLClassLoader$3$1.run(URLClassLoader.java:690)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader$3.next(URLClassLoader.java:689)
at java.base/java.net.URLClassLoader$3.hasMoreElements(URLClassLoader.java:714)
at java.base/java.lang.CompoundEnumeration.next(ClassLoader.java:3032)
at java.base/java.lang.CompoundEnumeration.hasMoreElements(ClassLoader.java:3041)
at java.base/java.lang.CompoundEnumeration.next(ClassLoader.java:3032)
at java.base/java.lang.CompoundEnumeration.hasMoreElements(ClassLoader.java:3041)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1203)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1221)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1265)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1300)
at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1385)
at sbt.internal.inc.AnalyzingCompiler.loadService(AnalyzingCompiler.scala:316)
at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:89)
at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:192)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:247)
at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:182)
at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163)
at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163)
at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:210)
at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:528)
at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:528)
at sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:177)
at sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:175)
at sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:461)
at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:416)
at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:503)
at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:403)
at sbt.internal.inc.Incremental$.apply(Incremental.scala:169)
at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
at mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:544)
at mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:317)
at mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
at mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:399)
at mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:316)
at mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:284)
at mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:195)
at mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
at mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:627)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at scala.Console$.withErr(Console.scala:193)
at mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:627)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at scala.Console$.withOut(Console.scala:164)
at mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:626)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at scala.Console$.withIn(Console.scala:227)
at mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:625)
at mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:586)
at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
at mill.eval.Evaluator.evaluateGroup(Evaluator.scala:586)
at mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:478)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:469)
at mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1293)
at mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
at mill.eval.Evaluator.evaluate(Evaluator.scala:162)
at mill.main.RunScript$.evaluateNamed(RunScript.scala:364)
at mill.main.RunScript$.evaluate(RunScript.scala:349)
at mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
at scala.util.Either.map(Either.scala:382)
at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
at ammonite.util.Res$Success.flatMap(Res.scala:62)
at mill.main.RunScript$.runScript(RunScript.scala:104)
at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
at mill.main.MainRunner.runScript(MainRunner.scala:92)
at mill.MillMain$.main0(MillMain.scala:310)
at mill.main.MillServerMain$.main0(MillServerMain.scala:79)
at mill.main.Server.$anonfun$handleRun$1(MillServerMain.scala:183)
at java.base/java.lang.Thread.run(Thread.java:829)
Opened C:\projects\sake\mill\out\main\moduledefs\jar.dest\out.jar by thread:MillServerActionRunner on Thu Jun 16 23:46:16 CEST 2022
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:178)
at java.base/java.util.jar.JarFile.<init>(JarFile.java:350)
at java.base/jdk.internal.loader.URLClassPath$JarLoader.getJarFile(URLClassPath.java:814)
at java.base/jdk.internal.loader.URLClassPath$JarLoader$1.run(URLClassPath.java:759)
at java.base/jdk.internal.loader.URLClassPath$JarLoader$1.run(URLClassPath.java:752)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/jdk.internal.loader.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:751)
at java.base/jdk.internal.loader.URLClassPath$JarLoader.<init>(URLClassPath.java:726)
at java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:494)
at java.base/jdk.internal.loader.URLClassPath$3.run(URLClassPath.java:477)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:476)
at java.base/jdk.internal.loader.URLClassPath.getLoader(URLClassPath.java:445)
at java.base/jdk.internal.loader.URLClassPath$1.next(URLClassPath.java:341)
at java.base/jdk.internal.loader.URLClassPath$1.hasMoreElements(URLClassPath.java:352)
at java.base/java.net.URLClassLoader$3$1.run(URLClassLoader.java:692)
at java.base/java.net.URLClassLoader$3$1.run(URLClassLoader.java:690)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.net.URLClassLoader$3.next(URLClassLoader.java:689)
at java.base/java.net.URLClassLoader$3.hasMoreElements(URLClassLoader.java:714)
at java.base/java.lang.CompoundEnumeration.next(ClassLoader.java:3032)
at java.base/java.lang.CompoundEnumeration.hasMoreElements(ClassLoader.java:3041)
at java.base/java.lang.CompoundEnumeration.next(ClassLoader.java:3032)
at java.base/java.lang.CompoundEnumeration.hasMoreElements(ClassLoader.java:3041)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1203)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1221)
at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1265)
at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1300)
at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1385)
at sbt.internal.inc.AnalyzingCompiler.loadService(AnalyzingCompiler.scala:316)
at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:89)
at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:192)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:247)
at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:182)
at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163)
at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163)
at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:210)
at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:528)
at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:528)
at sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:177)
at sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:175)
at sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:461)
at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:416)
at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:503)
at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:403)
at sbt.internal.inc.Incremental$.apply(Incremental.scala:169)
at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
at mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:544)
at mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:317)
at mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
at mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:399)
at mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:316)
at mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:284)
at mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:195)
at mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
at mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:627)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at scala.Console$.withErr(Console.scala:193)
at mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:627)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at scala.Console$.withOut(Console.scala:164)
at mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:626)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at scala.Console$.withIn(Console.scala:227)
at mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:625)
at mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:586)
at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
at mill.eval.Evaluator.evaluateGroup(Evaluator.scala:586)
at mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:478)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:469)
at mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1293)
at mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
at mill.eval.Evaluator.evaluate(Evaluator.scala:162)
at mill.main.RunScript$.evaluateNamed(RunScript.scala:364)
at mill.main.RunScript$.evaluate(RunScript.scala:349)
at mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
at scala.util.Either.map(Either.scala:382)
at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
at ammonite.util.Res$Success.flatMap(Res.scala:62)
at mill.main.RunScript$.runScript(RunScript.scala:104)
at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
at mill.main.MainRunner.runScript(MainRunner.scala:92)
at mill.MillMain$.main0(MillMain.scala:310)
at mill.main.MillServerMain$.main0(MillServerMain.scala:79)
Opened C:\projects\sake\mill\out\main\moduledefs\jar.dest\out.jar by thread:MillServerActionRunner on Thu Jun 16 23:46:25 CEST 2022
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:178)
at java.base/java.util.jar.JarFile.<init>(JarFile.java:350)
at java.base/sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:103)
at java.base/sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:72)
at java.base/sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:94)
at java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:125)
at java.base/sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:155)
at java.base/java.net.URL.openStream(URL.java:1165)
at scala.tools.nsc.plugins.Plugin$.pluginResource$1(Plugin.scala:149)
at scala.tools.nsc.plugins.Plugin$.$anonfun$loadAllFrom$3(Plugin.scala:152)
at scala.tools.nsc.plugins.Plugins.loadRoughPluginsList(Plugins.scala:43)
at scala.tools.nsc.plugins.Plugins.loadRoughPluginsList$(Plugins.scala:36)
at scala.tools.nsc.Global.loadRoughPluginsList(Global.scala:45)
at scala.tools.nsc.Global.roughPluginsList$lzycompute(Global.scala:45)
at scala.tools.nsc.Global.roughPluginsList(Global.scala:45)
at scala.tools.nsc.plugins.Plugins.loadPlugins(Plugins.scala:140)
at scala.tools.nsc.plugins.Plugins.loadPlugins$(Plugins.scala:115)
at scala.tools.nsc.Global.loadPlugins(Global.scala:45)
at scala.tools.nsc.Global.plugins$lzycompute(Global.scala:45)
at scala.tools.nsc.Global.plugins(Global.scala:45)
at scala.tools.nsc.plugins.Plugins.computePluginPhases(Plugins.scala:167)
at scala.tools.nsc.plugins.Plugins.computePluginPhases$(Plugins.scala:166)
at scala.tools.nsc.Global.computePluginPhases(Global.scala:45)
at scala.tools.nsc.Global.computePhaseDescriptors(Global.scala:729)
at xsbt.ZincCompiler.phaseDescriptors$lzycompute(CallbackGlobal.scala:146)
at xsbt.ZincCompiler.phaseDescriptors(CallbackGlobal.scala:140)
at scala.tools.nsc.Global$Run.<init>(Global.scala:1248)
at xsbt.ZincCompiler$ZincRun.<init>(CallbackGlobal.scala:80)
at xsbt.CachedCompiler0.run(CompilerBridge.scala:161)
at xsbt.CachedCompiler0.run(CompilerBridge.scala:134)
at xsbt.CompilerBridge.run(CompilerBridge.scala:39)
at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)
at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:192)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:247)
at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:182)
at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163)
at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163)
at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:210)
at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:528)
at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:528)
at sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:177)
at sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:175)
at sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:461)
at sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
at sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
at sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:416)
at sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:503)
at sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:403)
at sbt.internal.inc.Incremental$.apply(Incremental.scala:169)
at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:528)
at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:482)
at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:420)
at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
at mill.scalalib.worker.ZincWorkerImpl.compileInternal(ZincWorkerImpl.scala:544)
at mill.scalalib.worker.ZincWorkerImpl.$anonfun$compileMixed0$1(ZincWorkerImpl.scala:317)
at mill.api.FixSizedCache.withCachedValue(FixSizedCache.scala:66)
at mill.scalalib.worker.ZincWorkerImpl.withCompilers(ZincWorkerImpl.scala:399)
at mill.scalalib.worker.ZincWorkerImpl.compileMixed0(ZincWorkerImpl.scala:316)
at mill.scalalib.worker.ZincWorkerImpl.compileMixed(ZincWorkerImpl.scala:284)
at mill.scalalib.ScalaModule.$anonfun$compile$2(ScalaModule.scala:195)
at mill.define.Task$TraverseCtx.evaluate(Task.scala:380)
at mill.eval.Evaluator.$anonfun$evaluateGroup$13(Evaluator.scala:627)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at scala.Console$.withErr(Console.scala:193)
at mill.eval.Evaluator.$anonfun$evaluateGroup$12(Evaluator.scala:627)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at scala.Console$.withOut(Console.scala:164)
at mill.eval.Evaluator.$anonfun$evaluateGroup$11(Evaluator.scala:626)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at scala.Console$.withIn(Console.scala:227)
at mill.eval.Evaluator.$anonfun$evaluateGroup$8(Evaluator.scala:625)
at mill.eval.Evaluator.$anonfun$evaluateGroup$8$adapted(Evaluator.scala:586)
at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
at mill.eval.Evaluator.evaluateGroup(Evaluator.scala:586)
at mill.eval.Evaluator.$anonfun$evaluateGroupCached$21(Evaluator.scala:478)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:59)
at mill.eval.Evaluator.evaluateGroupCached(Evaluator.scala:469)
at mill.eval.Evaluator.$anonfun$sequentialEvaluate$2(Evaluator.scala:202)
at scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563)
at scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1293)
at mill.eval.Evaluator.sequentialEvaluate(Evaluator.scala:177)
at mill.eval.Evaluator.evaluate(Evaluator.scala:162)
at mill.main.RunScript$.evaluateNamed(RunScript.scala:364)
at mill.main.RunScript$.evaluate(RunScript.scala:349)
at mill.main.RunScript$.$anonfun$evaluateTasks$1(RunScript.scala:314)
at scala.util.Either.map(Either.scala:382)
at mill.main.RunScript$.evaluateTasks(RunScript.scala:312)
at mill.main.RunScript$.$anonfun$runScript$8(RunScript.scala:105)
at ammonite.util.Res$Success.flatMap(Res.scala:62)
at mill.main.RunScript$.runScript(RunScript.scala:104)
at mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
at mill.main.MainRunner.watchLoop2(MainRunner.scala:67)
at mill.main.MainRunner.runScript(MainRunner.scala:92)
at mill.MillMain$.main0(MillMain.scala:310)
at mill.main.MillServerMain$.main0(MillServerMain.scala:79)
at mill.main.Server.$anonfun$handleRun$1(MillServerMain.s
The opened file is always C:\projects\sake\mill\out\main\moduledefs\jar.dest\out.jar, which is a locally built compiler plugin. It is subseqently used in other build targets, so my suspicion is, that zinc is not properly closing such compiler plugin resources. This is probably a rather rare situation, so it could be also an older issue which went unnoticed for a very long time.
The text was updated successfully, but these errors were encountered:
lefou
changed the title
Potential lingering opened files
Potentially lingering opened files
Sep 16, 2022
In Mill, where we use Zinc to compile Java and Scala sources, we recently tried to find the source for some left-over opened files, which produce issues for processes on Windows. We analyzed a specific compile run with https://github.com/jenkinsci/lib-file-leak-detector and found left over opened files (com-lihaoyi/mill#1939 (comment)). Non of them were directly opened by Mill but sbt/zinc instead, so I though, I report it here. I hope, you find it useful.
In the Details, you can find the stacktraces of the opened files:
The opened file is always
C:\projects\sake\mill\out\main\moduledefs\jar.dest\out.jar
, which is a locally built compiler plugin. It is subseqently used in other build targets, so my suspicion is, that zinc is not properly closing such compiler plugin resources. This is probably a rather rare situation, so it could be also an older issue which went unnoticed for a very long time.The text was updated successfully, but these errors were encountered: