shutter-network / rolling-shutter

Rolling Shutter is an MEV protection system to be plugged into rollups.
https://twitter.com/project_shutter/
26 stars 7 forks source link

Panic during unclean shutdown #464

Closed jannikluhn closed 1 day ago

jannikluhn commented 5 days ago

Sometimes when killing a keyper, we get a panic like this:

^C2024/06/27 19:03:39.709419 INF [       service.go:96] received OS signal, shutting down signal=interrupt
2024-06-27T17:03:39.709+0200    INFO    pubsub  go-libp2p-pubsub@v0.10.0/pubsub.go:671  pubsub processloop shutting down
panic: send on closed channel

goroutine 311 [running]:
reflect.rselect({0x140007d9d88, 0x3, 0x140007d9cf8?})
    /Users/jannik/.asdf/installs/golang/1.21.3/packages/pkg/mod/golang.org/toolchain@v0.0.1-go1.21.4.darwin-arm64/src/runtime/select.go:589 +0x280
reflect.Select({0x140007d9ea0?, 0x3, 0xa98?})
    /Users/jannik/.asdf/installs/golang/1.21.3/packages/pkg/mod/golang.org/toolchain@v0.0.1-go1.21.4.darwin-arm64/src/reflect/value.go:3104 +0x494
github.com/ethereum/go-ethereum/rpc.(*ClientSubscription).forward(0x14000251680)
    /Users/jannik/.asdf/installs/golang/1.21.3/packages/pkg/mod/github.com/ethereum/go-ethereum@v1.13.11/rpc/subscription.go:341 +0x1dc
github.com/ethereum/go-ethereum/rpc.(*ClientSubscription).run(0x14000251680)
    /Users/jannik/.asdf/installs/golang/1.21.3/packages/pkg/mod/github.com/ethereum/go-ethereum@v1.13.11/rpc/subscription.go:300 +0x50
created by github.com/ethereum/go-ethereum/rpc.(*handler).handleResponses.func1 in goroutine 93
    /Users/jannik/.asdf/installs/golang/1.21.3/packages/pkg/mod/github.com/ethereum/go-ethereum@v1.13.11/rpc/handler.go:412 +0x1ec

Full logs:

