Tôi đang chạy một ứng dụng trong Play bằng cách sử dụng activator run
và có thể 3 trong số 5 lần, nó sẽ treo, khi tôi đi đến http://localhost:9000/
, nó chỉ ngồi đó quay mãi mãi.Chơi Khung Treo khi nhấn ứng dụng trong trình duyệt
Tôi cũng nhìn thấy rất nhiều lỗi promise timed out
.
Tôi nên tìm sự cố này ở đâu?
Tôi đã bật ghi nhật ký với logLevel := Level.Debug
, nhưng tôi thấy không có gì không ổn. Trong khi ứng dụng đang quay, tôi không thấy đăng nhập nào cả.
Nếu tôi chỉ để cho nó ngồi và quay trong một thời gian dài (~ 5 phút) nó cuối cùng sẽ cung cấp cho lỗi này:
[info] play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[PrivilegedActionException: null]]
[info] at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:265) ~[play_2.11-2.4.3.jar:2.4.3]
[info] at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:191) ~[play_2.11-2.4.3.jar:2.4.3]
[info] at play.core.server.Server$class.logExceptionAndGetResult$1(Server.scala:50) [play-server_2.11-2.4.3.jar:2.4.3]
[info] at play.core.server.Server$$anonfun$getHandlerFor$4.apply(Server.scala:59) [play-server_2.11-2.4.3.jar:2.4.3]
[info] at play.core.server.Server$$anonfun$getHandlerFor$4.apply(Server.scala:57) [play-server_2.11-2.4.3.jar:2.4.3]
[info] at scala.util.Either$RightProjection.flatMap(Either.scala:522) [scala-library.jar:na]
[info] at play.core.server.Server$class.getHandlerFor(Server.scala:57) [play-server_2.11-2.4.3.jar:2.4.3]
[info] at play.core.server.NettyServer.getHandlerFor(NettyServer.scala:33) [play-netty-server_2.11-2.4.3.jar:2.4.3]
[info] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$8.apply(PlayDefaultUpstreamHandler.scala:139) [play-netty-server_2.11-2.4.3.jar:2.4.3]
[info] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$8.apply(PlayDefaultUpstreamHandler.scala:139) [play-netty-server_2.11-2.4.3.jar:2.4.3]
[info] Caused by: java.security.PrivilegedActionException: null
[info] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_20]
[info] at play.runsupport.Reloader$.play$runsupport$Reloader$$withReloaderContextClassLoader(Reloader.scala:39) ~[na:na]
[info] at play.runsupport.Reloader.reload(Reloader.scala:321) ~[na:na]
[info] at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:113) ~[play-server_2.11-2.4.3.jar:2.4.3]
[info] at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:111) ~[play-server_2.11-2.4.3.jar:2.4.3]
[info] at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) ~[scala-library.jar:na]
[info] at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) ~[scala-library.jar:na]
[info] at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1423) ~[na:1.8.0_20]
[info] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[na:1.8.0_20]
[info] at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:902) ~[na:1.8.0_20]
[info] Caused by: java.util.concurrent.TimeoutException: Futures timed out after [300000 milliseconds]
[info] at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:219) ~[scala-library.jar:na]
[info] at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:223) ~[scala-library.jar:na]
[info] at scala.concurrent.Await$$anonfun$result$1.apply(package.scala:190) ~[scala-library.jar:na]
[info] at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53) ~[scala-library.jar:na]
[info] at scala.concurrent.Await$.result(package.scala:190) ~[scala-library.jar:na]
[info] at play.forkrun.ForkRun$$anonfun$askForReload$1.apply(ForkRun.scala:127) ~[na:na]
[info] at play.forkrun.ForkRun$$anonfun$askForReload$1.apply(ForkRun.scala:125) ~[na:na]
[info] at play.runsupport.Reloader$$anonfun$reload$1.apply(Reloader.scala:323) ~[na:na]
[info] at play.runsupport.Reloader$$anon$3.run(Reloader.scala:43) ~[na:na]
[info] at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_20]
tôi nên đề cập đến rằng đây là một rất ứng dụng đơn giản. Nó không làm gì ngoài việc hiển thị một số HTML cho đến nay.
của nó quá xấu, vì nó có vẻ như có rất nhiều điều thiện trong khuôn khổ, nhưng nó chỉ là chậm và khủng khiếp không đáng tin cậy.
Xem http://stackoverflow.com/questions/16560348/how-to-change-future-timeout-with-play-framework-2-1-0 hoặc http://stackoverflow.com/questions/29747778/ lý do tại sao-do-i-get-a-rất-thời gian dài-in-my-playframework-app. Có vẻ như đã xảy ra sự cố với một số cấu hình Play. –
@ Gaël - Cho phép thiết lập rẽ nhánh được chụp - cảm ơn – mtyson
@ Gaël Nhận xét ra dòng này: '// fork in run: = true' tạo sự khác biệt. Đêm và ngày. – mtyson