SBT 1.2.8 Разрешение зависания ссылок на ключи

#scala #sbt #sbt1.0

#scala #sbt #sbt1.0

Вопрос:

Недавно мы обновили нашу сборку sbt с 0.13.x на 1.2.8 , с тех пор наши агенты сборки часто (не всегда) зависают сразу после

Resolving key references (11281 settings) ...

В дампе потока я вижу следующие строки

- locked <0x00000000800058c0> (a java.lang.ref.Reference$Lock)

- waiting on <0x00000000800058c0> (a java.lang.ref.Reference$Lock)

Это ошибка? если нет, то что я делаю не так? Можете ли вы, пожалуйста, дать совет?

Детали среды

  • ОПЕРАЦИОННАЯ система Linux aldburg 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:51:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
  • Версия для запуска SBT 1.2.8
  • Версия проекта SBT 1.2.8
  • Плагины SBT, которые мы используем, являются
 addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.5.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "1.3.1")
addSbtPlugin("com.waioeka.sbt" % "cucumber-plugin" % "0.1.7")
addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.4.1")
addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "1.0.0")
addSbtPlugin("io.spray" % "sbt-revolver" % "0.9.0")
addSbtPlugin("org.scalariform" % "sbt-scalariform" % "1.8.2")
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.7")
addSbtPlugin("de.heikoseeberger" % "sbt-header" % "4.1.0")
addSbtPlugin("com.lightbend.sbt" % "sbt-aspectj" % "0.11.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.3.2")
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.3.4")
  

Дамп потока

 Full thread dump OpenJDK 64-Bit Server VM (25.111-b14 mixed mode):

"Attach Listener" #51 daemon prio=9 os_prio=0 tid=0x00007fbc40001000 nid=0x10bd waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"pool-4-thread-8" #50 prio=5 os_prio=0 tid=0x00007fbc0c00e000 nid=0xf6c in Object.wait() [0x00007fbc45534000]
   java.lang.Thread.State: RUNNABLE
    at $0e82cce6ec5c385cb470$.$anonfun$v1$10(build.sbt:58)
    at $0e82cce6ec5c385cb470$$$Lambda$2732/1436136891.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings.$anonfun$constant$1(INode.scala:204)
    at sbt.internal.util.EvaluateSettings$$Lambda$1613/382762227.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:221)
    at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:164)
    - locked <0x0000000083884fc8> (a sbt.internal.util.EvaluateSettings$MixedNode)
    at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
    at sbt.internal.util.EvaluateSettings$$Lambda$1624/2021540695.apply$mcV$sp(Unknown Source)
    at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:98)
    at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

"pool-4-thread-7" #49 prio=5 os_prio=0 tid=0x00007fbc89f2d800 nid=0xf6b in Object.wait() [0x00007fbc45230000]
   java.lang.Thread.State: RUNNABLE
    at Dependencies$.<init>(Dependencies.scala:144)
    at Dependencies$.<clinit>(Dependencies.scala)
    at $0e82cce6ec5c385cb470$.$anonfun$common$10(build.sbt:81)
    at $0e82cce6ec5c385cb470$$$Lambda$2744/908744222.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings.$anonfun$constant$1(INode.scala:204)
    at sbt.internal.util.EvaluateSettings$$Lambda$1613/382762227.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:221)
    at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:164)
    - locked <0x000000008388f6c0> (a sbt.internal.util.EvaluateSettings$MixedNode)
    at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
    at sbt.internal.util.EvaluateSettings$$Lambda$1624/2021540695.apply$mcV$sp(Unknown Source)
    at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:98)
    at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

"pool-4-thread-6" #48 prio=5 os_prio=0 tid=0x00007fbc89f2c800 nid=0xf6a in Object.wait() [0x00007fbc45332000]
   java.lang.Thread.State: RUNNABLE
    at $0e82cce6ec5c385cb470$.$anonfun$support$1(build.sbt:163)
    at $0e82cce6ec5c385cb470$$$Lambda$2734/1113898680.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings.$anonfun$constant$1(INode.scala:204)
    at sbt.internal.util.EvaluateSettings$$Lambda$1613/382762227.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:221)
    at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:164)
    - locked <0x00000000838c9798> (a sbt.internal.util.EvaluateSettings$MixedNode)
    at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
    at sbt.internal.util.EvaluateSettings$$Lambda$1624/2021540695.apply$mcV$sp(Unknown Source)
    at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:98)
    at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

"pool-4-thread-5" #47 prio=5 os_prio=0 tid=0x00007fbc89f2b800 nid=0xf69 in Object.wait() [0x00007fbc44a2a000]
   java.lang.Thread.State: RUNNABLE
    at Dependencies$Compile$.<init>(Dependencies.scala:42)
    at Dependencies$Compile$.<clinit>(Dependencies.scala)
    at $0e82cce6ec5c385cb470$.$anonfun$test_server$4(build.sbt:176)
    at $0e82cce6ec5c385cb470$$$Lambda$2715/684426930.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings.$anonfun$constant$1(INode.scala:204)
    at sbt.internal.util.EvaluateSettings$$Lambda$1613/382762227.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:221)
    at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:164)
    - locked <0x0000000083a9c6c0> (a sbt.internal.util.EvaluateSettings$MixedNode)
    at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
    at sbt.internal.util.EvaluateSettings$$Lambda$1624/2021540695.apply$mcV$sp(Unknown Source)
    at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:98)
    at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

"pool-4-thread-4" #46 prio=5 os_prio=0 tid=0x00007fbc0800d000 nid=0xf68 in Object.wait() [0x00007fbc4502f000]
   java.lang.Thread.State: RUNNABLE
    at $0e82cce6ec5c385cb470$.$anonfun$test_utils$1(build.sbt:208)
    at $0e82cce6ec5c385cb470$$$Lambda$2751/171063899.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings.$anonfun$constant$1(INode.scala:204)
    at sbt.internal.util.EvaluateSettings$$Lambda$1613/382762227.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:221)
    at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:164)
    - locked <0x0000000084031dd0> (a sbt.internal.util.EvaluateSettings$MixedNode)
    at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
    at sbt.internal.util.EvaluateSettings$$Lambda$1624/2021540695.apply$mcV$sp(Unknown Source)
    at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:98)
    at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

"pool-4-thread-3" #45 prio=5 os_prio=0 tid=0x00007fbc89f2a800 nid=0xf67 in Object.wait() [0x00007fbc45433000]
   java.lang.Thread.State: RUNNABLE
    at $0e82cce6ec5c385cb470$.$anonfun$benchmark$1(build.sbt:154)
    at $0e82cce6ec5c385cb470$$$Lambda$2797/2015110295.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings.$anonfun$constant$1(INode.scala:204)
    at sbt.internal.util.EvaluateSettings$$Lambda$1613/382762227.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:221)
    at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:164)
    - locked <0x00000000842c3310> (a sbt.internal.util.EvaluateSettings$MixedNode)
    at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
    at sbt.internal.util.EvaluateSettings$$Lambda$1624/2021540695.apply$mcV$sp(Unknown Source)
    at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:98)
    at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

"pool-4-thread-2" #44 prio=5 os_prio=0 tid=0x00007fbc89f2a000 nid=0xf66 in Object.wait() [0x00007fbc44f2e000]
   java.lang.Thread.State: RUNNABLE
    at $0e82cce6ec5c385cb470$.$anonfun$cucumber$2(build.sbt:195)
    at $0e82cce6ec5c385cb470$$$Lambda$2794/1142350221.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings.$anonfun$constant$1(INode.scala:204)
    at sbt.internal.util.EvaluateSettings$$Lambda$1613/382762227.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:221)
    at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:164)
    - locked <0x0000000083f0b728> (a sbt.internal.util.EvaluateSettings$MixedNode)
    at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
    at sbt.internal.util.EvaluateSettings$$Lambda$1624/2021540695.apply$mcV$sp(Unknown Source)
    at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:98)
    at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

"pool-4-thread-1" #43 prio=5 os_prio=0 tid=0x00007fbc89f28000 nid=0xf65 in Object.wait() [0x00007fbc45130000]
   java.lang.Thread.State: RUNNABLE
    at $0e82cce6ec5c385cb470$.$anonfun$domain$1(build.sbt:147)
    at $0e82cce6ec5c385cb470$$$Lambda$2733/1341548823.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings.$anonfun$constant$1(INode.scala:204)
    at sbt.internal.util.EvaluateSettings$$Lambda$1613/382762227.apply(Unknown Source)
    at sbt.internal.util.EvaluateSettings$MixedNode.evaluate0(INode.scala:221)
    at sbt.internal.util.EvaluateSettings$INode.evaluate(INode.scala:164)
    - locked <0x0000000084031e40> (a sbt.internal.util.EvaluateSettings$MixedNode)
    at sbt.internal.util.EvaluateSettings.$anonfun$submitEvaluate$1(INode.scala:87)
    at sbt.internal.util.EvaluateSettings$$Lambda$1624/2021540695.apply$mcV$sp(Unknown Source)
    at sbt.internal.util.EvaluateSettings.sbt$internal$util$EvaluateSettings$$run0(INode.scala:98)
    at sbt.internal.util.EvaluateSettings$$anon$3.run(INode.scala:94)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

"Log4j2-TF-1-AsyncLogger[AsyncContext@64bf3bbf]-1" #13 daemon prio=5 os_prio=0 tid=0x00007fbc8a2df800 nid=0xf38 waiting on condition [0x00007fbc6126c000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x000000008000b4e8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at com.lmax.disruptor.TimeoutBlockingWaitStrategy.waitFor(TimeoutBlockingWaitStrategy.java:38)
    at com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)
    at com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:159)
    at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125)
    at java.lang.Thread.run(Thread.java:745)

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