2024/06/27 19:03:39.184964 INF [         parse.go:57] read config config=keyper-2.toml
2024/06/27 19:03:39.185121 DBG [       command.go:97] got config config={"BeaconAPIURL":"https://chiado-node.staging.shutter.network/consensus","DatabaseURL":"postgres:///keyper-db-2","Gnosis":{"Contracts":{"EonKeyPublish":"0xf8b0c2b38f09b8afa12b568c97ec7a0afd1ca8cb","KeyBroadcastContract":"0x1b77670a4f8209418c1d3e1cc659393711aa5c6e","KeyperSetManager":"0x7dfa2e93b831b30baa7bbeb5147b34af5a53e743","Sequencer":"0x75bcd84042b5a7c58097c5bd97ab4fc429ba11ae","ValidatorRegistry":"0x06bfddbebe11f7ee8a39fc7dc24498de85c8afca"},"EncryptedGasLimit":1000000,"GenesisSlotTimestamp":1665396300,"MaxTxPointerAge":5,"MinGasPerTransaction":21000,"Node":{"ContractsURL":"https://chiado-node.staging.shutter.network/execution","DeploymentDir":"./deployments/localhost/","EthereumURL":"wss://chiado-node.staging.shutter.network/execution","PrivateKey":"a4e901b1df81ff8fc5fa77f5bf0c15a4c8410e85fcaf19fbec47a2241b9d65d6"},"SecondsPerSlot":5,"SlotsPerEpoch":16,"SyncStartBlockNumber":34646102},"HTTPEnabled":true,"HTTPListenAddress":":24002","InstanceID":42,"MaxNumKeysPerMessage":500,"Metrics":{"Enabled":false,"Host":"[::]","Port":9100},"P2P":{"CustomBootstrapAddresses":["/ip4/127.0.0.1/tcp/2001/p2p/12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki"],"DiscoveryNamespace":"shutter-42","Environment":"local","ListenAddresses":["/ip4/127.0.0.1/tcp/23102"],"P2PKey":"CAESQIaR6iJCaJcmXwNyze/UpmAvKK2yQybw+sH7OG9HKbeek74XSoI3XGj+ZLknktVJoxeSTf5fti/CX67DcHvZXOE="},"Shuttermint":{"DKGPhaseLength":8,"DKGStartBlockDelta":5,"EncryptionKey":"ac12d8fbf00461be79021e378f230d5dd93ffa24eb156785a13c010d0809a633","ShuttermintURL":"http://localhost:26657","ValidatorPublicKey":"df359cd93fe4570db05afb626fd9055802834ed5ca1267ae288e1fd36ee69666"}}
2024/06/27 19:03:39.185213 INF [  gnosiskeyper.go:46] starting gnosis keyper address=0x62F6DC5638250bD9edE84DFBfa54efA263186a4a shuttermint=http://localhost:26657 version="(devel-925a119ca27bd4cce8efbaf22bdbc13cffb0a607) (go1.21.4, darwin-arm64)"
2024/06/27 19:03:39.187906 INF [       connect.go:41] connected to database database=keyper-db-2 db-host=/private/tmp db-user=jannik
2024/06/27 19:03:39.302757 INF [       keyper.go:193] initializing sequencer syncer contract-address=0x7dFa2e93b831b30BaA7BBeb5147B34AF5a53E743
2024/06/27 19:03:39.351800 DBG [sequencersyncer.go:51] syncing sequencer contract end-block=10532536 start-block=34646102
2024/06/27 19:03:39.423271 DBG [validatorsyncer.go:56] syncing validator registry end-block=10532536 start-block=34646102
2024-06-27T17:03:39.484+0200    DEBUG   rcmgr   resource-manager/limit.go:84    initializing new limiter with config    {"limits": {}}
2024-06-27T17:03:39.484+0200    WARN    p2p-config  config/config.go:304    rcmgr limit conflicts with connmgr limit: conn manager high watermark limit: 72, exceeds the system connection limit of: 1
2024-06-27T17:03:39.488+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    transport.Upgrader <= fx.Annotate(github.com/libp2p/go-libp2p/p2p/net/upgrader.New(), fx.ParamTags(["name:\"security\""])
2024-06-27T17:03:39.488+0200    DEBUG   p2p-config  config/log.go:21    [Fx] SUPPLY []upgrader.StreamMuxer
2024-06-27T17:03:39.488+0200    DEBUG   p2p-config  config/log.go:21    [Fx] SUPPLY peer.ID
2024-06-27T17:03:39.488+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    host.Host <= github.com/libp2p/go-libp2p/config.(*Config).addTransports.func2()
2024-06-27T17:03:39.488+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    crypto.PrivKey <= github.com/libp2p/go-libp2p/config.(*Config).addTransports.func3()
2024-06-27T17:03:39.488+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    connmgr.ConnectionGater <= github.com/libp2p/go-libp2p/config.(*Config).addTransports.func4()
2024-06-27T17:03:39.488+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    pnet.PSK <= github.com/libp2p/go-libp2p/config.(*Config).addTransports.func5()
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    network.ResourceManager <= github.com/libp2p/go-libp2p/config.(*Config).addTransports.func6()
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    *madns.Resolver <= github.com/libp2p/go-libp2p/config.(*Config).addTransports.func7()
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    transport.Transport[group = "transport"] <= fx.Annotate(github.com/libp2p/go-libp2p/p2p/transport/tcp.NewTCPTransport(), fx.ResultTags(["group:\"transport\""]), fx.As([[transport.Transport]])
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    transport.Transport[group = "transport"] <= fx.Annotate(github.com/libp2p/go-libp2p/p2p/transport/quic.NewTransport(), fx.ResultTags(["group:\"transport\""]), fx.As([[transport.Transport]])
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    transport.Transport[group = "transport"] <= fx.Annotate(github.com/libp2p/go-libp2p/p2p/transport/websocket.New(), fx.ResultTags(["group:\"transport\""]), fx.As([[transport.Transport]])
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    transport.Transport[group = "transport"] <= fx.Annotate(github.com/libp2p/go-libp2p/p2p/transport/webtransport.New(), fx.ResultTags(["group:\"transport\""]), fx.As([[transport.Transport]])
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] SUPPLY protocol.ID
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    sec.SecureTransport[group = "security_unordered"] <= fx.Annotate(github.com/libp2p/go-libp2p/p2p/security/noise.New(), fx.ParamTags(["name:\"security_/noise\""]), fx.ResultTags(["group:\"security_unordered\""]), fx.As([[sec.SecureTransport]])
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] SUPPLY protocol.ID
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    sec.SecureTransport[group = "security_unordered"] <= fx.Annotate(github.com/libp2p/go-libp2p/p2p/security/tls.New(), fx.ParamTags(["name:\"security_/tls/1.0.0\""]), fx.ResultTags(["group:\"security_unordered\""]), fx.As([[sec.SecureTransport]])
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    []sec.SecureTransport[name = "security"] <= fx.Annotate(github.com/libp2p/go-libp2p/config.(*Config).addTransports.func9(), fx.ParamTags(["group:\"security_unordered\""]), fx.ResultTags(["name:\"security\""])
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    quic.StatelessResetKey <= github.com/libp2p/go-libp2p/config.PrivKeyToStatelessResetKey()
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    handshake.TokenProtectorKey <= github.com/libp2p/go-libp2p/config.PrivKeyToTokenGeneratorKey()
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    *quicreuse.ConnManager <= github.com/libp2p/go-libp2p/p2p/transport/quicreuse.NewConnManager()
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    fx.Lifecycle <= go.uber.org/fx.New.func1()
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    fx.Shutdowner <= go.uber.org/fx.(*App).shutdowner-fm()
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] PROVIDE    fx.DotGraph <= go.uber.org/fx.(*App).dotGraph-fm()
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] LOGGER Initialized custom logger from github.com/libp2p/go-libp2p/config.(*Config).addTransports.func1()
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] INVOKE     fx.Annotate(github.com/libp2p/go-libp2p/config.(*Config).addTransports.func10(), fx.ParamTags(["group:\"transport\""])
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    supply: stub(protocol.ID)
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: github.com/libp2p/go-libp2p/config.(*Config).addTransports.func3()
2024-06-27T17:03:39.489+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    supply: stub([]upgrader.StreamMuxer)
2024-06-27T17:03:39.490+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: fx.Annotate(github.com/libp2p/go-libp2p/p2p/security/noise.New(), fx.ParamTags(["name:\"security_/noise\""]), fx.ResultTags(["group:\"security_unordered\""]), fx.As([[sec.SecureTransport]])
2024-06-27T17:03:39.490+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    supply: stub(protocol.ID)
2024-06-27T17:03:39.490+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: fx.Annotate(github.com/libp2p/go-libp2p/p2p/security/tls.New(), fx.ParamTags(["name:\"security_/tls/1.0.0\""]), fx.ResultTags(["group:\"security_unordered\""]), fx.As([[sec.SecureTransport]])
2024-06-27T17:03:39.490+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: fx.Annotate(github.com/libp2p/go-libp2p/config.(*Config).addTransports.func9(), fx.ParamTags(["group:\"security_unordered\""]), fx.ResultTags(["name:\"security\""])
2024-06-27T17:03:39.490+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: github.com/libp2p/go-libp2p/config.(*Config).addTransports.func5()
2024-06-27T17:03:39.490+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: github.com/libp2p/go-libp2p/config.(*Config).addTransports.func6()
2024-06-27T17:03:39.490+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: github.com/libp2p/go-libp2p/config.(*Config).addTransports.func4()
2024-06-27T17:03:39.490+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: fx.Annotate(github.com/libp2p/go-libp2p/p2p/net/upgrader.New(), fx.ParamTags(["name:\"security\""])
2024-06-27T17:03:39.490+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: fx.Annotate(github.com/libp2p/go-libp2p/p2p/transport/tcp.NewTCPTransport(), fx.ResultTags(["group:\"transport\""]), fx.As([[transport.Transport]])
2024-06-27T17:03:39.490+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: github.com/libp2p/go-libp2p/config.PrivKeyToStatelessResetKey()
2024-06-27T17:03:39.491+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: github.com/libp2p/go-libp2p/config.PrivKeyToTokenGeneratorKey()
2024-06-27T17:03:39.491+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: github.com/libp2p/go-libp2p/p2p/transport/quicreuse.NewConnManager()
2024-06-27T17:03:39.491+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: fx.Annotate(github.com/libp2p/go-libp2p/p2p/transport/quic.NewTransport(), fx.ResultTags(["group:\"transport\""]), fx.As([[transport.Transport]])
2024-06-27T17:03:39.491+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: fx.Annotate(github.com/libp2p/go-libp2p/p2p/transport/websocket.New(), fx.ResultTags(["group:\"transport\""]), fx.As([[transport.Transport]])
2024-06-27T17:03:39.491+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: fx.Annotate(github.com/libp2p/go-libp2p/p2p/transport/webtransport.New(), fx.ResultTags(["group:\"transport\""]), fx.As([[transport.Transport]])
2024-06-27T17:03:39.491+0200    DEBUG   p2p-config  config/log.go:21    [Fx] INVOKE     github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/client.AddTransport()
2024-06-27T17:03:39.491+0200    DEBUG   p2p-config  config/log.go:21    [Fx] RUN    provide: github.com/libp2p/go-libp2p/config.(*Config).addTransports.func2()
2024-06-27T17:03:39.491+0200    DEBUG   net/identify    identify/id.go:583  updating snapshot   {"seq": 1, "addrs": ["/ip4/127.0.0.1/tcp/23102"]}
2024-06-27T17:03:39.491+0200    DEBUG   net/identify    identify/id.go:583  updating snapshot   {"seq": 2, "addrs": ["/ip4/127.0.0.1/tcp/23102"]}
2024-06-27T17:03:39.491+0200    INFO    dht/RtRefreshManager    rtrefresh/rt_refresh_manager.go:322 starting refreshing cpl 0 with key CIQAAADRRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA (routing table size was 0)
2024-06-27T17:03:39.491+0200    WARN    dht/RtRefreshManager    rtrefresh/rt_refresh_manager.go:187 failed when refreshing routing table2 errors occurred:
    * failed to query for self, err=failed to find any peer in table
    * failed to refresh cpl=0, err=failed to find any peer in table

2024-06-27T17:03:39.491+0200    DEBUG   basichost   basic/basic_host.go:739 host 12D3KooWKm6Daxect5KtqgF7HeF1woSb16xQDGXThaKxtyngEHaG dialing 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki
2024-06-27T17:03:39.491+0200    DEBUG   swarm2  swarm/swarm_dial.go:240 dialing peer    {"from": "12D3KooWKm6Daxect5KtqgF7HeF1woSb16xQDGXThaKxtyngEHaG", "to": "12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki"}
2024-06-27T17:03:39.492+0200    DEBUG   swarm2  swarm/limiter.go:187    [limiter] adding a dial job through limiter: /ip4/127.0.0.1/tcp/2001
2024-06-27T17:03:39.492+0200    DEBUG   swarm2  swarm/limiter.go:155    [limiter] taking FD token: peer: 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki; addr: /ip4/127.0.0.1/tcp/2001; prev consuming: 0
2024-06-27T17:03:39.492+0200    DEBUG   swarm2  swarm/limiter.go:161    [limiter] executing dial; peer: 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki; addr: /ip4/127.0.0.1/tcp/2001; FD consuming: 1; waiting: 0
2024-06-27T17:03:39.492+0200    DEBUG   swarm2  swarm/swarm_dial.go:532 12D3KooWKm6Daxect5KtqgF7HeF1woSb16xQDGXThaKxtyngEHaG swarm dialing 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki /ip4/127.0.0.1/tcp/2001
2024-06-27T17:03:39.492+0200    DEBUG   reuseport-transport reuseport/reuseport.go:31   failed to reuse port, will try again with a random port: dial tcp4 127.0.0.1:23102->127.0.0.1:2001: connect: connection refused
2024-06-27T17:03:39.492+0200    DEBUG   net/identify    identify/id.go:583  updating snapshot   {"seq": 3, "addrs": ["/ip4/127.0.0.1/tcp/23102"]}
2024-06-27T17:03:39.492+0200    DEBUG   net/identify    identify/id.go:583  updating snapshot   {"seq": 4, "addrs": ["/ip4/127.0.0.1/tcp/23102"]}
2024-06-27T17:03:39.492+0200    INFO    dht/RtRefreshManager    rtrefresh/rt_refresh_manager.go:322 starting refreshing cpl 0 with key CIQAAAC5XMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA (routing table size was 0)
2024-06-27T17:03:39.492+0200    WARN    dht/RtRefreshManager    rtrefresh/rt_refresh_manager.go:233 failed when refreshing routing table    {"error": "2 errors occurred:\n\t* failed to query for self, err=failed to find any peer in table\n\t* failed to refresh cpl=0, err=failed to find any peer in table\n\n"}
2024-06-27T17:03:39.492+0200    DEBUG   swarm2  swarm/limiter.go:67 [limiter] freeing FD token; waiting: 0; consuming: 1
2024-06-27T17:03:39.492+0200    DEBUG   swarm2  swarm/limiter.go:94 [limiter] freeing peer token; peer 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki; addr: /ip4/127.0.0.1/tcp/2001; active for peer: 1; waiting on peer limit: 0
2024-06-27T17:03:39.492+0200    DEBUG   swarm2  swarm/limiter.go:195    [limiter] clearing all peer dials: 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki
2024/06/27 19:03:39.492800 INF [          p2p.go:165] created libp2p host address=/ip4/127.0.0.1/tcp/23102/p2p/12D3KooWKm6Daxect5KtqgF7HeF1woSb16xQDGXThaKxtyngEHaG
2024-06-27T17:03:39.492+0200    DEBUG   swarm2  swarm/swarm_dial.go:277 network for 12D3KooWKm6Daxect5KtqgF7HeF1woSb16xQDGXThaKxtyngEHaG finished dialing 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki
2024-06-27T17:03:39.492+0200    WARN    dht go-libp2p-kad-dht@v0.25.1/dht.go:522    failed to bootstrap {"peer": "12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki", "error": "failed to dial: failed to dial 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki: all dials failed\n  * [/ip4/127.0.0.1/tcp/2001] dial tcp4 127.0.0.1:2001: connect: connection refused"}
2024-06-27T17:03:39.492+0200    DEBUG   basichost   basic/basic_host.go:739 host 12D3KooWKm6Daxect5KtqgF7HeF1woSb16xQDGXThaKxtyngEHaG dialing 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki
2024-06-27T17:03:39.492+0200    DEBUG   basichost   basic/basic_host.go:739 host 12D3KooWKm6Daxect5KtqgF7HeF1woSb16xQDGXThaKxtyngEHaG dialing 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki
2024-06-27T17:03:39.492+0200    DEBUG   swarm2  swarm/swarm_dial.go:240 dialing peer    {"from": "12D3KooWKm6Daxect5KtqgF7HeF1woSb16xQDGXThaKxtyngEHaG", "to": "12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki"}
2024-06-27T17:03:39.492+0200    DEBUG   swarm2  swarm/swarm_dial.go:240 dialing peer    {"from": "12D3KooWKm6Daxect5KtqgF7HeF1woSb16xQDGXThaKxtyngEHaG", "to": "12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki"}
2024-06-27T17:03:39.492+0200    INFO    dht/RtRefreshManager    rtrefresh/rt_refresh_manager.go:322 starting refreshing cpl 0 with key CIQAAAGBAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA (routing table size was 0)
2024-06-27T17:03:39.493+0200    WARN    dht/RtRefreshManager    rtrefresh/rt_refresh_manager.go:233 failed when refreshing routing table    {"error": "2 errors occurred:\n\t* failed to query for self, err=failed to find any peer in table\n\t* failed to refresh cpl=0, err=failed to find any peer in table\n\n"}
2024-06-27T17:03:39.492+0200    WARN    pubsub  go-libp2p-pubsub@v0.10.0/discovery.go:193   bootstrap: error providing rendezvous for decryptionKeys: failed to find any peer in table
2024-06-27T17:03:39.492+0200    WARN    pubsub  go-libp2p-pubsub@v0.10.0/discovery.go:193   bootstrap: error providing rendezvous for EonPublicKey: failed to find any peer in table
2024-06-27T17:03:39.493+0200    DEBUG   swarm2  swarm/swarm_dial.go:277 network for 12D3KooWKm6Daxect5KtqgF7HeF1woSb16xQDGXThaKxtyngEHaG finished dialing 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki
2024-06-27T17:03:39.493+0200    DEBUG   swarm2  swarm/swarm_dial.go:277 network for 12D3KooWKm6Daxect5KtqgF7HeF1woSb16xQDGXThaKxtyngEHaG finished dialing 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki
2024-06-27T17:03:39.493+0200    WARN    pubsub  go-libp2p-pubsub@v0.10.0/discovery.go:193   bootstrap: error providing rendezvous for decryptionKeyShares: failed to find any peer in table
2024-06-27T17:03:39.493+0200    WARN    dht go-libp2p-kad-dht@v0.25.1/dht.go:522    failed to bootstrap {"peer": "12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki", "error": "failed to dial: failed to dial 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki: all dials failed\n  * [/ip4/127.0.0.1/tcp/2001] dial backoff"}
2024-06-27T17:03:39.493+0200    DEBUG   routedhost  routed/routed.go:117    failed to find more peer addresses 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki: failed to find any peer in table
2024-06-27T17:03:39.493+0200    DEBUG   swarm2  swarm/limiter.go:195    [limiter] clearing all peer dials: 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki
2024/06/27 19:03:39.493123 DBG [     bootstrap.go:46] couldn't connect to boostrap node error="failed to dial: failed to dial 12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki: all dials failed\n  * [/ip4/127.0.0.1/tcp/2001] dial backoff" peer="{12D3KooWMyutShWdqYj7fre4Vjuq2QnCTb26Ki1KpyDyVsrmKeki: [/ip4/127.0.0.1/tcp/2001]}"
2024/06/27 19:03:39.493149 DBG [    bootstrap.go:100] called retriable function error="could not connect to any bootstrap node" count=1 duration=0.230834 funcName=bootstrap
2024/06/27 19:03:39.506260 DBG [       keyper.go:207] handle on chain changes sync-block-number=10532536
2024/06/27 19:03:39.604780 INF [  newkeyperset.go:30] new keyper set added activation-block=10498735 eon=1 is-member=false num-members=3 threshold=2
2024/06/27 19:03:39.649819 INF [eonkeypublisher.go:62] starting eon key publisher
^C2024/06/27 19:03:39.709419 INF [       service.go:96] received OS signal, shutting down signal=interrupt
2024-06-27T17:03:39.709+0200    INFO    pubsub  go-libp2p-pubsub@v0.10.0/pubsub.go:671  pubsub processloop shutting down
panic: send on closed channel

goroutine 311 [running]:
reflect.rselect({0x140007d9d88, 0x3, 0x140007d9cf8?})
    /Users/jannik/.asdf/installs/golang/1.21.3/packages/pkg/mod/golang.org/toolchain@v0.0.1-go1.21.4.darwin-arm64/src/runtime/select.go:589 +0x280
reflect.Select({0x140007d9ea0?, 0x3, 0xa98?})
    /Users/jannik/.asdf/installs/golang/1.21.3/packages/pkg/mod/golang.org/toolchain@v0.0.1-go1.21.4.darwin-arm64/src/reflect/value.go:3104 +0x494
github.com/ethereum/go-ethereum/rpc.(*ClientSubscription).forward(0x14000251680)
    /Users/jannik/.asdf/installs/golang/1.21.3/packages/pkg/mod/github.com/ethereum/go-ethereum@v1.13.11/rpc/subscription.go:341 +0x1dc
github.com/ethereum/go-ethereum/rpc.(*ClientSubscription).run(0x14000251680)
    /Users/jannik/.asdf/installs/golang/1.21.3/packages/pkg/mod/github.com/ethereum/go-ethereum@v1.13.11/rpc/subscription.go:300 +0x50
created by github.com/ethereum/go-ethereum/rpc.(*handler).handleResponses.func1 in goroutine 93
    /Users/jannik/.asdf/installs/golang/1.21.3/packages/pkg/mod/github.com/ethereum/go-ethereum@v1.13.11/rpc/handler.go:412 +0x1ec
jannikluhn commented 1 day ago

Fixed by #470