From 6226a80e78979e88bf017a68aca96d74281274e1 Mon Sep 17 00:00:00 2001 From: Asim <asim@chuhnk.me> Date: Mon, 21 Dec 2015 17:18:04 +0000 Subject: [PATCH] Print stack when panic --- server/rpc_server.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/rpc_server.go b/server/rpc_server.go index 6436c673..f5f93f1d 100644 --- a/server/rpc_server.go +++ b/server/rpc_server.go @@ -2,6 +2,7 @@ package server import ( "fmt" + "runtime/debug" "strconv" "strings" "sync" @@ -43,6 +44,13 @@ func newRpcServer(opts ...Option) Server { } func (s *rpcServer) accept(sock transport.Socket) { + defer func() { + if r := recover(); r != nil { + log.Error(r, string(debug.Stack())) + sock.Close() + } + }() + var msg transport.Message if err := sock.Recv(&msg); err != nil { return