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

updating to sbt-scalafix 0.9.18 causes crash #1196

Closed
philwalk opened this issue Jul 3, 2020 · 40 comments · Fixed by scalacenter/sbt-scalafix#142
Closed

updating to sbt-scalafix 0.9.18 causes crash #1196

philwalk opened this issue Jul 3, 2020 · 40 comments · Fixed by scalacenter/sbt-scalafix#142

Comments

@philwalk
Copy link

philwalk commented Jul 3, 2020

After updating to the newer version in project/plugins.sbt:

addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.18") // no problems with "0.9.17"

Also see the same (or quite similar) result running with java 1.8.

[info] welcome to sbt 1.3.12 (Oracle Corporation Java 11.0.6)
[info] loading settings for project global-plugins from plugins.sbt,sbt-updates.sbt ...
[info] loading global plugins from C:\Users\philwalk\.sbt\1.0\plugins
[info] loading project definition from C:\opt\ue\project\project
[info] loading settings for project ue-build from build.sbt,play-fork-run.sbt,plugins.sbt,sbt-ui.sbt ...
[info] loading project definition from C:\opt\ue\project
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] Compiling 1 Scala source to C:\opt\ue\project\target\scala-2.12\sbt-1.0\classes ...
[info] loading settings for project root from build.sbt,resolvers.sbt ...
[error] java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.CompletableFuture$AsyncSupply@439810f1 rejected from java.util.concurrent.ThreadPoolExecutor@7a08254[Running, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
[error] Use 'last' for the full log.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? l
[debug] > Exec(reload, Some(3f75fdfd-84b7-4fd6-9c20-fd75f8faac44), Some(CommandSource(console0)))
[debug] > Exec(sbtStashOnFailure, None, Some(CommandSource(console0)))
[debug] Evaluating tasks: checkBuildSources
[debug] Running task... Cancel: bloop.integrations.sbt.Offloader$$anon$1@7c540aaf, check cycles: false, forcegc: true
[debug] > Exec(onFailure loadFailed, None, Some(CommandSource(console0)))
[debug] Evaluating tasks: checkBuildSources
[debug] Running task... Cancel: bloop.integrations.sbt.Offloader$$anon$1@14ecde7d, check cycles: false, forcegc: true
[debug] > Exec(loadp, None, Some(CommandSource(console0)))
[debug] Evaluating tasks: checkBuildSources
[debug] Running task... Cancel: bloop.integrations.sbt.Offloader$$anon$1@762dc95f, check cycles: false, forcegc: true
[info] welcome to sbt 1.3.12 (Oracle Corporation Java 11.0.6)
[debug]         Load.loadUnit: plugins took 20.0875ms
[debug]         Load.loadUnit: defsScala took 0.0041ms
[debug] [Loading] Scanning directory C:\Users\philwalk\.sbt\1.0\plugins
[debug]           Load.loadUnit: mkEval took 0.340399ms
[debug] [Loading] Found non-root projects
[debug] [Loading] Done in C:\Users\philwalk\.sbt\1.0\plugins, returning: ()
[debug] deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.Scri
ptedPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.SbtPlugin),Set(Atom(sbt.ScriptedPlugin))), Clause(Atom(sbt.plugins.SemanticdbPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(At
om(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.J
vmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.SemanticdbPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin))), Clause(Atom(sbt.plugins.CoreP
lugin),Set(Atom(sbt.plugins.Giter8TemplatePlugin)))))
[debug]   :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.Giter8TemplatePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,sbt.plugins.JUnitXmlReportPlugin,sbt.plugins.SemanticdbPlugin)
[debug] Plugins.deducer#function took 0.6278 ms
[info] loading settings for project global-plugins from plugins.sbt,sbt-updates.sbt ...
[debug]             Load.resolveProject(global-plugins) took 1.2654ms
[debug]           Load.loadTransitive: finalizeProject(Project(id global-plugins, base: C:\Users\philwalk\.sbt\1.0\plugins, plugins: List(<none>))) took 2.168699ms
[debug] [Loading] Done in C:\Users\philwalk\.sbt\1.0\plugins, returning: (global-plugins)
[debug]         Load.loadUnit: loadedProjectsRaw took 27.738ms
[debug]         Load.loadUnit: cleanEvalClasses took 1.7532ms
[debug]       Load.loadUnit(file:/c:/Users/philwalk/.sbt/1.0/plugins/, ...) took 50.2847ms
[debug]     Load.apply: load took 51.274099ms
[debug]     Load.apply: resolveProjects took 0.0892ms
[debug]     Load.apply: finalTransforms took 2.807399ms
[debug]     Load.apply: config.delegates took 0.2221ms
[debug]     Load.apply: Def.make(settings)... took 35.0034ms
[debug]     Load.apply: structureIndex took 8.156499ms
[debug]     Load.apply: mkStreams took 0.0024ms
[info] loading global plugins from C:\Users\philwalk\.sbt\1.0\plugins
[debug] Running task... Cancel: Signal, check cycles: false, forcegc: true
[debug]   Load.defaultLoad until apply took 218.5314ms
[debug]                   Load.loadUnit: plugins took 26.2896ms
[debug]                   Load.loadUnit: defsScala took 0.004ms
[debug] [Loading] Scanning directory C:\opt\ue\project\project
[debug] [Loading] Found non-root projects
[debug] [Loading] Done in C:\opt\ue\project\project, returning: ()
[debug] deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.Scri
ptedPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.SbtPlugin),Set(Atom(sbt.ScriptedPlugin))), Clause(Atom(sbt.plugins.SemanticdbPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(At
om(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(com.timushev.sbt.updates.UpdatesPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(A
tom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.SemanticdbPlugin))), Clause(Atom(sbt.plugins
.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.Giter8TemplatePlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(com.timushev.sbt
.updates.UpdatesPlugin)))))
[debug]   :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.Giter8TemplatePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,com.timushev.sbt.updates.UpdatesPlugin,sbt.plugins.JUnitXmlRepo
rtPlugin,sbt.plugins.SemanticdbPlugin)
[debug] Plugins.deducer#function took 0.6067 ms
[debug]                       Load.resolveProject(ue-build-build) took 0.6752ms
[debug]                     Load.loadTransitive: finalizeProject(Project(id ue-build-build, base: C:\opt\ue\project\project, plugins: List(<none>))) took 1.548101ms
[debug] [Loading] Done in C:\opt\ue\project\project, returning: (ue-build-build)
[debug]                   Load.loadUnit: loadedProjectsRaw took 2.314ms
[debug]                   Load.loadUnit: cleanEvalClasses took 0.007399ms
[debug]                 Load.loadUnit(file:/C:/opt/ue/project/project/, ...) took 29.1823ms
[debug]               Load.apply: load took 30.0ms
[debug]               Load.apply: resolveProjects took 0.0689ms
[debug]               Load.apply: finalTransforms took 2.620999ms
[debug]               Load.apply: config.delegates took 0.2028ms
[debug]               Load.apply: Def.make(settings)... took 30.582ms
[debug]               Load.apply: structureIndex took 8.5867ms
[debug]               Load.apply: mkStreams took 0.0027ms
[info] loading project definition from C:\opt\ue\project\project
[debug] Running task... Cancel: Signal, check cycles: false, forcegc: true
[debug]             Load.loadUnit: plugins took 194.1735ms
[debug]             Load.loadUnit: defsScala took 0.004ms
[debug] [Loading] Scanning directory C:\opt\ue\project
[debug]               Load.loadUnit: mkEval took 0.323101ms
[debug] [Loading] Found non-root projects
[debug] [Loading] Done in C:\opt\ue\project, returning: ()
[debug] deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.Scri
ptedPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.SbtPlugin),Set(Atom(sbt.ScriptedPlugin))), Clause(Atom(sbt.plugins.SemanticdbPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(At
om(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(com.timushev.sbt.updates.UpdatesPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(A
tom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.SemanticdbPlugin))), Clause(Atom(sbt.plugins
.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.Giter8TemplatePlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(com.timushev.sbt
.updates.UpdatesPlugin)))))
[debug]   :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.Giter8TemplatePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,com.timushev.sbt.updates.UpdatesPlugin,sbt.plugins.JUnitXmlRepo
rtPlugin,sbt.plugins.SemanticdbPlugin)
[debug] Plugins.deducer#function took 0.6286 ms
[info] loading settings for project ue-build from build.sbt,play-fork-run.sbt,plugins.sbt,sbt-ui.sbt ...
[debug]                 Load.resolveProject(ue-build) took 1.2887ms
[debug]               Load.loadTransitive: finalizeProject(Project(id ue-build, base: C:\opt\ue\project, plugins: List(<none>))) took 2.2245ms
[debug] [Loading] Done in C:\opt\ue\project, returning: (ue-build)
[debug]             Load.loadUnit: loadedProjectsRaw took 470.8431ms
[debug]             Load.loadUnit: cleanEvalClasses took 10.2674ms
[debug]           Load.loadUnit(file:/C:/opt/ue/project/, ...) took 675.9961ms
[debug]         Load.apply: load took 676.929201ms
[debug]         Load.apply: resolveProjects took 0.0797ms
[debug]         Load.apply: finalTransforms took 2.697101ms
[debug]         Load.apply: config.delegates took 0.2124ms
[debug]         Load.apply: Def.make(settings)... took 33.002601ms
[debug]         Load.apply: structureIndex took 8.756601ms
[debug]         Load.apply: mkStreams took 0.003ms
[info] loading project definition from C:\opt\ue\project
[debug] Running task... Cancel: Signal, check cycles: false, forcegc: true
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] Compiling 1 Scala source to C:\opt\ue\project\target\scala-2.12\sbt-1.0\classes ...
[debug]       Load.loadUnit: plugins took 2896.379201ms
[debug]       Load.loadUnit: defsScala took 0.0039ms
[debug] [Loading] Scanning directory C:\opt\ue
[debug]         Load.loadUnit: mkEval took 0.3117ms
[debug] [Loading] Found root project root w/ remaining apps,vastblue
[debug] deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.Scri
ptedPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.SbtPlugin),Set(Atom(sbt.ScriptedPlugin))), Clause(Atom(sbt.plugins.SemanticdbPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(At
om(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(net.virtualvoid.sbt.graph.DependencyGraphPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(scalafix.sbt.Scalafi
xPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(scalafix.sbt.ScalafixTestkitPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(dotty.tools.sbtplugin.DottyIDEPlugin),Set(Atom(sbt.plugins.Jv
mPlugin))), Clause(Atom(dotty.tools.sbtplugin.DottyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbtbuildinfo.BuildInfoPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(bloop.integration
s.sbt.BloopPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(com.timushev.sbt.updates.UpdatesPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.Iv
yPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.SemanticdbPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(At
om(sbt.plugins.JUnitXmlReportPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.Giter8TemplatePlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(net.virtualvoid.sbt.graph.Dependen
cyGraphPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(scalafix.sbt.ScalafixPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(dotty.tools.sbtplugin.DottyIDEPlugin))), Clause(Atom(sbt.plugi
ns.JvmPlugin),Set(Atom(dotty.tools.sbtplugin.DottyPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(bloop.integrations.sbt.BloopPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(com.timushev
.sbt.updates.UpdatesPlugin)))))
[debug]   :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.Giter8TemplatePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,bloop.integrations.sbt.BloopPlugin,net.virtualvoid.sbt.graph.De
pendencyGraphPlugin,dotty.tools.sbtplugin.DottyPlugin,com.timushev.sbt.updates.UpdatesPlugin,sbt.plugins.SemanticdbPlugin,sbt.plugins.JUnitXmlReportPlugin,dotty.tools.sbtplugin.DottyIDEPlugin,scalafix
.sbt.ScalafixPlugin)
[debug] Plugins.deducer#function took 0.842699 ms
[info] loading settings for project root from build.sbt,resolvers.sbt ...
[debug]           Load.resolveProject(root) took 58.2605ms
[debug]         Load.loadTransitive: finalizeProject(Project(id root, base: C:\opt\ue, aggregate: List(LocalProject(vastblue), LocalProject(apps)), plugins: List(<none>))) took 59.597199ms
[debug] [Loading] Loading project apps @ C:\opt\ue\apps
[debug] deducing auto plugins based on known facts Set(Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.Scri
ptedPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.SbtPlugin),Set(Atom(sbt.ScriptedPlugin))), Clause(Atom(sbt.plugins.SemanticdbPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(At
om(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(net.virtualvoid.sbt.graph.DependencyGraphPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(scalafix.sbt.Scalafi
xPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(scalafix.sbt.ScalafixTestkitPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(dotty.tools.sbtplugin.DottyIDEPlugin),Set(Atom(sbt.plugins.Jv
mPlugin))), Clause(Atom(dotty.tools.sbtplugin.DottyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbtbuildinfo.BuildInfoPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(bloop.integration
s.sbt.BloopPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(com.timushev.sbt.updates.UpdatesPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.Iv
yPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.SemanticdbPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(At
om(sbt.plugins.JUnitXmlReportPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.Giter8TemplatePlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(net.virtualvoid.sbt.graph.Dependen
cyGraphPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(scalafix.sbt.ScalafixPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(dotty.tools.sbtplugin.DottyIDEPlugin))), Clause(Atom(sbt.plugi
ns.JvmPlugin),Set(Atom(dotty.tools.sbtplugin.DottyPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(bloop.integrations.sbt.BloopPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(com.timushev
.sbt.updates.UpdatesPlugin)))))
[debug]   :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.Giter8TemplatePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,bloop.integrations.sbt.BloopPlugin,net.virtualvoid.sbt.graph.De
pendencyGraphPlugin,dotty.tools.sbtplugin.DottyPlugin,com.timushev.sbt.updates.UpdatesPlugin,sbt.plugins.SemanticdbPlugin,sbt.plugins.JUnitXmlReportPlugin,dotty.tools.sbtplugin.DottyIDEPlugin,scalafix
.sbt.ScalafixPlugin)
[debug] Plugins.deducer#function took 0.881099 ms
[debug]         Load.resolveProject(apps) took 1.709799ms
[debug] [Loading] Loading project vastblue @ C:\opt\ue\vastblue
[debug] deducing auto plugins based on known facts Set(Atom(sbtbuildinfo.BuildInfoPlugin), Atom(sbt.plugins.CorePlugin)) and clauses Clauses(List(Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugin
s.IvyPlugin))), Clause(Atom(sbt.ScriptedPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.SbtPlugin),Set(Atom(sbt.ScriptedPlugin))), Clause(Atom(sbt.plugins.SemanticdbPlugin),Set(Atom
(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JUnitXmlReportPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(net.virtualvoid.sbt.graph.DependencyGraphPlugin),Set(Atom(sbt.plugins.JvmPlugin)
)), Clause(Atom(scalafix.sbt.ScalafixPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(scalafix.sbt.ScalafixTestkitPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(dotty.tools.sbtplugin.Dot
tyIDEPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(dotty.tools.sbtplugin.DottyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbtbuildinfo.BuildInfoPlugin),Set(Atom(sbt.plugins.JvmPlug
in))), Clause(Atom(bloop.integrations.sbt.BloopPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(com.timushev.sbt.updates.UpdatesPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins
.CorePlugin),Set(Atom(sbt.plugins.IvyPlugin))), Clause(Atom(sbt.plugins.IvyPlugin),Set(Atom(sbt.plugins.JvmPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.SemanticdbPlugin))), Claus
e(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.Giter8TemplatePlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Ato
m(net.virtualvoid.sbt.graph.DependencyGraphPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(scalafix.sbt.ScalafixPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(dotty.tools.sbtplugin.Dott
yIDEPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(dotty.tools.sbtplugin.DottyPlugin))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(bloop.integrations.sbt.BloopPlugin))), Clause(Atom(sbt.plug
ins.JvmPlugin),Set(Atom(com.timushev.sbt.updates.UpdatesPlugin)))))
[debug]   :: deduced result: Matched(sbt.plugins.CorePlugin,sbtbuildinfo.BuildInfoPlugin,sbt.plugins.Giter8TemplatePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,bloop.integrations.sbt.BloopPlugin
,net.virtualvoid.sbt.graph.DependencyGraphPlugin,dotty.tools.sbtplugin.DottyPlugin,com.timushev.sbt.updates.UpdatesPlugin,sbt.plugins.SemanticdbPlugin,sbt.plugins.JUnitXmlReportPlugin,dotty.tools.sbtp
lugin.DottyIDEPlugin,scalafix.sbt.ScalafixPlugin)
[debug] Plugins.deducer#function took 0.7459 ms
[debug]         Load.resolveProject(vastblue) took 5.8728ms
[debug] [Loading] Done in C:\opt\ue, returning: (root, apps, vastblue)
[debug]       Load.loadUnit: loadedProjectsRaw took 3846.2121ms
[debug]       Load.loadUnit: cleanEvalClasses took 54.4006ms
[debug]     Load.loadUnit(file:/C:/opt/ue/, ...) took 6797.4177ms
[debug]   Load.apply: load took 6799.175401ms
[debug]   Load.apply: resolveProjects took 0.155299ms
[debug]   Load.apply: finalTransforms took 20.367299ms
[debug]   Load.apply: config.delegates took 0.901ms
[error] java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.CompletableFuture$AsyncSupply@439810f1 rejected from java.util.concurrent.ThreadPoolExecutor@7a08254[Running, pool si
ze = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2055)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1355)
[error]         at java.base/java.util.concurrent.CompletableFuture.asyncSupplyStage(CompletableFuture.java:1714)
[error]         at java.base/java.util.concurrent.CompletableFuture.supplyAsync(CompletableFuture.java:1931)
[error]         at org.eclipse.jgit.util.FS$FileStoreAttributes.getFileStoreAttributes(FS.java:329)
[error]         at org.eclipse.jgit.util.FS$FileStoreAttributes.get(FS.java:296)
[error]         at org.eclipse.jgit.util.FS.getFileStoreAttributes(FS.java:767)
[error]         at org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>(FileSnapshot.java:224)
[error]         at org.eclipse.jgit.internal.storage.file.FileSnapshot.<init>(FileSnapshot.java:205)
[error]         at org.eclipse.jgit.internal.storage.file.FileSnapshot.save(FileSnapshot.java:102)
[error]         at org.eclipse.jgit.internal.storage.file.FileRepository.<init>(FileRepository.java:209)
[error]         at org.eclipse.jgit.storage.file.FileRepositoryBuilder.build(FileRepositoryBuilder.java:55)
[error]         at scalafix.internal.sbt.JGitCompletion.<init>(JGitCompletions.scala:23)
[error]         at scalafix.internal.sbt.ScalafixCompletions.gitDiffParser$lzycompute(ScalafixCompletions.scala:99)
[error]         at scalafix.internal.sbt.ScalafixCompletions.gitDiffParser(ScalafixCompletions.scala:98)
[error]         at scalafix.internal.sbt.ScalafixCompletions.parser(ScalafixCompletions.scala:167)
[error]         at scalafix.sbt.ScalafixPlugin$.$anonfun$parser$1(ScalafixPlugin.scala:175)
[error]         at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error]         at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:223)
[error]         at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:166)
[error]         at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
[error]         at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:99)
[error]         at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error]         at java.base/java.lang.Thread.run(Thread.java:834)
[error] java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.CompletableFuture$AsyncSupply@439810f1 rejected from java.util.concurrent.ThreadPoolExecutor@7a08254[Running, pool si
ze = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
[error] Use 'last' for the full log.
[debug] > Exec(loadFailed, None, Some(CommandSource(console0)))
[debug] Evaluating tasks: checkBuildSources
[debug] Running task... Cancel: bloop.integrations.sbt.Offloader$$anon$1@7b1485e2, check cycles: false, forcegc: true
[debug] > Exec(last, None, Some(CommandSource(console0)))
[debug] Evaluating tasks: checkBuildSources
[debug] Running task... Cancel: bloop.integrations.sbt.Offloader$$anon$1@5ab1595a, check cycles: false, forcegc: true
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 3, 2020

Thanks for the report @philwalk! Could you share what the checkBuildSources task does? Nevermind, it seems to be a built-in task... Could you share your build or part of it?

@philwalk
Copy link
Author

philwalk commented Jul 4, 2020

No problems reported by checkBuildSources:

[info] welcome to sbt 1.3.12 (Oracle Corporation Java 11.0.6)
[info] loading settings for project global-plugins from plugins.sbt,sbt-updates.sbt ...
[info] loading global plugins from C:\Users\philwalk\.sbt\1.0\plugins
[info] loading project definition from C:\opt\ue\project\project
[info] loading settings for project ue-build from build.sbt,play-fork-run.sbt,plugins.sbt,sbt-ui.sbt ...
[info] loading project definition from C:\opt\ue\project
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] Compiling 1 Scala source to C:\opt\ue\project\target\scala-2.12\sbt-1.0\classes ...
[info] loading settings for project root from build.sbt,resolvers.sbt ...
[error] java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.CompletableFuture$AsyncSupply@50d172e3 rejected from java.util.concurrent.ThreadPoolExecutor@6778e652[Running, pool s
ize = 4, active threads = 4, queued tasks = 0, completed tasks = 0]
[error] Use 'last' for the full log.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? i
[warn] Ignoring load failure: using previously loaded project.
sbt:root> checkBuildSources
[success] Total time: 0 s, completed Jul 4, 2020, 2:50:13 PM
sbt:root>

@anilkumarmyla
Copy link

+1 getting the same error in only one of our sbt multi-project build (with latest sbt eco-system)

21:39:51 [info] resolving key references (11623 settings) ...
21:39:52 [error] java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.CompletableFuture$AsyncSupply@3117cd22 rejected from java.util.concurrent.ThreadPoolExecutor@408d17a1[Running, pool size = 1, active threads = 1, queued tasks = 0, completed tasks = 0]
21:39:52 [error] Use 'last' for the full log. 

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 6, 2020

@philwalk @anilkumarmyla any chance you can share your build or at least the relevant parts (Scalafix settings & plugins activated with their version) ? A small build where you can reproduce the problem world be ideal.

@anilkumarmyla
Copy link

The strange thing is it happens only in our CI build and only for a sbt multi-project build (other projects worked fine), attempting to reproduce this locally on mac or docker+linux fail (CI runs on linux). Another strangeness is the -debug option of sbt which suppresses error logging sbt/sbt#5080 , so can't really know what sbt is doing. I'll try more to get a reproducible build

@bjaglin bjaglin added this to the v1.0.0 milestone Jul 6, 2020
@bjaglin
Copy link
Collaborator

bjaglin commented Jul 6, 2020

@anilkumarmyla interesting. Are you also using sbt 1.3.12?

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 6, 2020

Potential changes that could impact sbt initialization: scalacenter/sbt-scalafix@2ca68e4#diff-b6db8e3499369917214568aee2dd0960R116-R132.

@matil019
Copy link

matil019 commented Jul 6, 2020

Nice to meet you.

The existence of the .git directory (including a fresh one just created by git init) causes the crash. Removing it is an unacceptable workaround (of course).

I'm using sbt-1.3.12 but the same applies to 1.3.13. The OS is Arch linux. Can't reproduce on Windows (msys2).

A minimum set of steps to reproduce:

// build.sbt
lazy val service1 = project
# project/build.properties
sbt.version=1.3.13
// project/plugins.sbt
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.18")
$ git init
Initialized empty Git repository in <snip>
$ sbt
[info] welcome to sbt 1.3.13 (Oracle Corporation Java 1.8.0_252)
<snip>
[error] java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.CompletableFuture$AsyncSupply@448eccc7 rejected from java.util.concurrent.ThreadPoolExecutor@5e4a5ee2[Running, pool size = 2, active threads = 2, queued tasks = 0, completed tasks = 0]
[error] Use 'last' for the full log.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?

Adding .disablePlugins(ScalafixPlugin) resolves the crash but triggers another error, presumably because the repository has no commits:

[error] org.eclipse.jgit.api.errors.NoHeadException: No HEAD exists and no explicit starting revision was specified
[error] Use 'last' for the full log.

Creating a commit resolves it.

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 6, 2020

Great job isolating the problem @matil019! I am working on a fix.

@philwalk
Copy link
Author

philwalk commented Jul 6, 2020

Wow, glad we have a minimal build that reproduces the problem, my build is quite extensive ...
For what it's worth, I'm using scala 2.13.3 which has caused other problems for me, although they might be unrelated.

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 6, 2020

I have good hopes that scalacenter/sbt-scalafix#141 fixes the problem. Once it's reviewed & merged, will you be able to try a SNAPSHOT of sbt-scalafix to confirm it's the same root cause as in the repro above?

@philwalk
Copy link
Author

philwalk commented Jul 6, 2020

I'll test the SNAPSHOT as soon as it's ready

@philwalk
Copy link
Author

philwalk commented Jul 6, 2020

Here's a bit more about the problem I'm having with scala 2.13.3, in case it's related.
To work around the current JGit problem, I roll back sbt-scalafix plugin to "0.9.17", but that results in this unresolved dependency:

[warn]  Note: Unresolved dependencies path:
[error] stack trace is suppressed; run last vastblue / update for the full output
[error] (vastblue / update) sbt.librarymanagement.ResolveException: Error downloading org.scalameta:semanticdb-scalac_2.13.3:4.3.14
[error]   Not found
[error]   Not found
[error]   not found: c:\Users\philwalk\.ivy2\local\org.scalameta\semanticdb-scalac_2.13.3\4.3.14\ivys\ivy.xml
[error]   not found: https://repo1.maven.org/maven2/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: https://mvnrepository.com/artifact/semanticdb-scalac/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: https://mvnrepository.com/artifact/org.scalameta/semanticdb-scalac/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: https://mvnrepository.com/artifact/org.scalameta/semanticdb/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: https://mvnrepository.com/artifact/org.scalameta/scalameta/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: https://mvnrepository.com/artifact/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: https://oss.sonatype.org/content/repositories/releases/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: https://oss.sonatype.org/content/repositories/snapshots/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: https://mvnrepository.com/artifact/org.scalameta/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: https://mvnrepository.com/artifact/com.googlecode.cobra-winldtp/ldtp/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: https://artifacts.alfresco.com/nexus/content/repositories/public/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: https://mvnrepository.com/artifact/com.snowtide/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error]   not found: http://maven.snowtide.com/releases/org/scalameta/semanticdb-scalac_2.13.3/4.3.14/semanticdb-scalac_2.13.3-4.3.14.pom
[error] Total time: 7 s, completed Jul 6, 2020, 10:44:04 AM

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 6, 2020

@philwalk that's expected as support for 2.13.3 was added in 0.9.18. You can follow #1183 for a (safe) workaround though.

@philwalk
Copy link
Author

philwalk commented Jul 6, 2020

Also, FWIW, my .git workspace has had thousands of commits, so the scalacenter/sbt-scalafix#141 referenced condition doesn't apply:

prevent failure on sbt init when JGit finds a .git with no commit

@philwalk
Copy link
Author

philwalk commented Jul 6, 2020

thanks for the assistance, BTW!

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 6, 2020

Also, FWIW, my .git workspace has had thousands of commits, so the scalacenter/sbt-scalafix#141 referenced condition doesn't apply:

prevent failure on sbt init when JGit finds a .git with no commit

I guess we have several problems then. The fix might still work as it basically degrade gracefully if looking up the last commits via jgit fails.

@anilkumarmyla
Copy link

@anilkumarmyla interesting. Are you also using sbt 1.3.12?

Latest sbt 1.3.13

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 6, 2020

@philwalk 0.9.18+4-9ef73805-SNAPSHOT is available on sonatype snapshots.

@philwalk
Copy link
Author

philwalk commented Jul 6, 2020

The SNAPSHOT version fails in exactly the same way as before, same stackdump, etc.

A possible additional clue: when I work around the problem (by renaming .git to dot-git), I run into this error:

sbt:root> scalafixAll fix.scala213.ExplicitNonNullaryApply
[error] (vastblue / scalafixAll) scalafix.sbt.InvalidArgument: c:\Users\philwalk\AppData\Local\Coursier\cache\v1\https\oss.sonatype.org\content\repositories\public\org\scala-lang\modules\scala-collection-migrations_2.13\2.1.4\scal
a-collection-migrations_2.13-2.1.4.pom.lock
[error] (apps / scalafixAll) scalafix.sbt.InvalidArgument: c:\Users\philwalk\AppData\Local\Coursier\cache\v1\https\repo1.maven.org\maven2\org\scalatest\autofix_2.13\3.1.0.0\autofix_2.13-3.1.0.0.pom.sha1.lock
[error] (scalafixAll) scalafix.sbt.InvalidArgument: c:\Users\philwalk\AppData\Local\Coursier\cache\v1\https\repo1.maven.org\maven2\org\scala-lang\modules\scala-collection-migrations_2.13\2.1.4\scala-collection-migrations_2.13-2.1.
4.pom.lock
[error] Total time: 4 s, completed Jul 6, 2020, 3:26:49 PM
sbt:root>

@philwalk
Copy link
Author

philwalk commented Jul 6, 2020

Here's a minimal project that demonstrates the problem in windows: https://github.com/philwalk/scalafix-bug

@anilkumarmyla
Copy link

I've tried to minimize as all, stripped down the multi-project into a single project (deleting everything except the last and flattening the project) and it stops failing. Need to find the right balance to reproduce it

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 7, 2020

@anilkumarmyla did you try 0.9.18+4-9ef73805-SNAPSHOT?

@dwijnand
Copy link
Contributor

dwijnand commented Jul 7, 2020

I've also hit this RejectedExecutionException error and I believe the bug is in this code: https://github.com/eclipse/jgit/commit/64715a189fe19e8a25bb8757591e3ef60f3f9aa8#diff-10b72afe44f6747deb343383d6cad640R243 which creates a thread pool of 5(!) threads, and then makes use of it in a static method called by a bunch of places. It's trivial to hit a concurrent problem with it.

For me, I was hitting this issue in my sbt-dynver test suite, which was creating independent Git values with Git.init().setDirectory(dir).call() and exhausting the thread pool. The workaround was to eagerly make sure that JGit's FS.FileStoreAttributes.attributeCache had the relevant attribute metadata so that the tests could use the data instead of creating N threads to find it:

https://github.com/dwijnand/sbt-dynver/pull/165/files

Perhaps there's a natural or reasonable place in sbt-scalafix to do a similar one-off seed.

@andreamarcolin
Copy link

Just hit the same error, not going to post the stacktrace as it seems to be identical to the previously posted one.
One thing I observed too is that it only occurs on multi-project builds. Specifically, I was trying to add a new module to a simple sbt build definition and adding a dependsOn clause to the existing module.
I'm on sbt 1.3.13 and Scala 2.13.2

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 7, 2020

@dwijnand thanks a lot for the pointers!

I think I have a good lead on the problem: among other things, the scalafix input task parser (which eagerly triggers a lookup of the last commits at sbt init) is no longer properly cached in 0.9.18, so usage of JGit grows with the number of sub-projects, which stresses the static thread pool you mentioned. scalacenter/sbt-scalafix@9a283a7 should address it.

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 7, 2020

Sorry, I didn't mean to close this but the merge of the tentative fix did it automatically. Can you try 0.9.18+10-bffce56d-SNAPSHOT?

@bjaglin bjaglin reopened this Jul 7, 2020
@philwalk
Copy link
Author

philwalk commented Jul 7, 2020

0.9.18+10-bffce56d-SNAPSHOT no longer crashes on startup, very good!

I'm not able to use this SNAPSHOT due to other problems. I'll try to file a bug report later today if it hasn't already filed.
The main symptom (FYI) can be seen by typing by "scalafix ", which causes the following crash:


Exception occurred while determining completions.scalafix.sbt.InvalidArgument: Failed to fetch [Dependency(Module(org.scala-lang.modules, scala-collection-migrations_2.13), 2.1.4), Dependency(Module(org.scala-lang, scala-rewrites_2.13), 0.1.
1), Dependency(Module(org.scalatest, autofix_2.13), 3.1.0.0)]from [IvyRepository(file:/c:/Users/philwalk/.ivy2/local/[organisation]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], dropIn
foAttributes = true), MavenRepository(https://repo1.maven.org/maven2), MavenRepository(https://oss.sonatype.org/content/repositories/public), MavenRepository(https://oss.sonatype.org/content/repositories/snapshots)]
        at scalafix.internal.sbt.ScalafixInterface.$anonfun$withArgs$1(ScalafixInterface.scala:106)
        at scala.collection.IndexedSeqOptimized.foldLeft(IndexedSeqOptimized.scala:60)
        at scala.collection.IndexedSeqOptimized.foldLeft$(IndexedSeqOptimized.scala:68)
        at scala.collection.mutable.WrappedArray.foldLeft(WrappedArray.scala:38)
        at scalafix.internal.sbt.ScalafixInterface.withArgs(ScalafixInterface.scala:104)
        at scalafix.internal.sbt.ScalafixInterface$.$anonfun$fromToolClasspath$1(ScalafixInterface.scala:151)
        at scala.util.Try$.apply(Try.scala:213)
        at scalafix.internal.sbt.ScalafixInterface$LazyValue._value$lzycompute(ScalafixInterface.scala:128)
        at scalafix.internal.sbt.ScalafixInterface$LazyValue._value(ScalafixInterface.scala:128)
        at scalafix.internal.sbt.ScalafixInterface$LazyValue.apply(ScalafixInterface.scala:129)
        at scalafix.sbt.ScalafixPlugin$.scalafixArgsFromShell(ScalafixPlugin.scala:245)
        at scalafix.sbt.ScalafixPlugin$.$anonfun$scalafixTask$1(ScalafixPlugin.scala:314)
        at scala.Function1.$anonfun$compose$1(Function1.scala:49)
        at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
        at sbt.std.Transform$$anon$4.work(Transform.scala:67)
        at sbt.Execute.$anonfun$submit$2(Execute.scala:281)
        at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
        at sbt.Execute.work(Execute.scala:290)
        at sbt.Execute.$anonfun$submit$1(Execute.scala:281)
        at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)

Exception occurred while determining completions.

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 7, 2020

@philwalk good! the failure is "expected", org.scalatest.autofix is not cross-built for 2.13 at the moment, so you can't use it together with a custom the scalafixScalaBinaryVersion (that you probably set up with scala-rewrites, which is published and do require 2.13)

See doc in https://scalacenter.github.io/scalafix/docs/users/installation.html#settings-and-tasks.

You can unfortunately expect more of this kind of failures in the coming weeks/months, until all existing rules are cross-built (something that is only possible/asdvised for a few weeks).

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 7, 2020

closing this as sbt-scalafix 0.9.18-1 is out

@bjaglin bjaglin closed this as completed Jul 7, 2020
@anilkumarmyla
Copy link

Updating to 0.9.18-1 fixed our issue, thanks for the quick fix @bjaglin

@philwalk
Copy link
Author

philwalk commented Jul 7, 2020

Thanks for the very quick updates!

@anilkumarmyla
Copy link

Unfortunately, scala-steward ignores this plugin update since it cannot understand the version format 😢

INFO  Ignore ch.epfl.scala:sbt-scalafix : 0.9.18 -> 0.9.18-1 (reason: no suitable next version) 

japgolly added a commit to japgolly/scalajs-benchmark that referenced this issue Jul 9, 2020
SBT wouldn't start with 0.9.18; see
scalacenter/scalafix#1196
@japgolly
Copy link
Contributor

japgolly commented Jul 9, 2020

Unfortunately, scala-steward ignores this plugin update since it cannot understand the version format cry

Not just scala-steward, but sbt-updates too.

[info] Found 4 dependency updates for project
[info]   ch.epfl.scala:sbt-scalafix            : 0.9.18-1 -> 0.9.18           

Why not just use 0.9.18.1?

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 9, 2020

Why not just use 0.9.18.1?

Good question. I followed what was done in the past (https://github.com/scalacenter/sbt-scalafix/releases/tag/v0.9.15-1) without challenging the pattern.

@olafurpg any objection to tag a 0.9.18.1? Or maybe a 0.9.18.2 to prevent confusion, now that there are new commits on master anyway.

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 9, 2020

Actually, looking at https://github.com/rtimush/sbt-updates/blob/0.5.1/src/main/scala/com/timushev/sbt/updates/versions/Version.scala (used also by scala-steward), I am not sure x.x.x.x is any better than x.x.x-x. So I am leaning towards a 0.9.19 scalafix / sbt-scalafix release (even though from a code perspective there is nothing new for scalafix). Any objection @olafurpg @mlachkar?

For the record. #1146 is coming soon so we don't have to deal with this in the future.

@japgolly
Copy link
Contributor

japgolly commented Jul 9, 2020

Oh lol. :) Thanks for taking a look into that. The past can be what it already is, it might be a good plan to come up with a versioning scheme that's a bit friendlier to these tools, and start using it from 1.0 onwards (seeing as it's coming soon IIRC).

@fthomas
Copy link
Contributor

fthomas commented Jul 9, 2020

Scala Steward isn't using sbt-updates anymore and would create PRs for 0.9.18 to 0.9.18.1. It hasn't created PRs for 0.9.18-1 since it ignores versions with a hyphen if the current version does not contain one.

Update: scala-steward-org/scala-steward#1148 explains why it does that.

@bjaglin
Copy link
Collaborator

bjaglin commented Jul 9, 2020

oh, thanks for chiming-in @fthomas - my bad, I missed https://github.com/fthomas/scala-steward/pull/1287/files.

@mlachkar
Copy link
Collaborator

mlachkar commented Jul 9, 2020

I think we can release 0.9.19. I like the idea of keeping this kind of versioning was (0.9.18-1) for intermediate releases, that Scala Steward won't advertise.

bjaglin pushed a commit to bjaglin/scala-rewrites that referenced this issue Jul 9, 2020
@bjaglin bjaglin removed this from the v1.0.0 milestone Oct 22, 2020
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

Successfully merging a pull request may close this issue.

9 participants