[play-2.3 Java] SBT-Plugin (sbt-uglify) while "activator start" causing java.util.concurrent.TimeoutException: Futures timed out after [2 minutes]

182 views
Skip to first unread message

Timo Pagel

unread,
Feb 13, 2015, 5:57:16 AM2/13/15
to play-fr...@googlegroups.com
By executing ./activator start, it starts compililing the sub projects and afterwards
...
[info] Optimizing 1057 JavaScript(s) with Uglify
...
[info]
java.util.concurrent.
TimeoutException: Futures timed out after [2 minutes]
    at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219)
    at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223)
    at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:107)
    at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53)
    at scala.concurrent.Await$.result(package.scala:107)
    at com.typesafe.sbt.jse.SbtJsTask$$anonfun$executeJs$1.apply(SbtJsTask.scala:401)
    at com.typesafe.sbt.jse.SbtJsTask$$anonfun$executeJs$1.apply(SbtJsTask.scala:397)
    at com.typesafe.sbt.web.SbtWeb$.withActorRefFactory(SbtWeb.scala:441)
    at com.typesafe.sbt.jse.SbtJsTask$.executeJs(SbtJsTask.scala:396)
    at com.typesafe.sbt.uglify.SbtUglify$$anonfun$runOptimizer$1$$anonfun$apply$3$$anonfun$4$$anonfun$12.apply(SbtUglify.scala:160)
    at com.typesafe.sbt.uglify.SbtUglify$$anonfun$runOptimizer$1$$anonfun$apply$3$$anonfun$4$$anonfun$12.apply(SbtUglify.scala:160)
    at com.typesafe.sbt.uglify.SbtUglify$$anonfun$runOptimizer$1$$anonfun$apply$3$$anonfun$4$$anonfun$apply$6.apply(SbtUglify.scala:194)
    at com.typesafe.sbt.uglify.SbtUglify$$anonfun$runOptimizer$1$$anonfun$apply$3$$anonfun$4$$anonfun$apply$6.apply(SbtUglify.scala:170)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
    at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
    at scala.collection.AbstractTraversable.map(Traversable.scala:105)
    at com.typesafe.sbt.uglify.SbtUglify$$anonfun$runOptimizer$1$$anonfun$apply$3$$anonfun$4.apply(SbtUglify.scala:170)
    at com.typesafe.sbt.uglify.SbtUglify$$anonfun$runOptimizer$1$$anonfun$apply$3$$anonfun$4.apply(SbtUglify.scala:119)
    at com.typesafe.sbt.web.incremental.package$.syncIncremental(package.scala:228)
    at com.typesafe.sbt.uglify.SbtUglify$$anonfun$runOptimizer$1$$anonfun$apply$3.apply(SbtUglify.scala:118)
    at com.typesafe.sbt.uglify.SbtUglify$$anonfun$runOptimizer$1$$anonfun$apply$3.apply(SbtUglify.scala:86)
    at scala.Function$$anonfun$chain$1$$anonfun$apply$1.apply(Function.scala:24)
    at scala.Function$$anonfun$chain$1$$anonfun$apply$1.apply(Function.scala:24)
    at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
    at scala.collection.immutable.List.foldLeft(List.scala:84)
    at scala.collection.TraversableOnce$class.$div$colon(TraversableOnce.scala:138)
    at scala.collection.AbstractTraversable.$div$colon(Traversable.scala:105)
    at scala.Function$$anonfun$chain$1.apply(Function.scala:24)
    at com.typesafe.sbt.web.SbtWeb$$anonfun$projectSettings$36.apply(SbtWeb.scala:208)
    at com.typesafe.sbt.web.SbtWeb$$anonfun$projectSettings$36.apply(SbtWeb.scala:208)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
    at sbt.std.Transform$$anon$4.work(System.scala:64)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
    at sbt.Execute.work(Execute.scala:244)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
[error] (editor/*:webPipeline) java.util.concurrent.TimeoutException: Futures timed out after [2 minutes]

Cannot start with errors.

My build.sbt:
name := """fhunii-multi-domain"""

version := "1.0-SNAPSHOT"

scalaVersion := "2.11.1"

val appDependencies = Seq(
  javaJdbc,
  javaEbean,
  cache,
  javaWs,
  "mysql" % "mysql-connector-java" % "5.1.19",
  "be.objectify" %% "deadbolt-java" % "2.3.0-RC1",
  "com.feth" %% "play-authenticate" % "0.6.7",
  "commons-io" % "commons-io" % "2.3",
  "org.facebook4j" % "facebook4j-core" % "2.2.0",
  "org.twitter4j" % "twitter4j-core" % "4.0.2",
  "commons-lang" % "commons-lang" % "2.6",
  "com.loicdescotte.coffeebean" %% "html5tags" % "1.2.1",
  "com.sachinhandiekar" % "jInstagram" % "1.0.10",
  "org.webjars" %% "webjars-play" % "2.3.0",
  "org.webjars" % "bootstrap" % "3.2.0",
  "com.feth" %% "play-easymail" % "0.6.6-SNAPSHOT"
  ,"org.jsoup" % "jsoup" % "1.8.1"
  ,"com.neovisionaries" % "nv-i18n" % "1.14"
)

resolvers ++= Seq(
        "Apache" at "http://repo1.maven.org/maven2/",
        "jBCrypt Repository" at "http://repo1.maven.org/maven2/org/",
        "play-easymail (release)" at "http://joscha.github.io/play-easymail/repo/releases/",
        "play-easymail (snapshot)" at "http://joscha.github.io/play-easymail/repo/snapshots/",
        Resolver.url("github repo for html5tags", url("http://loicdescotte.github.io/Play2-HTML5Tags/releases/"))(Resolver.ivyStylePatterns),
        Resolver.url("Objectify Play Repository", url("http://schaloner.github.io/releases/"))(Resolver.ivyStylePatterns),
        "play-authenticate (release)" at "http://joscha.github.io/play-authenticate/repo/releases/",
        "play-authenticate (snapshot)" at "http://joscha.github.io/play-authenticate/repo/snapshots/",
        "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases/"
)
lazy val root = project.in(file("."))
  .enablePlugins(PlayJava,SbtWeb)
  .settings(
        libraryDependencies ++= appDependencies
  )

pipelineStages := Seq(rjs, uglify, digest, gzip)


I tried to enhance the timeout as mentioned in http://grokbase.com/t/gg/play-framework/145yq4kh9e/2-3-rc2-sbt-web-causes-timeout-on-low-power-device-while-less-compiling , but the package JsTaskKeys does not exists.

How can I enhance the timeout for the plugins for the startup?

1057 JS Files are a lot, mainly from the ckeditor.

Thank You,
Cheers,
Timo
Message has been deleted

Marios Papasofokli

unread,
Jun 25, 2015, 9:46:00 AM6/25/15
to play-fr...@googlegroups.com

Hello, did you find any solution to this problem ?

Thanks in advance

Timo Pagel

unread,
Jun 25, 2015, 10:01:57 AM6/25/15
to play-fr...@googlegroups.com
Hello Marios,

not really. I build my application with ./activator dist on a fast computer (that is working) and copy the dist to my servers with more limited CPU/RAM.
On my staging-Server I remove "pipelineStages := Seq(rjs, uglify, digest, gzip)" and use ./activator start.

Cheers,
Timo

Matthias Kurz

unread,
Jun 25, 2015, 11:05:41 AM6/25/15
to play-fr...@googlegroups.com
Does this work for you:
import JsTaskKeys._
import scala.concurrent.duration._
timeoutPerSource := 10.minutes
?

Matthias Kurz

unread,
Jun 25, 2015, 11:06:07 AM6/25/15
to play-fr...@googlegroups.com
Put in the the build.sbt

Marios Papasofokli

unread,
Jun 26, 2015, 2:29:54 AM6/26/15
to play-fr...@googlegroups.com
Matthias answer does it, thank you
Reply all
Reply to author
Forward
0 new messages