77 "os"
88 "os/signal"
99 "path/filepath"
10+ "runtime"
1011 "strings"
1112 "syscall"
1213 "time"
@@ -21,12 +22,12 @@ import (
2122 "github.com/evstack/ev-node/node"
2223 rollconf "github.com/evstack/ev-node/pkg/config"
2324 genesispkg "github.com/evstack/ev-node/pkg/genesis"
24- "github.com/evstack/ev-node/pkg/p2p"
25+ "github.com/evstack/ev-node/pkg/p2p/key "
2526 "github.com/evstack/ev-node/pkg/signer"
2627 "github.com/evstack/ev-node/pkg/signer/file"
2728)
2829
29- const DefaultMaxBlobSize = 2 * 1024 * 1024 // 2MB
30+ const DefaultMaxBlobSize = 1.5 * 1024 * 1024 // 1.5MB
3031
3132// ParseConfig is an helpers that loads the node configuration and validates it.
3233func ParseConfig (cmd * cobra.Command ) (rollconf.Config , error ) {
@@ -82,7 +83,7 @@ func StartNode(
8283 executor coreexecutor.Executor ,
8384 sequencer coresequencer.Sequencer ,
8485 da coreda.DA ,
85- p2pClient * p2p. Client ,
86+ nodeKey * key. NodeKey ,
8687 datastore datastore.Batching ,
8788 nodeConfig rollconf.Config ,
8889 genesis genesispkg.Genesis ,
@@ -138,7 +139,7 @@ func StartNode(
138139 sequencer ,
139140 da ,
140141 signer ,
141- p2pClient ,
142+ nodeKey ,
142143 genesis ,
143144 datastore ,
144145 metrics ,
@@ -155,8 +156,10 @@ func StartNode(
155156 go func () {
156157 defer func () {
157158 if r := recover (); r != nil {
158- err := fmt .Errorf ("node panicked: %v" , r )
159- logger .Error ().Interface ("panic" , r ).Msg ("Recovered from panic in node" )
159+ buf := make ([]byte , 1024 )
160+ n := runtime .Stack (buf , false )
161+ err := fmt .Errorf ("node panicked: %v\n stack trace:\n %s" , r , buf [:n ])
162+ logger .Error ().Interface ("panic" , r ).Str ("stacktrace" , string (buf [:n ])).Msg ("Recovered from panic in node" )
160163 select {
161164 case errCh <- err :
162165 default :
0 commit comments