-
Notifications
You must be signed in to change notification settings - Fork 326
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hermes selective retry upon account sequence mismatch #2411
Comments
The correct behavior can be reproduced with
-- The buggy behavior applies to both
|
This bug/ new behavior was introduced with #2348. This fixed the case where some "ignorable" errors are permanent. Before this PR they will result in an infinite retry loop that would prevent stop hermes relaying.
afaict this was the same before #2348 but this PR just makes this visible since before we kept retrying from the third retry loop.
With these diffs for example this outer retry kicks in and we don't see the problem anymore:
But not sure the immediate fix is ^. The long term fix should be better error handling, the cosmosSdk chain runtime with better errors and the peculiarities of how the
|
Seems like we do indeed have a fix! #2450 (comment) |
Summary of Bug
When sending tokens to the same chain twice in a row will have the second transfer triggering an "incorrect account sequence" error which should retry to send the second transfer, but is not retrying and the packet ends up in the pending packets.
Version
Steps to Reproduce
Setup gm
gm start
gm hermes config
gm hermes keys
Setup Hermes
hermes create connection --a-chain ibc-0 --b-chain ibc-1
hermes create channel --a-chain ibc-0 --a-connection connection-0 --a-port transfer --b-port transfer
hermes start
Run transfers and verify
In a new terminal:
hermes tx ft-transfer --dst-chain ibc-0 --src-chain ibc-1 --src-port transfer --src-channel channel-0 --amount 20 --timeout-height-offset 5
hermes tx ft-transfer --dst-chain ibc-0 --src-chain ibc-1 --src-port transfer --src-channel channel-0 --amount 20 --timeout-height-offset 5
hermes start
shows "account sequence mismatch" errorhermes query packet pending --chain ibc-0 --channel channel-0 --port transfer
The last command should show a pending acknowledgment.
Acceptance Criteria
For Admin Use
The text was updated successfully, but these errors were encountered: