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

sbt stuck on windows 10 command prompt #5128

Closed
HongyiFu opened this issue Sep 24, 2019 · 15 comments
Closed

sbt stuck on windows 10 command prompt #5128

HongyiFu opened this issue Sep 24, 2019 · 15 comments

Comments

@HongyiFu
Copy link

steps

sbt version: 1.2.8, 1.3.0, 1.3.2,
java 11
windows 10 cmd

Install sbt through the windows installer (.msi file).
Type sbt in command prompt.
sbt does not proceed past this step:

[info] Loading settings for project global-plugins from idea.sbt ...

problem

sbt does not proceed past:
[info] Loading settings for project global-plugins from idea.sbt ...

I didn't wait past 15 minutes. I had to ctrl+c to kill it. At which point it says:

[info] Loading settings for project global-plugins from idea.sbt ...
2019-09-25 03:36:58,865 shutdown-hooks-run-all ERROR No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property 'log4j2.debug' to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2
Terminate batch job (Y/N)?

expectation

sbt should work.

notes

I noticed it's waiting for idea.sbt. Could this be an issue related to intellij? I have intelliJ community installed. I could not find any information regarding this file on the internet.

I upgraded to 1.3.2 and faced this issue, downgraded to 1.3.0 and 1.2.8 and still faced the same issue.

Previously I had 1.2.8 working perfectly on intellij, though I suspect it would have the same problem if I were to run from cmd.

I have not tested sbt 1.3.2 on Intellij. I presume it should work fine (since there were no github issues). This is only for cmd.

@HongyiFu HongyiFu added the Bug label Sep 24, 2019
@eed3si9n
Copy link
Member

Does it happen on all projects?
Also could you remove all plugins, including IntelliJ plugin and see if your build would load?

@HongyiFu
Copy link
Author

HongyiFu commented Oct 8, 2019

Hi, sorry for the late reply. It does seem to happen on all projects - from Play projects to empty directory that I use for sbt console (didn't want the project/ and target/ folders created everywhere so I have an empty directory specifically for running console).

I have deleted the plugins (in ~/.sbt/plugins/1.0) but it didn't help. Right now there are no output at all on the screen after I typed sbt. After CTRL-C, the same line came out (at least I think so, they look extremely similar and I forgot to copy it):

2019-09-25 03:36:58,865 shutdown-hooks-run-all ERROR No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property 'log4j2.debug' to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2
Terminate batch job (Y/N)?

Some updates: Running IntelliJ on 1.3.2 does not work. Reverting back to 1.2.8 solves the problem - both when using from command prompt and from IntelliJ. All testing done on JDK11.

FWIW I am using a 6 years-old computer (W10) running on HDD so it's not the most performant computer.

@soronpo
Copy link

soronpo commented Dec 23, 2019

This occurs on my machine as well. Windows 7 64-bit. Same problem exactly (including the error message when aborting). SBT 1.2.8 works, but 1.3.x gets stuck.
Here is my jstack dump

2019-12-24 00:34:03
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.231-b11 mixed mode):

"classloader-cache-cleanup-0" #13 daemon prio=5 os_prio=0 tid=0x00000000560d6000 nid=0x41c in Object.wait() [0x000000005b2ef000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000000c14784a8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	- locked <0x00000000c14784a8> (a java.lang.ref.ReferenceQueue$Lock)
	at sbt.internal.classpath.ClassLoaderCache$CleanupThread.run(ClassLoaderCache.scala:102)

"Service Thread" #9 daemon prio=9 os_prio=0 tid=0x00000000506ed800 nid=0x9d0 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x000000005065f800 nid=0x28a0 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x0000000050658800 nid=0x165c waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x0000000050652800 nid=0x5b8 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x00000000062af000 nid=0x1330 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x00000000062ae000 nid=0x271c runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x000000000628d800 nid=0x1ef4 in Object.wait() [0x000000005064f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000000c000a3e8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	- locked <0x00000000c000a3e8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x0000000006246800 nid=0x268c in Object.wait() [0x000000005012e000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x00000000c0003e08> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Unknown Source)
	at java.lang.ref.Reference.tryHandlePending(Unknown Source)
	- locked <0x00000000c0003e08> (a java.lang.ref.Reference$Lock)
	at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

