scalacenter / scalajs-bundler

https://scalacenter.github.io/scalajs-bundler
Other
234 stars 101 forks source link

java.lang.IllegalStateException: Linker used concurrently on fastOptJS #353

Closed ngbinh closed 3 years ago

ngbinh commented 4 years ago

I am using: scalajs-bundler 0.18.0, scala.js 0.6.33

here is the full log:

[info] [4/4] Building fresh packages...
[info] Done in 4.08s.
[info] Total time: 48 sec
[info]   fundsubAppJS / Compile / fastOptJS                               : 23 sec
[info]   stargazerBuildInfoJS / Compile / fastOptJS / copyWebpackResources: 11 sec
[error] java.lang.IllegalStateException: Linker used concurrently
[error]         at org.scalajs.core.tools.linker.Linker.guard(Linker.scala:63)
[error]         at org.scalajs.core.tools.linker.Linker.linkUnit(Linker.scala:48)
[error]         at org.scalajs.core.tools.linker.ClearableLinker.$anonfun$linkUnit$1(ClearableLinker.scala:49)
[error]         at org.scalajs.core.tools.linker.ClearableLinker.linkerOp(ClearableLinker.scala:66)
[error]         at org.scalajs.core.tools.linker.ClearableLinker.linkUnit(ClearableLinker.scala:49)
[error]         at scalajsbundler.sbtplugin.Settings$ScalaJSOutputAnalyzer$.linkingUnit(Settings.scala:236)
[error]         at scalajsbundler.sbtplugin.Settings$.$anonfun$scalaJSStageSettings$2(Settings.scala:60)
[error]         at sbt.std.Transform$$anon$3.$anonfun$apply$2(Transform.scala:46)
[error]         at sbt.std.Transform$$anon$4.work(Transform.scala:67)
[error]         at sbt.Execute.$anonfun$submit$2(Execute.scala:281)
[error]         at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
[error]         at sbt.Execute.work(Execute.scala:290)
[error]         at sbt.Execute.$anonfun$submit$1(Execute.scala:281)
[error]         at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error]         at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error]         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error]         at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[error]         at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error]         at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error]         at java.base/java.lang.Thread.run(Thread.java:834)
[error] (fundsubAppJS / Compile / fastOptJS / scalaJSBundlerImportedModules) java.lang.IllegalStateException: Linker used concurrently
[error] Total time: 49 s, completed Jun 26, 2020, 11:01:30 AM

the task copyWebpackResources simply just copy the output of fastOptJS to a different location.

I also have these settings applied

      Global / concurrentRestrictions += Tags.limit(ScalaJSTags.Link, 1),
      Global / concurrentRestrictions += Tags.limit((usesScalaJSLinkerTag in (Compile, fastOptJS)).value, 1),
      Global / concurrentRestrictions += Tags.limit((usesScalaJSLinkerTag in (Compile, fullOptJS)).value, 1),
ngbinh commented 4 years ago

interestingly, I do not see this error on scala.js bundler 0.16.0

sjrd commented 4 years ago

Does that happen with Scala.js 1.x as well?

ngbinh commented 4 years ago

haven't been able to try on scala.js 1.x. Will try out this weekend and report back

ngbinh commented 4 years ago

in 1.X now. Haven't been able to reproduce this error