"C1 CompilerThread3" #8 daemon prio=9 os_prio=0 tid=0x00007fbc88205800 nid=0xf35 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00007fbc88201000 nid=0xf34 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007fbc881ff800 nid=0xf33 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007fbc881fc800 nid=0xf32 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

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

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007fbc881d2800 nid=0xf30 in Object.wait() [0x00007fbc62ceb000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x0000000080003910> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
    - locked <0x0000000080003910> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007fbc881ce000 nid=0xf2e in Object.wait() [0x00007fbc62dec000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x00000000800058c0> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
    - locked <0x00000000800058c0> (a java.lang.ref.Reference$Lock)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"main" #1 prio=5 os_prio=0 tid=0x00007fbc8800a000 nid=0xf20 waiting on condition [0x00007fbc91ed0000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x0000000084031e88> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
    at sbt.internal.util.EvaluateSettings.run(INode.scala:72)
    at sbt.internal.util.Init.applyInits(Settings.scala:286)
    at sbt.internal.util.Init.make(Settings.scala:208)
    at sbt.internal.util.Init.make$(Settings.scala:199)
    at sbt.Def$.make(Def.scala:20)
    at sbt.internal.Load$.$anonfun$apply$5(Load.scala:266)
    at sbt.internal.Load$$$Lambda$1561/1579610605.apply(Unknown Source)
    at sbt.internal.Load$.timed(Load.scala:1395)
    at sbt.internal.Load$.apply(Load.scala:261)
    at sbt.internal.Load$.defaultLoad(Load.scala:69)
    at sbt.BuiltinCommands$.liftedTree1$1(Main.scala:829)
    at sbt.BuiltinCommands$.doLoadProject(Main.scala:829)
    at sbt.BuiltinCommands$.$anonfun$loadProjectImpl$2(Main.scala:800)
    at sbt.BuiltinCommands$$$Lambda$380/810169941.apply(Unknown Source)
    at sbt.Command$.$anonfun$applyEffect$4(Command.scala:142)
    at sbt.Command$$$Lambda$330/1723848804.apply(Unknown Source)
    at sbt.Command$.$anonfun$applyEffect$2(Command.scala:137)
    at sbt.Command$$$Lambda$356/1859823482.apply(Unknown Source)
    at sbt.Command$.process(Command.scala:181)
    at sbt.MainLoop$.processCommand(MainLoop.scala:151)
    at sbt.MainLoop$.$anonfun$next$2(MainLoop.scala:139)
    at sbt.MainLoop$$$Lambda$311/198374825.apply(Unknown Source)
    at sbt.State$$anon$1.runCmd$1(State.scala:246)
    at sbt.State$$anon$1.process(State.scala:250)
    at sbt.MainLoop$.$anonfun$next$1(MainLoop.scala:139)
    at sbt.MainLoop$$$Lambda$310/1620187937.apply(Unknown Source)
    at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
    at sbt.MainLoop$.next(MainLoop.scala:139)
    at sbt.MainLoop$.run(MainLoop.scala:132)
    at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:110)
    at sbt.MainLoop$$$Lambda$303/1924802798.apply(Unknown Source)
    at sbt.io.Using.apply(Using.scala:22)
    at sbt.MainLoop$.runWithNewLog(MainLoop.scala:104)
    at sbt.MainLoop$.runAndClearLast(MainLoop.scala:59)
    at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:44)
    at sbt.MainLoop$.runLogged(MainLoop.scala:35)
    at sbt.StandardMain$.runManaged(Main.scala:138)
    at sbt.xMain.run(Main.scala:89)
    at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
    at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
    at xsbt.boot.Launch$.run(Launch.scala:109)
    at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
    at xsbt.boot.Launch$.launch(Launch.scala:117)
    at xsbt.boot.Launch$.apply(Launch.scala:18)
    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=0 tid=0x00007fbc881c6800 nid=0xf2d runnable 

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007fbc8801f000 nid=0xf21 runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007fbc88020800 nid=0xf22 runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007fbc88022800 nid=0xf27 runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007fbc88024000 nid=0xf28 runnable 

"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00007fbc88026000 nid=0xf29 runnable 

"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00007fbc88027800 nid=0xf2a runnable 

"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x00007fbc88029800 nid=0xf2b runnable 

"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x00007fbc8802b000 nid=0xf2c runnable 

"VM Periodic Task Thread" os_prio=0 tid=0x00007fbc88215800 nid=0xf37 waiting on condition 

JNI global references: 5542
  

Комментарии:

1. Это слишком много плагинов. Одним из способов устранения неполадок было бы разделить ваш список плагинов пополам: удалите половину из них, посмотрите, исчезнет ли проблема. Если этого не произойдет, удалите половину оставшихся и так далее. Если вы можете воспроизвести проблему вообще без каких-либо плагинов, значит, вы добились значительного прогресса в поиске причины. И / или попробуйте запустить sbt с -debug и посмотрите, выдает ли это какую-либо дополнительную полезную информацию.

2. @SethTisue спасибо за ответ

Ответ №1:

Наш сервер сборки использует другой sbt-launcher ( 0.13.x ), чем тот, который предоставлен в агенте.

В нашем случае проблема устраняется с помощью следующих шагов :

  • Указание версии запуска на sbt-launcher 1.2.8
  • Удален кэш sbt rm -rf ~/.sbt (убедитесь, сделайте резервные копии глобальных .sbt файлов и .credentials файлов и т.д.)
  • Удален кэш ivy rm -rf ~/.ivy2/cache
  • export SBT_OPTS="-Dscala.concurrent.context.maxThreads=1" (из 5 агентов я должен сделать это только в одном агенте)

Я не уверен, исправляет ли это для всех или нет.