lodestar icon indicating copy to clipboard operation
lodestar copied to clipboard

CodeError: Handler already registered for protocol

Open nflaig opened this issue 1 year ago • 4 comments

Describe the bug

On my Lodestar v1.14.0-rc.1 node I am also seeing a bunch of snappy errors

Jan-17 06:32:00.009[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/ping/1/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/ping/1/ssz_snappy
CodeError: Handler already registered for protocol /eth2/beacon_chain/req/ping/1/ssz_snappy
    at DefaultRegistrar.handle (file:///usr/app/node_modules/libp2p/dist/src/registrar.js:52:19)
    at file:///usr/app/node_modules/libp2p/dist/src/libp2p.js:279:45
    at Array.map (<anonymous>)
    at Libp2pNode.handle (file:///usr/app/node_modules/libp2p/dist/src/libp2p.js:278:37)
    at ReqRespBeaconNode.registerProtocol (file:///usr/app/packages/reqresp/lib/ReqResp.js:61:28)
    at ReqRespBeaconNode.registerProtocolsAtFork (file:///usr/app/packages/beacon-node/lib/network/reqresp/ReqRespBeaconNode.js:70:18)
    at NetworkCore.onEpoch (file:///usr/app/packages/beacon-node/lib/network/core/networkCore.js:73:42)
    at Clock.emit (node:events:526:35)
    at Clock.onNextSlot [as _onTimeout] (file:///usr/app/packages/beacon-node/lib/util/clock.js:34:26)
    at listOnTimeout (node:internal/timers:573:17)
Jan-17 06:32:00.010[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/metadata/2/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/metadata/2/ssz_snappy
CodeError: Handler already registered for protocol /eth2/beacon_chain/req/metadata/2/ssz_snappy
    at DefaultRegistrar.handle (file:///usr/app/node_modules/libp2p/dist/src/registrar.js:52:19)
    at file:///usr/app/node_modules/libp2p/dist/src/libp2p.js:279:45
    at Array.map (<anonymous>)
    at Libp2pNode.handle (file:///usr/app/node_modules/libp2p/dist/src/libp2p.js:278:37)
    at ReqRespBeaconNode.registerProtocol (file:///usr/app/packages/reqresp/lib/ReqResp.js:61:28)
    at ReqRespBeaconNode.registerProtocolsAtFork (file:///usr/app/packages/beacon-node/lib/network/reqresp/ReqRespBeaconNode.js:70:18)
    at NetworkCore.onEpoch (file:///usr/app/packages/beacon-node/lib/network/core/networkCore.js:73:42)
    at Clock.emit (node:events:526:35)
    at Clock.onNextSlot [as _onTimeout] (file:///usr/app/packages/beacon-node/lib/util/clock.js:34:26)
    at listOnTimeout (node:internal/timers:573:17)


.... there are a bunch more

This was right before the dencun fork epoch log

Jan-17 06:32:02.218[chain]            info: Activating blobs epoch=231680

Maybe related on how we subscribe / unsubscribe?

Jan-17 06:19:12.004[network]          info: Subscribing gossip topics before fork nextFork=deneb
Jan-17 06:19:12.007[network]          info: Suscribing to long lived attnets to next fork nextFork=deneb, subnets=49,50
Jan-17 06:19:12.008[network]          info: Suscribing to random attnets to next fork nextFork=deneb
...
Jan-17 06:44:48.002[network]          info: Unsubscribing gossip topics from prev fork prevFork=capella
Jan-17 06:44:48.004[network]          info: Unsuscribing to long lived attnets from prev fork prevFork=capella
Jan-17 06:44:48.007[network]          info: Unsuscribing to random attnets from prev fork prevFork=capella

Expected behavior

No "CodeError: Handler already registered for protocol" errors

Steps to reproduce

Run Lodestar beacon node through capella <> deneb fork transition

Additional context

No response

Operating system

Linux

Lodestar version or commit hash

v1.14.0-rc.1

nflaig avatar Jan 17 '24 10:01 nflaig

This was also visible in Goerli nodes we run using version=v1.14.0/5ac2fae which was the stable release:

Jan-17 06:32:00.017[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/ping/1/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/ping/1/ssz_snappy |  
Jan-17 06:32:00.018[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/status/1/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/status/1/ssz_snappy |  
Jan-17 06:32:00.018[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/goodbye/1/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/goodbye/1/ssz_snappy |  
Jan-17 06:32:00.018[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/metadata/2/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/metadata/2/ssz_snappy |  
Jan-17 06:32:00.018[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/beacon_blocks_by_range/2/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/beacon_blocks_by_range/2/ssz_snappy |  
Jan-17 06:32:00.018[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/beacon_blocks_by_root/2/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/beacon_blocks_by_root/2/ssz_snappy |  
Jan-17 06:32:00.018[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/light_client_bootstrap/1/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/light_client_bootstrap/1/ssz_snappy |  
Jan-17 06:32:00.018[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/light_client_finality_update/1/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/light_client_finality_update/1/ssz_snappy |  
Jan-17 06:32:00.018[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/light_client_optimistic_update/1/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/light_client_optimistic_update/1/ssz_snappy |  
Jan-17 06:32:00.018[network]         error: Error on ReqResp.registerProtocol protocolID=/eth2/beacon_chain/req/light_client_updates_by_range/1/ssz_snappy - Handler already registered for protocol /eth2/beacon_chain/req/light_client_updates_by_range/1/ssz_snapp

philknows avatar Jan 19 '24 22:01 philknows

@nazarhussain related to some errors we saw in sim tests

wemeetagain avatar Feb 05 '24 20:02 wemeetagain

Yes these errors should actually be verbose been here for long time.

nazarhussain avatar Feb 05 '24 21:02 nazarhussain

Would be good to address this before Deneb on mainnet

nflaig avatar Feb 06 '24 09:02 nflaig