"main" #1 prio=5 os_prio=0 tid=0x00000000020f8800 nid=0x1e98 runnable [0x000000000282a000]
   java.lang.Thread.State: RUNNABLE
	at java.io.FileInputStream.readBytes(Native Method)
	at java.io.FileInputStream.read(Unknown Source)
	at java.io.BufferedInputStream.read1(Unknown Source)
	at java.io.BufferedInputStream.read(Unknown Source)
	- locked <0x00000000ed6a9ae8> (a java.io.BufferedInputStream)
	at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
	at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
	at sun.nio.cs.StreamDecoder.read(Unknown Source)
	- locked <0x00000000ed6ac3b8> (a java.io.InputStreamReader)
	at java.io.InputStreamReader.read(Unknown Source)
	at java.io.BufferedReader.fill(Unknown Source)
	at java.io.BufferedReader.readLine(Unknown Source)
	- locked <0x00000000ed6ac3b8> (a java.io.InputStreamReader)
	at java.io.BufferedReader.readLine(Unknown Source)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.Util.runCommands(Util.java:160)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.Util.getWinDirs(Util.java:122)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.ProjectDirectories.fromPath(ProjectDirectories.java:221)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.ProjectDirectories.from(ProjectDirectories.java:274)
	at lmcoursier.internal.shaded.coursier.paths.CoursierPaths.coursierDirectories(CoursierPaths.java:82)
	- locked <0x00000000ed666760> (a java.lang.Object)
	at lmcoursier.internal.shaded.coursier.paths.CoursierPaths.computeCacheDirectory(CoursierPaths.java:44)
	at lmcoursier.internal.shaded.coursier.paths.CoursierPaths.cacheDirectory(CoursierPaths.java:70)
	- locked <0x00000000ed666770> (a java.lang.Object)
	at lmcoursier.internal.shaded.coursier.paths.CachePath.defaultCacheDirectory(CachePath.java:93)
	at lmcoursier.internal.shaded.coursier.cache.CacheDefaults$.location$lzycompute(CacheDefaults.scala:16)
	- locked <0x00000000ed614370> (a lmcoursier.internal.shaded.coursier.cache.CacheDefaults$)
	at lmcoursier.internal.shaded.coursier.cache.CacheDefaults$.location(CacheDefaults.scala:16)
	at lmcoursier.CoursierDependencyResolution$.defaultCacheLocation(CoursierDependencyResolution.scala:262)
	at sbt.coursierint.LMCoursier$.defaultCacheLocation(LMCoursier.scala:43)
	at sbt.Defaults$.globalIvyCore$lzycompute(Defaults.scala:253)
	- locked <0x00000000ec2266a0> (a sbt.Defaults$)
	at sbt.Defaults$.globalIvyCore(Defaults.scala:212)
	at sbt.Defaults$.globalCore$lzycompute(Defaults.scala:165)
	- locked <0x00000000ec2266a0> (a sbt.Defaults$)
	at sbt.Defaults$.globalCore(Defaults.scala:150)
	at sbt.Defaults$.buildCore(Defaults.scala:143)
	at sbt.internal.BuildDef.settings(BuildDef.scala:23)
	at sbt.internal.BuildDef.settings$(BuildDef.scala:23)
	at sbt.internal.BuildDef$$anon$1.settings(BuildDef.scala:34)
	at sbt.internal.Load$.$anonfun$buildSettings$1(Load.scala:532)
	at sbt.internal.Load$$$Lambda$1651/1566311673.apply(Unknown Source)
	at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:245)
	at scala.collection.TraversableLike$$Lambda$93/511717113.apply(Unknown Source)
	at scala.collection.immutable.List.foreach(List.scala:392)
	at scala.collection.TraversableLike.flatMap(TraversableLike.scala:245)
	at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:242)
	at scala.collection.immutable.List.flatMap(List.scala:355)
	at sbt.internal.Load$.buildSettings(Load.scala:532)
	at sbt.internal.Load$.loaded(Load.scala:524)
	at sbt.internal.Load$.loadURI$1(Load.scala:542)
	at sbt.internal.Load$.loadAll(Load.scala:558)
	at sbt.internal.Load$.loadURI(Load.scala:488)
	at sbt.internal.Load$.load(Load.scala:467)
	at sbt.internal.Load$.$anonfun$apply$1(Load.scala:243)
	at sbt.internal.Load$$$Lambda$920/775423528.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.apply(Load.scala:243)
	at sbt.internal.Load$.buildPluginDefinition(Load.scala:1293)
	at sbt.internal.Load$.buildPlugins(Load.scala:1223)
	at sbt.internal.Load$.plugins(Load.scala:1202)
	at sbt.internal.Load$.$anonfun$loadUnit$2(Load.scala:688)
	at sbt.internal.Load$$$Lambda$951/164757726.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:688)
	at sbt.internal.Load$$$Lambda$950/1809995046.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.loadUnit(Load.scala:682)
	at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:480)
	at sbt.internal.Load$$$Lambda$946/1582277082.apply(Unknown Source)
	at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:180)
	at sbt.internal.BuildLoader$$$Lambda$948/1066582857.apply(Unknown Source)
	at sbt.internal.BuildLoader.apply(BuildLoader.scala:245)
	at sbt.internal.Load$.loadURI$1(Load.scala:542)
	at sbt.internal.Load$.loadAll(Load.scala:558)
	at sbt.internal.Load$.loadURI(Load.scala:488)
	at sbt.internal.Load$.load(Load.scala:467)
	at sbt.internal.Load$.$anonfun$apply$1(Load.scala:243)
	at sbt.internal.Load$$$Lambda$920/775423528.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.apply(Load.scala:243)
	at sbt.internal.Load$.defaultLoad(Load.scala:55)
	at sbt.BuiltinCommands$.liftedTree1$1(Main.scala:839)
	at sbt.BuiltinCommands$.doLoadProject(Main.scala:839)
	at sbt.BuiltinCommands$.$anonfun$loadProjectImpl$2(Main.scala:801)
	at sbt.BuiltinCommands$$$Lambda$697/46259342.apply(Unknown Source)
	at sbt.Command$.$anonfun$applyEffect$4(Command.scala:149)
	at sbt.Command$$$Lambda$548/749443480.apply(Unknown Source)
	at sbt.Command$.$anonfun$applyEffect$2(Command.scala:144)
	at sbt.Command$$$Lambda$674/3886839.apply(Unknown Source)
	at sbt.Command$.process(Command.scala:187)
	at sbt.MainLoop$.process$1(MainLoop.scala:193)
	at sbt.MainLoop$.processCommand(MainLoop.scala:229)
	at sbt.MainLoop$.$anonfun$next$2(MainLoop.scala:142)
	at sbt.MainLoop$$$Lambda$531/579447973.apply(Unknown Source)
	at sbt.State$StateOpsImpl$.runCmd$1(State.scala:273)
	at sbt.State$StateOpsImpl$.process$extension(State.scala:277)
	at sbt.MainLoop$.$anonfun$next$1(MainLoop.scala:142)
	at sbt.MainLoop$$$Lambda$530/1160487387.apply(Unknown Source)
	at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
	at sbt.MainLoop$.next(MainLoop.scala:142)
	at sbt.MainLoop$.run(MainLoop.scala:133)
	at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:111)
	at sbt.MainLoop$$$Lambda$523/1681094402.apply(Unknown Source)
	at sbt.io.Using.apply(Using.scala:27)
	at sbt.MainLoop$.runWithNewLog(MainLoop.scala:105)
	at sbt.MainLoop$.runAndClearLast(MainLoop.scala:60)
	at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:45)
	at sbt.MainLoop$.runLogged(MainLoop.scala:36)
	at sbt.StandardMain$.runManaged(Main.scala:132)
	at sbt.xMain$.run(Main.scala:67)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at sbt.internal.XMainConfiguration.run(XMainConfiguration.scala:45)
	at sbt.xMain.run(Main.scala:39)
	at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:111)
	at xsbt.boot.Launch$.withContextLoader(Launch.scala:130)
	at xsbt.boot.Launch$.run(Launch.scala:111)
	at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:37)
	at xsbt.boot.Launch$.launch(Launch.scala:119)
	at xsbt.boot.Launch$.apply(Launch.scala:20)
	at xsbt.boot.Boot$.runImpl(Boot.scala:56)
	at xsbt.boot.Boot$.main(Boot.scala:18)
	at xsbt.boot.Boot.main(Boot.scala)

"VM Thread" os_prio=2 tid=0x000000000623f000 nid=0x96c runnable 

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x000000000210d800 nid=0x760 runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x000000000210f000 nid=0xd48 runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x0000000002110800 nid=0x1d78 runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x0000000002114000 nid=0x2b9c runnable 

"VM Periodic Task Thread" os_prio=2 tid=0x00000000506f7000 nid=0x2004 waiting on condition 

JNI global references: 2803

@soronpo
Copy link

soronpo commented Dec 24, 2019

This is the dump file when I run sbt 1.3.5 with just a build.properties file:

2019-12-24 02:10:02
Full thread dump OpenJDK Client VM (11.0.5+10 mixed mode):

Threads class SMR info:
_java_thread_list=0x51f70c18, length=10, elements={
0x00420c00, 0x0b54d800, 0x0b54f400, 0x0b581c00,
0x0b582c00, 0x0b584c00, 0x0b58a400, 0x0b609c00,
0x0b630400, 0x4ff5d000
}

"main" #1 prio=5 os_prio=0 cpu=3057.62ms elapsed=46.39s tid=0x00420c00 nid=0x4e0 runnable  [0x024fc000]
   java.lang.Thread.State: RUNNABLE
	at java.io.FileInputStream.readBytes(java.base@11.0.5/Native Method)
	at java.io.FileInputStream.read(java.base@11.0.5/FileInputStream.java:279)
	at java.io.BufferedInputStream.read1(java.base@11.0.5/BufferedInputStream.java:290)
	at java.io.BufferedInputStream.read(java.base@11.0.5/BufferedInputStream.java:351)
	- locked <0x140034d0> (a java.io.BufferedInputStream)
	at sun.nio.cs.StreamDecoder.readBytes(java.base@11.0.5/StreamDecoder.java:284)
	at sun.nio.cs.StreamDecoder.implRead(java.base@11.0.5/StreamDecoder.java:326)
	at sun.nio.cs.StreamDecoder.read(java.base@11.0.5/StreamDecoder.java:178)
	- locked <0x140056f8> (a java.io.InputStreamReader)
	at java.io.InputStreamReader.read(java.base@11.0.5/InputStreamReader.java:185)
	at java.io.BufferedReader.fill(java.base@11.0.5/BufferedReader.java:161)
	at java.io.BufferedReader.readLine(java.base@11.0.5/BufferedReader.java:326)
	- locked <0x140056f8> (a java.io.InputStreamReader)
	at java.io.BufferedReader.readLine(java.base@11.0.5/BufferedReader.java:392)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.Util.runCommands(Util.java:160)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.Util.getWinDirs(Util.java:122)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.ProjectDirectories.fromPath(ProjectDirectories.java:221)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.ProjectDirectories.from(ProjectDirectories.java:274)
	at lmcoursier.internal.shaded.coursier.paths.CoursierPaths.coursierDirectories(CoursierPaths.java:82)
	- locked <0x13fceb90> (a java.lang.Object)
	at lmcoursier.internal.shaded.coursier.paths.CoursierPaths.computeCacheDirectory(CoursierPaths.java:44)
	at lmcoursier.internal.shaded.coursier.paths.CoursierPaths.cacheDirectory(CoursierPaths.java:70)
	- locked <0x13fceb98> (a java.lang.Object)
	at lmcoursier.internal.shaded.coursier.paths.CachePath.defaultCacheDirectory(CachePath.java:93)
	at lmcoursier.internal.shaded.coursier.cache.CacheDefaults$.location$lzycompute(CacheDefaults.scala:16)
	- locked <0x13f9a280> (a lmcoursier.internal.shaded.coursier.cache.CacheDefaults$)
	at lmcoursier.internal.shaded.coursier.cache.CacheDefaults$.location(CacheDefaults.scala:16)
	at lmcoursier.CoursierDependencyResolution$.defaultCacheLocation(CoursierDependencyResolution.scala:262)
	at sbt.coursierint.LMCoursier$.defaultCacheLocation(LMCoursier.scala:43)
	at sbt.Defaults$.globalIvyCore$lzycompute(Defaults.scala:253)
	- locked <0x12bfe128> (a sbt.Defaults$)
	at sbt.Defaults$.globalIvyCore(Defaults.scala:212)
	at sbt.Defaults$.globalCore$lzycompute(Defaults.scala:165)
	- locked <0x12bfe128> (a sbt.Defaults$)
	at sbt.Defaults$.globalCore(Defaults.scala:150)
	at sbt.Defaults$.buildCore(Defaults.scala:143)
	at sbt.internal.BuildDef.settings(BuildDef.scala:23)
	at sbt.internal.BuildDef.settings$(BuildDef.scala:23)
	at sbt.internal.BuildDef$$anon$1.settings(BuildDef.scala:34)
	at sbt.internal.Load$.$anonfun$buildSettings$1(Load.scala:532)
	at sbt.internal.Load$$$Lambda$1672/0x53d57828.apply(Unknown Source)
	at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:245)
	at scala.collection.TraversableLike$$Lambda$110/0x50aa0828.apply(Unknown Source)
	at scala.collection.immutable.List.foreach(List.scala:392)
	at scala.collection.TraversableLike.flatMap(TraversableLike.scala:245)
	at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:242)
	at scala.collection.immutable.List.flatMap(List.scala:355)
	at sbt.internal.Load$.buildSettings(Load.scala:532)
	at sbt.internal.Load$.loaded(Load.scala:524)
	at sbt.internal.Load$.loadURI$1(Load.scala:542)
	at sbt.internal.Load$.loadAll(Load.scala:558)
	at sbt.internal.Load$.loadURI(Load.scala:488)
	at sbt.internal.Load$.load(Load.scala:467)
	at sbt.internal.Load$.$anonfun$apply$1(Load.scala:243)
	at sbt.internal.Load$$$Lambda$1044/0x5396d228.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.apply(Load.scala:243)
	at sbt.internal.Load$.buildPluginDefinition(Load.scala:1293)
	at sbt.internal.Load$.buildPlugins(Load.scala:1223)
	at sbt.internal.Load$.plugins(Load.scala:1202)
	at sbt.internal.Load$.$anonfun$loadUnit$2(Load.scala:688)
	at sbt.internal.Load$$$Lambda$1075/0x53997628.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:688)
	at sbt.internal.Load$$$Lambda$1074/0x53996628.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.loadUnit(Load.scala:682)
	at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:480)
	at sbt.internal.Load$$$Lambda$1070/0x53992828.apply(Unknown Source)
	at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:180)
	at sbt.internal.BuildLoader$$$Lambda$1072/0x53994628.apply(Unknown Source)
	at sbt.internal.BuildLoader.apply(BuildLoader.scala:245)
	at sbt.internal.Load$.loadURI$1(Load.scala:542)
	at sbt.internal.Load$.loadAll(Load.scala:558)
	at sbt.internal.Load$.loadURI(Load.scala:488)
	at sbt.internal.Load$.load(Load.scala:467)
	at sbt.internal.Load$.$anonfun$apply$1(Load.scala:243)
	at sbt.internal.Load$$$Lambda$1044/0x5396d228.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.apply(Load.scala:243)
	at sbt.internal.Load$.buildPluginDefinition(Load.scala:1293)
	at sbt.internal.Load$.buildPlugins(Load.scala:1223)
	at sbt.internal.Load$.plugins(Load.scala:1202)
	at sbt.internal.Load$.$anonfun$loadUnit$2(Load.scala:688)
	at sbt.internal.Load$$$Lambda$1075/0x53997628.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:688)
	at sbt.internal.Load$$$Lambda$1074/0x53996628.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.loadUnit(Load.scala:682)
	at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:480)
	at sbt.internal.Load$$$Lambda$1070/0x53992828.apply(Unknown Source)
	at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:180)
	at sbt.internal.BuildLoader$$$Lambda$1072/0x53994628.apply(Unknown Source)
	at sbt.internal.BuildLoader.apply(BuildLoader.scala:245)
	at sbt.internal.Load$.loadURI$1(Load.scala:542)
	at sbt.internal.Load$.loadAll(Load.scala:558)
	at sbt.internal.Load$.loadURI(Load.scala:488)
	at sbt.internal.Load$.load(Load.scala:467)
	at sbt.internal.Load$.$anonfun$apply$1(Load.scala:243)
	at sbt.internal.Load$$$Lambda$1044/0x5396d228.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.apply(Load.scala:243)
	at sbt.internal.Load$.defaultLoad(Load.scala:55)
	at sbt.BuiltinCommands$.liftedTree1$1(Main.scala:839)
	at sbt.BuiltinCommands$.doLoadProject(Main.scala:839)
	at sbt.BuiltinCommands$.$anonfun$loadProjectImpl$2(Main.scala:801)
	at sbt.BuiltinCommands$$$Lambda$812/0x5307a828.apply(Unknown Source)
	at sbt.Command$.$anonfun$applyEffect$4(Command.scala:149)
	at sbt.Command$$$Lambda$663/0x0ee5c828.apply(Unknown Source)
	at sbt.Command$.$anonfun$applyEffect$2(Command.scala:144)
	at sbt.Command$$$Lambda$789/0x0f01cc28.apply(Unknown Source)
	at sbt.Command$.process(Command.scala:187)
	at sbt.MainLoop$.process$1(MainLoop.scala:193)
	at sbt.MainLoop$.processCommand(MainLoop.scala:229)
	at sbt.MainLoop$.$anonfun$next$2(MainLoop.scala:142)
	at sbt.MainLoop$$$Lambda$646/0x0edb3028.apply(Unknown Source)
	at sbt.State$StateOpsImpl$.runCmd$1(State.scala:273)
	at sbt.State$StateOpsImpl$.process$extension(State.scala:277)
	at sbt.MainLoop$.$anonfun$next$1(MainLoop.scala:142)
	at sbt.MainLoop$$$Lambda$645/0x0edb4c28.apply(Unknown Source)
	at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
	at sbt.MainLoop$.next(MainLoop.scala:142)
	at sbt.MainLoop$.run(MainLoop.scala:133)
	at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:111)
	at sbt.MainLoop$$$Lambda$638/0x0edb0028.apply(Unknown Source)
	at sbt.io.Using.apply(Using.scala:27)
	at sbt.MainLoop$.runWithNewLog(MainLoop.scala:105)
	at sbt.MainLoop$.runAndClearLast(MainLoop.scala:60)
	at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:45)
	at sbt.MainLoop$.runLogged(MainLoop.scala:36)
	at sbt.StandardMain$.runManaged(Main.scala:132)
	at sbt.xMain$.run(Main.scala:67)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@11.0.5/Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@11.0.5/NativeMethodAccessorImpl.java:62)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@11.0.5/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@11.0.5/Method.java:566)
	at sbt.internal.XMainConfiguration.run(XMainConfiguration.scala:45)
	at sbt.xMain.run(Main.scala:39)
	at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:111)
	at xsbt.boot.Launch$.withContextLoader(Launch.scala:130)
	at xsbt.boot.Launch$.run(Launch.scala:111)
	at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:37)
	at xsbt.boot.Launch$.launch(Launch.scala:119)
	at xsbt.boot.Launch$.apply(Launch.scala:20)
	at xsbt.boot.Boot$.runImpl(Boot.scala:56)
	at xsbt.boot.Boot$.main(Boot.scala:18)
	at xsbt.boot.Boot.main(Boot.scala)

"Reference Handler" #2 daemon prio=10 os_prio=2 cpu=0.00ms elapsed=46.36s tid=0x0b54d800 nid=0xf90 waiting on condition  [0x0bbaf000]
   java.lang.Thread.State: RUNNABLE
	at java.lang.ref.Reference.waitForReferencePendingList(java.base@11.0.5/Native Method)
	at java.lang.ref.Reference.processPendingReferences(java.base@11.0.5/Reference.java:241)
	at java.lang.ref.Reference$ReferenceHandler.run(java.base@11.0.5/Reference.java:213)

"Finalizer" #3 daemon prio=8 os_prio=1 cpu=0.00ms elapsed=46.36s tid=0x0b54f400 nid=0x2324 in Object.wait()  [0x0c0af000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@11.0.5/Native Method)
	- waiting on <0x24d57700> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@11.0.5/ReferenceQueue.java:155)
	- waiting to re-lock in wait() <0x24d57700> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@11.0.5/ReferenceQueue.java:176)
	at java.lang.ref.Finalizer$FinalizerThread.run(java.base@11.0.5/Finalizer.java:170)

"Signal Dispatcher" #4 daemon prio=9 os_prio=2 cpu=0.00ms elapsed=46.36s tid=0x0b581c00 nid=0x10a8 runnable  [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" #5 daemon prio=5 os_prio=2 cpu=0.00ms elapsed=46.36s tid=0x0b582c00 nid=0x2670 waiting on condition  [0x00000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread0" #6 daemon prio=9 os_prio=2 cpu=608.40ms elapsed=46.36s tid=0x0b584c00 nid=0x344 waiting on condition  [0x00000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"Sweeper thread" #7 daemon prio=9 os_prio=2 cpu=0.00ms elapsed=46.36s tid=0x0b58a400 nid=0x21b4 runnable  [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Service Thread" #8 daemon prio=9 os_prio=0 cpu=15.60ms elapsed=46.32s tid=0x0b609c00 nid=0x2958 runnable  [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Common-Cleaner" #9 daemon prio=8 os_prio=1 cpu=0.00ms elapsed=46.32s tid=0x0b630400 nid=0xc54 in Object.wait()  [0x0da6f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@11.0.5/Native Method)
	- waiting on <0x24dc8e38> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@11.0.5/ReferenceQueue.java:155)
	- waiting to re-lock in wait() <0x24dc8e38> (a java.lang.ref.ReferenceQueue$Lock)
	at jdk.internal.ref.CleanerImpl.run(java.base@11.0.5/CleanerImpl.java:148)
	at java.lang.Thread.run(java.base@11.0.5/Thread.java:834)
	at jdk.internal.misc.InnocuousThread.run(java.base@11.0.5/InnocuousThread.java:134)

"classloader-cache-cleanup-0" #13 daemon prio=5 os_prio=0 cpu=0.00ms elapsed=44.04s tid=0x4ff5d000 nid=0xcfc in Object.wait()  [0x535af000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@11.0.5/Native Method)
	- waiting on <0x26a82058> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@11.0.5/ReferenceQueue.java:155)
	- waiting to re-lock in wait() <0x26a82058> (a java.lang.ref.ReferenceQueue$Lock)
	at sbt.internal.classpath.ClassLoaderCache$CleanupThread.run(ClassLoaderCache.scala:102)

"VM Thread" os_prio=2 cpu=109.20ms elapsed=46.37s tid=0x0b54ac00 nid=0x75c runnable  

"VM Periodic Task Thread" os_prio=2 cpu=0.00ms elapsed=46.32s tid=0x0b60d000 nid=0x22d8 waiting on condition  

JNI global refs: 16, weak refs: 0

@eatkins
Copy link
Contributor

eatkins commented Dec 24, 2019

This looks a bug in coursier. Could you report it there as well, please?

@soronpo
Copy link

soronpo commented Dec 24, 2019

Maybe this bug was already resolved? coursier/coursier#1387
Which version of coursier does SBT uses?

@soronpo
Copy link

soronpo commented Jan 14, 2020

Any news on this? I'm stuck. Can't upgrade to 1.3.x because of this bug, and cannot publish in 1.2.8 due to a protobuf bug that was supposedly already resolved in 1.3.x

@eed3si9n
Copy link
Member

eed3si9n commented Jan 14, 2020

@soronpo There was a change to directories-jvm dirs-dev/directories-jvm#27, which was about it returning a directory named "null" in the current working directory, but it highlighted the issue of Coursier shelling out to powershell to calculate the default cache directory.

There's some possibility that #5354 might fix this, but otherwise I'd suggest you define COURSIER_HOME environment variable or use -Dsbt.coursier.home system property as a workaround.

I suggested that we use the same directory for all OSes here coursier/coursier#1483, but it doesn't seem to be a popular suggestion.

workaround

Define COURSIER_HOME environment variable or use -Dsbt.coursier.home system property to work around the fact that shelling out to powershell might get stuck.

@eed3si9n
Copy link
Member

For the record sbt 1.3.6 uses lm-coursier-shaded 2.0.0-RC5-2, which uses Coursier 2.0.0-RC5-2, which uses some version of directories-jvm https://github.com/coursier/coursier/tree/v2.0.0-RC5-2/modules.

@eed3si9n eed3si9n added area/library_management library management workaround exists There's a workaround labels Jan 14, 2020
@eed3si9n
Copy link
Member

@soronpo For the actual fix, I suggest you open an issue on https://github.com/soc/directories-jvm/

@soronpo
Copy link

soronpo commented Jan 15, 2020

@eed3si9n it seems the coursier issue just hide the true problem.

Define COURSIER_HOME environment variable or use -Dsbt.coursier.home system property to work around the fact that shelling out to powershell might get stuck.

I did it, and now it's stuck around a plugin-update

>sbt --debug -Dcoursier.cache=%LOCALAPPDATA%\Coursier\Cache\v1
[args_loop] -D argument -Dcoursier.cache=C:\Users\soronpo\AppData\Local\Coursier\Cache\v1
[addMemory] arg = '1024'
[addJava] arg = '-Xms1024m'
[addJava] arg = '-Xmx1024m'
[addJava] arg = '-Xss4M'
[addJava] arg = '-XX:ReservedCodeCacheSize=128m'
[debug] "not up to date. inChanged = true, force = false
[debug] Updating ProjectRef(uri("file:/C:/Users/soronpo/.sbt/1.0/plugins/"), "global-plugins")...

  | => global-plugins / update 287s

@soronpo
Copy link

soronpo commented Jan 15, 2020

I tried a completely empty new project (environment variable for coursier is set):


c:\temp\Stuck>sbt --debug
[addMemory] arg = '1024'
[addJava] arg = '-Xms1024m'
[addJava] arg = '-Xmx1024m'
[addJava] arg = '-Xss4M'
[addJava] arg = '-XX:ReservedCodeCacheSize=128m'
[debug] "not up to date. inChanged = true, force = false
[debug] Updating ProjectRef(uri("file:/C:/temp/Stuck/project/"), "stuck-build")...








  | => stuck-build / update 75s
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(early(addDefaultCommands), None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(addDefaultCommands, None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(early(initialize), None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(initialize, None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(-debug, None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(debug, None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(boot, None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(writeSbtVersion, None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(reload, None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(sbtStashOnFailure, None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(onFailure loadFailed, None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m> Exec(loadp, None, None)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0mLoad.defaultLoad until apply took 276.268787ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m          Load.loadUnit: plugins took 64.426483ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m          Load.loadUnit: defsScala took 0.283338ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m[Loading] Scanning directory C:\temp\Stuck\project�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m[Loading] Found non-root projects �[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m[Loading] Done in C:\temp\Stuck\project, returning: ()�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0mdeducing 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.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(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))), Clause(Atom(sbt.plugins.JvmPlugin),Set(Atom(sbt.plugins.JUnitXmlReportPlugin))), Clause(Atom(sbt.plugins.CorePlugin),Set(Atom(sbt.plugins.Giter8TemplatePlugin)))))�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m  :: deduced result: Matched(sbt.plugins.CorePlugin,sbt.plugins.Giter8TemplatePlugin,sbt.plugins.IvyPlugin,sbt.plugins.JvmPlugin,sbt.plugins.JUnitXmlReportPlugin,sbt.plugins.SemanticdbPlugin)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0mPlugins.deducer#function took 16.613402 ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m              Load.resolveProject(stuck-build) took 262.009974ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m            Load.loadTransitive: finalizeProject(Project(id stuck-build, base: C:\temp\Stuck\project, plugins: List(<none>))) took 287.25918ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m[Loading] Done in C:\temp\Stuck\project, returning: (stuck-build)�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m          Load.loadUnit: loadedProjectsRaw took 305.525937ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m          Load.loadUnit: cleanEvalClasses took 0.264741ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m        Load.loadUnit(file:/C:/temp/Stuck/project/, ...) took 375.648725ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m      Load.apply: load took 478.94763ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m      Load.apply: resolveProjects took 6.232715ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m      Load.apply: finalTransforms took 39.860643ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m      Load.apply: config.delegates took 6.609406ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m      Load.apply: Def.make(settings)... took 425.649017ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m      Load.apply: structureIndex took 94.841053ms�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0m      Load.apply: mkStreams took 1.57313ms�[0m
�[0m[�[0m�[0minfo�[0m] �[0m�[0mLoading project definition from C:\temp\Stuck\project�[0m
�[0m[�[0m�[0mdebug�[0m] �[0m�[0mRunning task... Cancel: Signal, check cycles: false, forcegc: true�[0m

@soronpo
Copy link

soronpo commented Jan 15, 2020

This is the jstack dump:

2020-01-15 07:25:16
Full thread dump OpenJDK Client VM (11.0.5+10 mixed mode):

Threads class SMR info:
_java_thread_list=0x52c2b168, length=21, elements={
0x00510c00, 0x0b4d5c00, 0x0b4d7800, 0x0b50ac00,
0x0b50c400, 0x0b50f800, 0x0b513c00, 0x0b5a6c00,
0x0b5cb400, 0x520c1400, 0x52b06800, 0x52a7f800,
0x52ad4400, 0x52ad4c00, 0x521c8800, 0x521c9000,
0x521c9800, 0x521ca000, 0x521ca800, 0x521cb000,
0x521cb400
}

"main" #1 prio=5 os_prio=0 cpu=3744.02ms elapsed=54.82s tid=0x00510c00 nid=0x2d54 waiting on condition  [0x0250d000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@11.0.5/Native Method)
	- parking to wait for  <0x17ac12f0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(java.base@11.0.5/LockSupport.java:194)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.5/AbstractQueuedSynchronizer.java:2081)
	at java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.5/LinkedBlockingQueue.java:433)
	at java.util.concurrent.ExecutorCompletionService.take(java.base@11.0.5/ExecutorCompletionService.java:200)
	at sbt.ConcurrentRestrictions$$anon$4.take(ConcurrentRestrictions.scala:213)
	at sbt.Execute.next$1(Execute.scala:116)
	at sbt.Execute.processAll(Execute.scala:126)
	at sbt.Execute.runKeep(Execute.scala:94)
	at sbt.EvaluateTask$.liftedTree1$1(EvaluateTask.scala:477)
	at sbt.EvaluateTask$.run$1(EvaluateTask.scala:476)
	at sbt.EvaluateTask$.runTask(EvaluateTask.scala:497)
	at sbt.EvaluateTask$.$anonfun$apply$3(EvaluateTask.scala:357)
	at sbt.EvaluateTask$$$Lambda$2230/0x549fd028.apply(Unknown Source)
	at scala.Option$WithFilter.map(Option.scala:230)
	at sbt.EvaluateTask$.$anonfun$apply$1(EvaluateTask.scala:356)
	at sbt.EvaluateTask$$$Lambda$2216/0x549e8828.apply(Unknown Source)
	at sbt.EvaluateTask$.withStreams(EvaluateTask.scala:400)
	at sbt.EvaluateTask$.apply(EvaluateTask.scala:355)
	at sbt.EvaluateTask$.evalPluginDef(EvaluateTask.scala:316)
	at sbt.internal.Load$.$anonfun$defaultPreGlobal$1(Load.scala:99)
	at sbt.internal.Load$$$Lambda$1031/0x53825028.apply(Unknown Source)
	at sbt.internal.Load$.buildPluginDefinition(Load.scala:1295)
	at sbt.internal.Load$.buildPlugins(Load.scala:1223)
	at sbt.internal.Load$.plugins(Load.scala:1202)
	at sbt.internal.Load$.$anonfun$loadUnit$2(Load.scala:688)
	at sbt.internal.Load$$$Lambda$1074/0x538b7a28.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:688)
	at sbt.internal.Load$$$Lambda$1073/0x538b6628.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.loadUnit(Load.scala:682)
	at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:480)
	at sbt.internal.Load$$$Lambda$1069/0x538b2828.apply(Unknown Source)
	at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:180)
	at sbt.internal.BuildLoader$$$Lambda$1071/0x538b4628.apply(Unknown Source)
	at sbt.internal.BuildLoader.apply(BuildLoader.scala:245)
	at sbt.internal.Load$.loadURI$1(Load.scala:542)
	at sbt.internal.Load$.loadAll(Load.scala:558)
	at sbt.internal.Load$.loadURI(Load.scala:488)
	at sbt.internal.Load$.load(Load.scala:467)
	at sbt.internal.Load$.$anonfun$apply$1(Load.scala:243)
	at sbt.internal.Load$$$Lambda$1043/0x5388d228.apply(Unknown Source)
	at sbt.internal.Load$.timed(Load.scala:1376)
	at sbt.internal.Load$.apply(Load.scala:243)
	at sbt.internal.Load$.defaultLoad(Load.scala:55)
	at sbt.BuiltinCommands$.liftedTree1$1(Main.scala:839)
	at sbt.BuiltinCommands$.doLoadProject(Main.scala:839)
	at sbt.BuiltinCommands$.$anonfun$loadProjectImpl$2(Main.scala:801)
	at sbt.BuiltinCommands$$$Lambda$811/0x0f1da828.apply(Unknown Source)
	at sbt.Command$.$anonfun$applyEffect$4(Command.scala:149)
	at sbt.Command$$$Lambda$662/0x0ef9c828.apply(Unknown Source)
	at sbt.Command$.$anonfun$applyEffect$2(Command.scala:144)
	at sbt.Command$$$Lambda$788/0x0f15cc28.apply(Unknown Source)
	at sbt.Command$.process(Command.scala:187)
	at sbt.MainLoop$.process$1(MainLoop.scala:193)
	at sbt.MainLoop$.processCommand(MainLoop.scala:229)
	at sbt.MainLoop$.$anonfun$next$2(MainLoop.scala:142)
	at sbt.MainLoop$$$Lambda$645/0x0eea3028.apply(Unknown Source)
	at sbt.State$StateOpsImpl$.runCmd$1(State.scala:273)
	at sbt.State$StateOpsImpl$.process$extension(State.scala:277)
	at sbt.MainLoop$.$anonfun$next$1(MainLoop.scala:142)
	at sbt.MainLoop$$$Lambda$644/0x0eea4c28.apply(Unknown Source)
	at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
	at sbt.MainLoop$.next(MainLoop.scala:142)
	at sbt.MainLoop$.run(MainLoop.scala:133)
	at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:111)
	at sbt.MainLoop$$$Lambda$637/0x0eea0028.apply(Unknown Source)
	at sbt.io.Using.apply(Using.scala:27)
	at sbt.MainLoop$.runWithNewLog(MainLoop.scala:105)
	at sbt.MainLoop$.runAndClearLast(MainLoop.scala:60)
	at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:45)
	at sbt.MainLoop$.runLogged(MainLoop.scala:36)
	at sbt.StandardMain$.runManaged(Main.scala:132)
	at sbt.xMain$.run(Main.scala:67)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@11.0.5/Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@11.0.5/NativeMethodAccessorImpl.java:62)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@11.0.5/DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(java.base@11.0.5/Method.java:566)
	at sbt.internal.XMainConfiguration.run(XMainConfiguration.scala:45)
	at sbt.xMain.run(Main.scala:39)
	at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:111)
	at xsbt.boot.Launch$.withContextLoader(Launch.scala:130)
	at xsbt.boot.Launch$.run(Launch.scala:111)
	at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:37)
	at xsbt.boot.Launch$.launch(Launch.scala:119)
	at xsbt.boot.Launch$.apply(Launch.scala:20)
	at xsbt.boot.Boot$.runImpl(Boot.scala:56)
	at xsbt.boot.Boot$.main(Boot.scala:18)
	at xsbt.boot.Boot.main(Boot.scala)

"Reference Handler" #2 daemon prio=10 os_prio=2 cpu=0.00ms elapsed=54.79s tid=0x0b4d5c00 nid=0x2608 waiting on condition  [0x0bb3f000]
   java.lang.Thread.State: RUNNABLE
	at java.lang.ref.Reference.waitForReferencePendingList(java.base@11.0.5/Native Method)
	at java.lang.ref.Reference.processPendingReferences(java.base@11.0.5/Reference.java:241)
	at java.lang.ref.Reference$ReferenceHandler.run(java.base@11.0.5/Reference.java:213)

"Finalizer" #3 daemon prio=8 os_prio=1 cpu=0.00ms elapsed=54.79s tid=0x0b4d7800 nid=0x2240 in Object.wait()  [0x0c11f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@11.0.5/Native Method)
	- waiting on <0x25757700> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@11.0.5/ReferenceQueue.java:155)
	- waiting to re-lock in wait() <0x25757700> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@11.0.5/ReferenceQueue.java:176)
	at java.lang.ref.Finalizer$FinalizerThread.run(java.base@11.0.5/Finalizer.java:170)

"Signal Dispatcher" #4 daemon prio=9 os_prio=2 cpu=0.00ms elapsed=54.79s tid=0x0b50ac00 nid=0x206c runnable  [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" #5 daemon prio=5 os_prio=2 cpu=0.00ms elapsed=54.79s tid=0x0b50c400 nid=0xdf8 runnable  [0x00000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread0" #6 daemon prio=9 os_prio=2 cpu=795.61ms elapsed=54.79s tid=0x0b50f800 nid=0x1a60 waiting on condition  [0x00000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"Sweeper thread" #7 daemon prio=9 os_prio=2 cpu=0.00ms elapsed=54.77s tid=0x0b513c00 nid=0x2ab8 runnable  [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Service Thread" #8 daemon prio=9 os_prio=0 cpu=0.00ms elapsed=54.76s tid=0x0b5a6c00 nid=0x2e98 runnable  [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Common-Cleaner" #9 daemon prio=8 os_prio=1 cpu=0.00ms elapsed=54.74s tid=0x0b5cb400 nid=0x2510 in Object.wait()  [0x0da4f000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@11.0.5/Native Method)
	- waiting on <0x257c8de0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@11.0.5/ReferenceQueue.java:155)
	- waiting to re-lock in wait() <0x257c8de0> (a java.lang.ref.ReferenceQueue$Lock)
	at jdk.internal.ref.CleanerImpl.run(java.base@11.0.5/CleanerImpl.java:148)
	at java.lang.Thread.run(java.base@11.0.5/Thread.java:834)
	at jdk.internal.misc.InnocuousThread.run(java.base@11.0.5/InnocuousThread.java:134)

"classloader-cache-cleanup-0" #13 daemon prio=5 os_prio=0 cpu=0.00ms elapsed=52.41s tid=0x520c1400 nid=0x2a80 in Object.wait()  [0x534cf000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@11.0.5/Native Method)
	- waiting on <0x274823c0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@11.0.5/ReferenceQueue.java:155)
	- waiting to re-lock in wait() <0x274823c0> (a java.lang.ref.ReferenceQueue$Lock)
	at sbt.internal.classpath.ClassLoaderCache$CleanupThread.run(ClassLoaderCache.scala:102)

"scala-execution-context-global-15" #15 daemon prio=5 os_prio=0 cpu=0.00ms elapsed=50.99s tid=0x52b06800 nid=0x1520 waiting on condition  [0x543bf000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@11.0.5/Native Method)
	- parking to wait for  <0x150a7b18> (a java.util.concurrent.ForkJoinPool)
	at java.util.concurrent.locks.LockSupport.parkUntil(java.base@11.0.5/LockSupport.java:275)
	at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.5/ForkJoinPool.java:1619)
	at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.5/ForkJoinWorkerThread.java:177)

"scala-execution-context-global-16" #16 daemon prio=5 os_prio=0 cpu=0.00ms elapsed=50.99s tid=0x52a7f800 nid=0x3278 waiting on condition  [0x5490f000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@11.0.5/Native Method)
	- parking to wait for  <0x150a7b18> (a java.util.concurrent.ForkJoinPool)
	at java.util.concurrent.locks.LockSupport.park(java.base@11.0.5/LockSupport.java:194)
	at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.5/ForkJoinPool.java:1628)
	at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.5/ForkJoinWorkerThread.java:177)

"scala-execution-context-global-17" #17 daemon prio=5 os_prio=0 cpu=15.60ms elapsed=50.99s tid=0x52ad4400 nid=0x1708 waiting on condition  [0x54eaf000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@11.0.5/Native Method)
	- parking to wait for  <0x150a7b18> (a java.util.concurrent.ForkJoinPool)
	at java.util.concurrent.locks.LockSupport.parkUntil(java.base@11.0.5/LockSupport.java:275)
	at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.5/ForkJoinPool.java:1619)
	at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.5/ForkJoinWorkerThread.java:177)

"scala-execution-context-global-18" #18 daemon prio=5 os_prio=0 cpu=15.60ms elapsed=50.99s tid=0x52ad4c00 nid=0x1ef4 waiting on condition  [0x5544f000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@11.0.5/Native Method)
	- parking to wait for  <0x150a7b18> (a java.util.concurrent.ForkJoinPool)
	at java.util.concurrent.locks.LockSupport.park(java.base@11.0.5/LockSupport.java:194)
	at java.util.concurrent.ForkJoinPool.runWorker(java.base@11.0.5/ForkJoinPool.java:1628)
	at java.util.concurrent.ForkJoinWorkerThread.run(java.base@11.0.5/ForkJoinWorkerThread.java:177)

"pool-3-thread-1" #23 prio=5 os_prio=0 cpu=93.60ms elapsed=50.54s tid=0x521c8800 nid=0x3384 waiting on condition  [0x5594f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@11.0.5/Native Method)
	- parking to wait for  <0x17ab6030> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@11.0.5/LockSupport.java:234)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(java.base@11.0.5/SynchronousQueue.java:462)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(java.base@11.0.5/SynchronousQueue.java:361)
	at java.util.concurrent.SynchronousQueue.poll(java.base@11.0.5/SynchronousQueue.java:937)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.5/ThreadPoolExecutor.java:1053)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.5/ThreadPoolExecutor.java:1114)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.5/ThreadPoolExecutor.java:628)
	at java.lang.Thread.run(java.base@11.0.5/Thread.java:834)

"pool-3-thread-2" #24 prio=5 os_prio=0 cpu=265.20ms elapsed=50.54s tid=0x521c9000 nid=0x3184 runnable  [0x55f2e000]
   java.lang.Thread.State: RUNNABLE
	at java.io.FileInputStream.readBytes(java.base@11.0.5/Native Method)
	at java.io.FileInputStream.read(java.base@11.0.5/FileInputStream.java:279)
	at java.io.BufferedInputStream.read1(java.base@11.0.5/BufferedInputStream.java:290)
	at java.io.BufferedInputStream.read(java.base@11.0.5/BufferedInputStream.java:351)
	- locked <0x1b3079d8> (a java.io.BufferedInputStream)
	at sun.nio.cs.StreamDecoder.readBytes(java.base@11.0.5/StreamDecoder.java:284)
	at sun.nio.cs.StreamDecoder.implRead(java.base@11.0.5/StreamDecoder.java:326)
	at sun.nio.cs.StreamDecoder.read(java.base@11.0.5/StreamDecoder.java:178)
	- locked <0x1b309c00> (a java.io.InputStreamReader)
	at java.io.InputStreamReader.read(java.base@11.0.5/InputStreamReader.java:185)
	at java.io.BufferedReader.fill(java.base@11.0.5/BufferedReader.java:161)
	at java.io.BufferedReader.readLine(java.base@11.0.5/BufferedReader.java:326)
	- locked <0x1b309c00> (a java.io.InputStreamReader)
	at java.io.BufferedReader.readLine(java.base@11.0.5/BufferedReader.java:392)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.Util.runCommands(Util.java:160)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.Util.getWinDirs(Util.java:122)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.ProjectDirectories.fromPath(ProjectDirectories.java:221)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.ProjectDirectories.from(ProjectDirectories.java:274)
	at lmcoursier.internal.shaded.coursier.paths.CoursierPaths.coursierDirectories(CoursierPaths.java:82)
	- locked <0x1492d408> (a java.lang.Object)
	at lmcoursier.internal.shaded.coursier.paths.CoursierPaths.computeConfigDirectory(CoursierPaths.java:98)
	at lmcoursier.internal.shaded.coursier.paths.CoursierPaths.configDirectory(CoursierPaths.java:106)
	- locked <0x1492d418> (a java.lang.Object)
	at lmcoursier.internal.shaded.coursier.cache.CacheDefaults$.credentials(CacheDefaults.scala:88)
	at lmcoursier.internal.shaded.coursier.cache.FileCache$.apply(FileCache.scala:29)
	at lmcoursier.internal.shaded.coursier.cache.FileCache$.apply(FileCache.scala:1088)
	at lmcoursier.CoursierDependencyResolution.update(CoursierDependencyResolution.scala:134)
	at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:60)
	at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:52)
	at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:102)
	at sbt.internal.LibraryManagement$$$Lambda$2615/0x55a46828.apply(Unknown Source)
	at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:69)
	at sbt.util.Tracked$$$Lambda$2455/0x554d9028.apply(Unknown Source)
	at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$20(LibraryManagement.scala:115)
	at sbt.internal.LibraryManagement$$$Lambda$2617/0x56818028.apply(Unknown Source)
	at scala.util.control.Exception$Catch.apply(Exception.scala:228)
	at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:115)
	at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:96)
	at sbt.internal.LibraryManagement$$$Lambda$2614/0x55a42828.apply(Unknown Source)
	at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:150)
	at sbt.util.Tracked$$$Lambda$2384/0x5546f828.apply(Unknown Source)
	at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:129)
	at sbt.Classpaths$.$anonfun$updateTask0$5(Defaults.scala:2947)
	at sbt.Classpaths$$$Lambda$1338/0x53abb828.apply(Unknown Source)
	at scala.Function1.$anonfun$compose$1(Function1.scala:49)
	at scala.Function1$$Lambda$1205/0x539e2828.apply(Unknown Source)
	at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
	at sbt.internal.util.$tilde$greater$$Lambda$2252/0x54ec4028.apply(Unknown Source)
	at sbt.std.Transform$$anon$4.work(Transform.scala:67)
	at sbt.Execute.$anonfun$submit$2(Execute.scala:281)
	at sbt.Execute$$Lambda$2270/0x54ee7028.apply(Unknown Source)
	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.Execute$$Lambda$2261/0x54ed3e28.apply(Unknown Source)
	at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
	at sbt.ConcurrentRestrictions$$anon$4$$Lambda$2268/0x54ee0828.apply(Unknown Source)
	at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
	at java.util.concurrent.FutureTask.run(java.base@11.0.5/FutureTask.java:264)
	at java.util.concurrent.Executors$RunnableAdapter.call(java.base@11.0.5/Executors.java:515)
	at java.util.concurrent.FutureTask.run(java.base@11.0.5/FutureTask.java:264)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.5/ThreadPoolExecutor.java:1128)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.5/ThreadPoolExecutor.java:628)
	at java.lang.Thread.run(java.base@11.0.5/Thread.java:834)

"pool-3-thread-3" #25 prio=5 os_prio=0 cpu=62.40ms elapsed=50.54s tid=0x521c9800 nid=0x34c4 waiting on condition  [0x5636f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@11.0.5/Native Method)
	- parking to wait for  <0x17ab6030> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@11.0.5/LockSupport.java:234)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(java.base@11.0.5/SynchronousQueue.java:462)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(java.base@11.0.5/SynchronousQueue.java:361)
	at java.util.concurrent.SynchronousQueue.poll(java.base@11.0.5/SynchronousQueue.java:937)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.5/ThreadPoolExecutor.java:1053)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.5/ThreadPoolExecutor.java:1114)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.5/ThreadPoolExecutor.java:628)
	at java.lang.Thread.run(java.base@11.0.5/Thread.java:834)

"pool-3-thread-4" #26 prio=5 os_prio=0 cpu=218.40ms elapsed=50.54s tid=0x521ca000 nid=0x3664 waiting on condition  [0x5680f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@11.0.5/Native Method)
	- parking to wait for  <0x17ab6030> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@11.0.5/LockSupport.java:234)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(java.base@11.0.5/SynchronousQueue.java:462)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(java.base@11.0.5/SynchronousQueue.java:361)
	at java.util.concurrent.SynchronousQueue.poll(java.base@11.0.5/SynchronousQueue.java:937)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.5/ThreadPoolExecutor.java:1053)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.5/ThreadPoolExecutor.java:1114)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.5/ThreadPoolExecutor.java:628)
	at java.lang.Thread.run(java.base@11.0.5/Thread.java:834)

"task-progress-report-thread" #27 daemon prio=5 os_prio=0 cpu=46.80ms elapsed=50.54s tid=0x521ca800 nid=0x2f78 waiting on condition  [0x56d1f000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
	at java.lang.Thread.sleep(java.base@11.0.5/Native Method)
	at sbt.internal.TaskProgress$ProgressThread.run(TaskProgress.scala:37)

"pool-3-thread-5" #28 prio=5 os_prio=0 cpu=78.00ms elapsed=50.37s tid=0x521cb000 nid=0x2b0 waiting on condition  [0x5719f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@11.0.5/Native Method)
	- parking to wait for  <0x17ab6030> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@11.0.5/LockSupport.java:234)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(java.base@11.0.5/SynchronousQueue.java:462)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(java.base@11.0.5/SynchronousQueue.java:361)
	at java.util.concurrent.SynchronousQueue.poll(java.base@11.0.5/SynchronousQueue.java:937)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.5/ThreadPoolExecutor.java:1053)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.5/ThreadPoolExecutor.java:1114)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.5/ThreadPoolExecutor.java:628)
	at java.lang.Thread.run(java.base@11.0.5/Thread.java:834)

"pool-3-thread-6" #29 prio=5 os_prio=0 cpu=0.00ms elapsed=50.33s tid=0x521cb400 nid=0x3488 waiting on condition  [0x5773f000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@11.0.5/Native Method)
	- parking to wait for  <0x17ab6030> (a java.util.concurrent.SynchronousQueue$TransferStack)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@11.0.5/LockSupport.java:234)
	at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(java.base@11.0.5/SynchronousQueue.java:462)
	at java.util.concurrent.SynchronousQueue$TransferStack.transfer(java.base@11.0.5/SynchronousQueue.java:361)
	at java.util.concurrent.SynchronousQueue.poll(java.base@11.0.5/SynchronousQueue.java:937)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.5/ThreadPoolExecutor.java:1053)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.5/ThreadPoolExecutor.java:1114)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.5/ThreadPoolExecutor.java:628)
	at java.lang.Thread.run(java.base@11.0.5/Thread.java:834)

"VM Thread" os_prio=2 cpu=140.40ms elapsed=54.80s tid=0x0b4d3000 nid=0x2578 runnable  

"VM Periodic Task Thread" os_prio=2 cpu=0.00ms elapsed=54.76s tid=0x0b5aa000 nid=0x2c48 waiting on condition  

JNI global refs: 16, weak refs: 0

@eed3si9n
Copy link
Member

eed3si9n commented Jan 31, 2021

The stack trace still showing https://github.com/soc/directories-jvm/ as far as I can tell:

	at java.io.FileInputStream.readBytes(java.base@11.0.5/Native Method)
	at java.io.FileInputStream.read(java.base@11.0.5/FileInputStream.java:279)
	at java.io.BufferedInputStream.read1(java.base@11.0.5/BufferedInputStream.java:290)
	at java.io.BufferedInputStream.read(java.base@11.0.5/BufferedInputStream.java:351)
	- locked <0x1b3079d8> (a java.io.BufferedInputStream)
	at sun.nio.cs.StreamDecoder.readBytes(java.base@11.0.5/StreamDecoder.java:284)
	at sun.nio.cs.StreamDecoder.implRead(java.base@11.0.5/StreamDecoder.java:326)
	at sun.nio.cs.StreamDecoder.read(java.base@11.0.5/StreamDecoder.java:178)
	- locked <0x1b309c00> (a java.io.InputStreamReader)
	at java.io.InputStreamReader.read(java.base@11.0.5/InputStreamReader.java:185)
	at java.io.BufferedReader.fill(java.base@11.0.5/BufferedReader.java:161)
	at java.io.BufferedReader.readLine(java.base@11.0.5/BufferedReader.java:326)
	- locked <0x1b309c00> (a java.io.InputStreamReader)
	at java.io.BufferedReader.readLine(java.base@11.0.5/BufferedReader.java:392)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.Util.runCommands(Util.java:160)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.Util.getWinDirs(Util.java:122)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.ProjectDirectories.fromPath(ProjectDirectories.java:221)
	at lmcoursier.internal.shaded.coursier.cache.shaded.io.github.soc.directories.ProjectDirectories.from(ProjectDirectories.java:274)

I'm closing this for now.

@unkarjedy
Copy link
Contributor

unkarjedy commented Apr 19, 2021

Still reproducible in sbt 1.4.9 and sbt 1.5.0.

We face this issue in Scala Plugin during sbt project import tests on Windows CI agents.
This is the full workaround method that is used to adjust sbt process environment variables in tests on Windows.
Maybe it will be useful for someone.

  /**
   * This is a workaround for [[https://github.com/sbt/sbt/issues/5128]] (tested for sbt 1.4.9)
   *
   * The bug is reproduced on Teamcity, on Windows agents:
   * ProjectImportingTest is stuck indefinitely when the test is run from sbt.<br>
   * It's also reproduces locally when running the test from sbt.<br>
   * But for some reason is not reproduced when running from IDEA test runners<br>
   *
   * Environment variables which have to be mocked are inferred from methods in
   * `lmcoursier.internal.shaded.coursier.paths.CoursierPaths` (version 2.0.6)
   *
   * @see [[https://github.com/sbt/sbt/issues/5128]]
   * @see [[https://github.com/dirs-dev/directories-jvm/issues/49]]
   * @see [[https://github.com/ScoopInstaller/Main/pull/878/files]]
   */
  private def defaultCoursierDirectoriesAsEnvVariables(): Seq[(String, String)] = {
    val LocalAppData = System.getenv("LOCALAPPDATA")
    val AppData = System.getenv("APPDATA")

    val CoursierLocalAppDataHome = LocalAppData + "/Coursier"
    val CoursierAppDataHome = AppData + "/Coursier"

    Seq(
      // these 2 variables seems to be enough for the workaround
      ("COURSIER_CACHE", CoursierLocalAppDataHome + "/cache/v1"),
      ("COURSIER_CONFIG_DIR", CoursierAppDataHome + "/config"),
      // these 2 variables seems to be optional, but we set them just in cause
      // they might be accessed in some unpredictable cases
      ("COURSIER_JVM_CACHE", CoursierLocalAppDataHome + "/cache/jvm"),
      ("COURSIER_DATA_DIR", CoursierLocalAppDataHome + "/data"),
      // this also looks like an optional in 1.4.9, but setting it just in case
      ("COURSIER_HOME", CoursierLocalAppDataHome),
    )
  }

@eed3si9n I suppose you could update the comment with a workaround and mention you need to set

  • COURSIER_CONFIG_DIR env var OR lmcoursier.internal.shaded.coursier.config-dir property
  • COURSIER_CACHE env var OR lmcoursier.internal.shaded.coursier.cache property
    (at least in sbt 1.4.9)

These ^ 2 paths were enough to make it work in our case, but you might set these as well just in case:

  • COURSIER_JVM_CACHE / lmcoursier.internal.shaded.coursier.jvm.cache
  • COURSIER_DATA_DIR / lmcoursier.internal.shaded.coursier.data-dir

unkarjedy added a commit to JetBrains/intellij-scala that referenced this issue Apr 19, 2021
… unit tests on windows to avoid hanging ProjectImportTest

This is required to workaround sbt/sbt#5128;
The bug is reproduced on Teamcity, on Windows agents.
ProjectImportingTest is stuck indefinitely when the test is run from sbt.
It's also reproduces locally when running the test from sbt.
But for some reason is not reproduced when running from IDEA test runners.

Environment variables which have to be mocked are inferred from
  - lmcoursier.internal.shaded.coursier.paths.CoursierPaths.computeCacheDirectory
  - lmcoursier.internal.shaded.coursier.paths.CoursierPaths.computeJvmCacheDirectory

see also dirs-dev/directories-jvm#49
see also https://github.com/ScoopInstaller/Main/pull/878/files
unkarjedy added a commit to JetBrains/intellij-scala that referenced this issue Apr 19, 2021
… unit tests on windows to avoid hanging ProjectImportTest

This is required to workaround sbt/sbt#5128;
The bug is reproduced on Teamcity, on Windows agents.
ProjectImportingTest is stuck indefinitely when the test is run from sbt.
It's also reproduces locally when running the test from sbt.
But for some reason is not reproduced when running from IDEA test runners.

Environment variables which have to be mocked are inferred from
  - lmcoursier.internal.shaded.coursier.paths.CoursierPaths.computeCacheDirectory
  - lmcoursier.internal.shaded.coursier.paths.CoursierPaths.computeJvmCacheDirectory

see also dirs-dev/directories-jvm#49
see also https://github.com/ScoopInstaller/Main/pull/878/files
unkarjedy added a commit to JetBrains/intellij-scala that referenced this issue Apr 22, 2021
… unit tests on windows to avoid hanging ProjectImportTest

This is required to workaround sbt/sbt#5128;
The bug is reproduced on Teamcity, on Windows agents.
ProjectImportingTest is stuck indefinitely when the test is run from sbt.
It's also reproduces locally when running the test from sbt.
But for some reason is not reproduced when running from IDEA test runners.

Environment variables which have to be mocked are inferred from
  - lmcoursier.internal.shaded.coursier.paths.CoursierPaths.computeCacheDirectory
  - lmcoursier.internal.shaded.coursier.paths.CoursierPaths.computeJvmCacheDirectory

see also dirs-dev/directories-jvm#49
see also https://github.com/ScoopInstaller/Main/pull/878/files
unkarjedy added a commit to JetBrains/intellij-scala that referenced this issue Apr 23, 2021
… unit tests on windows to avoid hanging ProjectImportTest

This is required to workaround sbt/sbt#5128;
The bug is reproduced on Teamcity, on Windows agents.
ProjectImportingTest is stuck indefinitely when the test is run from sbt.
It's also reproduces locally when running the test from sbt.
But for some reason is not reproduced when running from IDEA test runners.

Environment variables which have to be mocked are inferred from
  - lmcoursier.internal.shaded.coursier.paths.CoursierPaths.computeCacheDirectory
  - lmcoursier.internal.shaded.coursier.paths.CoursierPaths.computeJvmCacheDirectory

see also dirs-dev/directories-jvm#49
see also https://github.com/ScoopInstaller/Main/pull/878/files
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 30, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants