Skip to content

Commit f2b59fb

Browse files
authored
suppress all panics from godispatch (#211)
1 parent d05d1e8 commit f2b59fb

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

pkg/demoinfocs/parser.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package demoinfocs
22

33
import (
4-
"errors"
54
"fmt"
65
"io"
6+
"runtime/debug"
77
"sync"
88
"time"
99

@@ -305,10 +305,12 @@ func NewParserWithConfig(demostream io.Reader, config ParserConfig) Parser {
305305
p.demoInfoProvider = demoInfoProvider{parser: &p}
306306

307307
dispatcherCfg := dp.Config{
308-
PanicHandler: func(v interface{}) { p.setError(errors.New(fmt.Sprint(v))) },
308+
PanicHandler: func(v interface{}) {
309+
p.setError(fmt.Errorf("%v\nstacktrace:\n%s", v, debug.Stack()))
310+
},
309311
}
310312
p.msgDispatcher = dp.NewDispatcherWithConfig(dispatcherCfg)
311-
p.eventDispatcher = new(dp.Dispatcher)
313+
p.eventDispatcher = dp.NewDispatcherWithConfig(dispatcherCfg)
312314

313315
// Attach proto msg handlers
314316
p.msgDispatcher.RegisterHandler(p.handlePacketEntities)

0 commit comments

Comments
 (0)