Closed
Description
opened on Dec 9, 2021
Summary of Bug
When I start a node from genesis, the x/capability
map correctly matches IBC portIDs to the right modules. If I restart a node, it appears to lose the mapping somehow and diverges from the nodes that aren't restarted.
Version
v0.44.4
Steps to Reproduce
- Start a single-validator network, whose
genesis.json
hasapp_state.transfer.port_id
set to"cosmos-transfer"
. Open the GRPC/RPC ports. - Start one peer follower, also with GRPC/RPC ports open.
- Create an IBC channel to the IBC
"cosmos-transfer"
port via the peer's RPC/GRPC ports. Note that it opens successfully and the peer continues to process blocks. I used:hermes create channel cosmoshub-testnet ibcdbg-1 --port-a transfer --port-b cosmos-transfer -o unordered -v ics20-1
- Restart the peer.
- Repeat step 3 (create an IBC channel), note that the channel cannot create successfully, failing with:
failed to execute message; message index: 1: could not retrieve module from port-id: ports/cosmos-transfer: capability not found
- Repeat step 3 but this time use the validator's RPC/GRPC ports. The channel opens successfully.
However, note that the peer has died with:Dec 09 02:26:19 69fe6a35438c ag-chain-cosmos[2029]: 2:26AM ERR CONSENSUS FAILURE!!! err="+2/3 committed an invalid block: wrong Block.Header.AppHash. Expected FD7D...
I've posted my exported genesis.json which was identical at the crashed block height for both the working validator and the divergent peer. It is interesting to note that the app_state.capability
section in it appears to have all the correct entries.
For Admin Use
- Not duplicate issue
- Appropriate labels applied
- Appropriate contributors tagged
- Contributor assigned/self-assigned
Metadata
Assignees
Labels
No labels
Activity