Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potentially lingering opened files #1124

Open
lefou opened this issue Sep 16, 2022 · 0 comments
Open

Potentially lingering opened files #1124

lefou opened this issue Sep 16, 2022 · 0 comments

Comments

@lefou
Copy link
Contributor

lefou commented 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:

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.

@lefou lefou changed the title Potential lingering opened files Potentially lingering opened files Sep 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant