У меня очень странная проблема, когда один из проектов Play Framework, над которым я работаю, был обновлен до Java 11. Все команды sbt просто перестали работать и зависали, когда я запускаю их с Java 11. Для Например, у меня есть этот bat-файл для запуска моего приложения:
set PATH=G:\Program Files\AdoptOpenJDK\jdk-11.0.6.10-hotspot\bin;%PATH%
set JAVA_HOME=G:\Program Files\AdoptOpenJDK\jdk-11.0.6.10-hotspot
sbt -jvm-debug 9997 "run 9002"
Команда Sbt может быть другой (например, compile, просто "sbt" и так далее). Когда я меняю пути в bat-файле на Java 8, папка sbt работает. Когда пути указывают на Java 11 - он зависает. Также в Idea refre sh sbt также зависает, когда для проекта выбран Java 11. Любые советы будут оценены (по крайней мере, как отладить эту проблему). Sbt версия 1.3.6 Jstack log:
2020-04-14 21:37:09
Full thread dump OpenJDK 64-Bit Server VM (11.0.6+10 mixed mode):
Threads class SMR info:
_java_thread_list=0x000000005e363070, length=11, elements={
0x00000000002d9000, 0x0000000018331000, 0x000000001833d800, 0x000000001834e000,
0x000000001834f000, 0x0000000018354000, 0x000000001835b000, 0x000000001835d800,
0x0000000018506000, 0x000000001850c800, 0x00000000626ea800
}
"main" #1 prio=5 os_prio=0 cpu=3073.22ms elapsed=700.57s tid=0x00000000002d9000 nid=0x323c runnable [0x00000000020cb000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(java.base@11.0.6/Native Method)
at java.io.FileInputStream.read(java.base@11.0.6/FileInputStream.java:279)
at java.io.BufferedInputStream.read1(java.base@11.0.6/BufferedInputStream.java:290)
at java.io.BufferedInputStream.read(java.base@11.0.6/BufferedInputStream.java:351)
- locked <0x00000000fcf54920> (a java.io.BufferedInputStream)
at sun.nio.cs.StreamDecoder.readBytes(java.base@11.0.6/StreamDecoder.java:284)
at sun.nio.cs.StreamDecoder.implRead(java.base@11.0.6/StreamDecoder.java:326)
at sun.nio.cs.StreamDecoder.read(java.base@11.0.6/StreamDecoder.java:178)
- locked <0x00000000fcf56b98> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(java.base@11.0.6/InputStreamReader.java:185)
at java.io.BufferedReader.fill(java.base@11.0.6/BufferedReader.java:161)
at java.io.BufferedReader.readLine(java.base@11.0.6/BufferedReader.java:326)
- locked <0x00000000fcf56b98> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(java.base@11.0.6/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 <0x00000000fcf1f6d8> (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 <0x00000000fcf1f6e8> (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 <0x00000000fd0ebd70> (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 <0x00000000fe8dbd08> (a sbt.Defaults$)
at sbt.Defaults$.globalIvyCore(Defaults.scala:212)
at sbt.Defaults$.globalCore$lzycompute(Defaults.scala:165)
- locked <0x00000000fe8dbd08> (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$1673/0x0000000019419840.apply(Unknown Source)
at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:245)
at scala.collection.TraversableLike$$Lambda$109/0x0000000018bba840.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$1042/0x000000001922f840.apply(Unknown Source)
at sbt.internal.Load$.timed(Load.scala:1376)
at sbt.internal.Load$.apply(Load.scala:243)
at sbt.internal.GlobalPlugin$.build(GlobalPlugin.scala:59)
at sbt.internal.GlobalPlugin$.load(GlobalPlugin.scala:64)
at sbt.internal.Load$.loadGlobal(Load.scala:185)
at sbt.internal.Load$.defaultWithGlobal(Load.scala:143)
at sbt.internal.Load$.$anonfun$defaultLoad$1(Load.scala:50)
at sbt.internal.Load$$$Lambda$941/0x0000000019181840.apply(Unknown Source)
at sbt.internal.Load$.timed(Load.scala:1376)
at sbt.internal.Load$.defaultLoad(Load.scala:46)
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$810/0x0000000019113840.apply(Unknown Source)
at sbt.Command$.$anonfun$applyEffect$4(Command.scala:149)
at sbt.Command$$$Lambda$661/0x000000001906e840.apply(Unknown Source)
at sbt.Command$.$anonfun$applyEffect$2(Command.scala:144)
at sbt.Command$$$Lambda$787/0x0000000019105440.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$644/0x000000001905a840.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$643/0x000000001905a040.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$636/0x000000001904e040.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.6/Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@11.0.6/NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@11.0.6/DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(java.base@11.0.6/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)
Locked ownable synchronizers:
- None
"Reference Handler" #2 daemon prio=10 os_prio=2 cpu=0.00ms elapsed=700.54s tid=0x0000000018331000 nid=0x438 waiting on condition [0x000000005996e000]
java.lang.Thread.State: RUNNABLE
at java.lang.ref.Reference.waitForReferencePendingList(java.base@11.0.6/Native Method)
at java.lang.ref.Reference.processPendingReferences(java.base@11.0.6/Reference.java:241)
at java.lang.ref.Reference$ReferenceHandler.run(java.base@11.0.6/Reference.java:213)
Locked ownable synchronizers:
- None
"Finalizer" #3 daemon prio=8 os_prio=1 cpu=0.00ms elapsed=700.54s tid=0x000000001833d800 nid=0x2130 in Object.wait() [0x0000000059e8e000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@11.0.6/Native Method)
- waiting on <0x00000000c003bfc0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@11.0.6/ReferenceQueue.java:155)
- waiting to re-lock in wait() <0x00000000c003bfc0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@11.0.6/ReferenceQueue.java:176)
at java.lang.ref.Finalizer$FinalizerThread.run(java.base@11.0.6/Finalizer.java:170)
Locked ownable synchronizers:
- None
"Signal Dispatcher" #4 daemon prio=9 os_prio=2 cpu=0.00ms elapsed=700.53s tid=0x000000001834e000 nid=0x1360 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Attach Listener" #5 daemon prio=5 os_prio=2 cpu=0.00ms elapsed=700.53s tid=0x000000001834f000 nid=0x1edc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 cpu=2308.81ms elapsed=700.53s tid=0x0000000018354000 nid=0x1ccc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
Locked ownable synchronizers:
- None
"C1 CompilerThread0" #8 daemon prio=9 os_prio=2 cpu=1248.01ms elapsed=700.53s tid=0x000000001835b000 nid=0x1548 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
Locked ownable synchronizers:
- None
"Sweeper thread" #9 daemon prio=9 os_prio=2 cpu=31.20ms elapsed=700.53s tid=0x000000001835d800 nid=0x3098 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Service Thread" #10 daemon prio=9 os_prio=0 cpu=0.00ms elapsed=700.50s tid=0x0000000018506000 nid=0x19cc runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Common-Cleaner" #11 daemon prio=8 os_prio=1 cpu=0.00ms elapsed=700.49s tid=0x000000001850c800 nid=0x2af4 in Object.wait() [0x000000005b9ce000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(java.base@11.0.6/Native Method)
- waiting on <no object reference available>
at java.lang.ref.ReferenceQueue.remove(java.base@11.0.6/ReferenceQueue.java:155)
- waiting to re-lock in wait() <0x00000000c003e4a8> (a java.lang.ref.ReferenceQueue$Lock)
at jdk.internal.ref.CleanerImpl.run(java.base@11.0.6/CleanerImpl.java:148)
at java.lang.Thread.run(java.base@11.0.6/Thread.java:834)
at jdk.internal.misc.InnocuousThread.run(java.base@11.0.6/InnocuousThread.java:134)
Locked ownable synchronizers:
- None
"classloader-cache-cleanup-0" #15 daemon prio=5 os_prio=0 cpu=0.00ms elapsed=698.00s tid=0x00000000626ea800 nid=0x15c8 in Object.wait() [0x000000006374e000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(java.base@11.0.6/Native Method)
- waiting on <no object reference available>
at java.lang.ref.ReferenceQueue.remove(java.base@11.0.6/ReferenceQueue.java:155)
- waiting to re-lock in wait() <0x00000000fdb28570> (a java.lang.ref.ReferenceQueue$Lock)
at sbt.internal.classpath.ClassLoaderCache$CleanupThread.run(ClassLoaderCache.scala:102)
Locked ownable synchronizers:
- None
"VM Thread" os_prio=2 cpu=109.20ms elapsed=700.54s tid=0x000000001832d800 nid=0x1ec8 runnable
"GC Thread#0" os_prio=2 cpu=46.80ms elapsed=700.57s tid=0x00000000002f1000 nid=0x1b3c runnable
"GC Thread#1" os_prio=2 cpu=62.40ms elapsed=699.60s tid=0x000000005e648000 nid=0xad8 runnable
"GC Thread#2" os_prio=2 cpu=46.80ms elapsed=699.60s tid=0x000000005e648800 nid=0x2b54 runnable
"GC Thread#3" os_prio=2 cpu=62.40ms elapsed=699.60s tid=0x000000005e649000 nid=0x1d80 runnable
"G1 Main Marker" os_prio=2 cpu=0.00ms elapsed=700.57s tid=0x0000000000310000 nid=0x3a04 runnable
"G1 Conc#0" os_prio=2 cpu=62.40ms elapsed=700.57s tid=0x0000000000311000 nid=0x332c runnable
"G1 Refine#0" os_prio=2 cpu=15.60ms elapsed=700.56s tid=0x0000000018160800 nid=0x2ea0 runnable
"G1 Refine#1" os_prio=2 cpu=0.00ms elapsed=698.58s tid=0x000000005fd83800 nid=0x2abc runnable
"G1 Young RemSet Sampling" os_prio=2 cpu=0.00ms elapsed=700.56s tid=0x000000001813a800 nid=0x3b0 runnable
"VM Periodic Task Thread" os_prio=2 cpu=15.60ms elapsed=700.50s tid=0x0000000018507800 nid=0x274c waiting on condition
JNI global refs: 19, weak refs: 0