2015-10-30 17 views
5

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.

+0

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. –

+0

@ Gaël - Cho phép thiết lập rẽ nhánh được chụp - cảm ơn – mtyson

+2

@ 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

Trả lời

2

fork in run := true được thêm vào khi khởi động ứng dụng từ UI của trình kích hoạt (cho quá trình sinh sản), vì vậy hãy ngừng sử dụng giao diện người dùng cho ứng dụng cụ thể (có thể thêm cấu hình khởi động trong IDE của bạn) hoặc luôn nhớ xóa/nhận xét/đặt thành false.

+0

Chỉ cần thông tin - Ứng dụng này không được tạo qua giao diện người dùng – mtyson

Các vấn đề liên quan