uzh / signal-collect

A framework for scalable graph computing.
www.signalcollect.com
Apache License 2.0
148 stars 32 forks source link

Console crashes when a client connects after graph.shutdown has been called for non-interactive executions. #120

Open pstutz opened 11 years ago

pstutz commented 11 years ago

Exception in proxy method getLogMessages(: akka.pattern.AskTimeoutException: Recipient[Actor[akka://SignalCollect/user/Coordinator]] had already been terminated. from Actor[akka://SignalCollect/user/Coordinator]() akka.pattern.AskTimeoutException: Recipient[Actor[akka://SignalCollect/user/Coordinator]] had already been terminated. at akka.pattern.AskSupport$class.ask(AskSupport.scala:79) at akka.pattern.package$.ask(package.scala:41) at akka.pattern.AskSupport$AskableActorRef.$qmark(AskSupport.scala:154) at com.signalcollect.messaging.AkkaProxy.invoke(AkkaProxy.scala:108) at $Proxy5.getLogMessages(Unknown Source) at com.signalcollect.console.LogDataProvider.fetch(DataProvider.scala:174) at com.signalcollect.console.WebSocketConsoleServer.onMessage(ConsoleServer.scala:427) at org.java_websocket.server.WebSocketServer.onWebsocketMessage(WebSocketServer.java:469) at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:368) at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:157) at org.java_websocket.server.WebSocketServer$WebSocketWorker.run(WebSocketServer.java:657) WebSocket - client connected: 0:0:0:0:0:0:0:1 WebSocket - client connected: 0:0:0:0:0:0:0:1

pstutz commented 11 years ago

Problem happened with the WebCrawler example, did not try with other examples.

cshapeshifter commented 11 years ago

We're now catching this exception, but for some reason, it still is getting printed. In https://github.com/uzh/signal-collect/blob/master/src/main/scala/com/signalcollect/messaging/AkkaProxy.scala#L108 the exception is thrown, but it's supposed to be caught in https://github.com/uzh/signal-collect/blob/master/src/main/scala/com/signalcollect/messaging/AkkaProxy.scala#L115 so I don't know why the stack is being printed. It's only supposed to print a short error message.

So now we print an error message in case something goes majorly wrong due to coordinator or graph shutdown. I have no idea though why the other exception is still printed.

I'm removing the console tag because it is catching the exception now. If you can figure out why the exception is printed in AkkaProxy, the issue can be closed.