You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The state root after chunk application depends on the incoming receipts, which are not specific to any particular chunks. A chunk included on two different forks (at the same or at different heights) can have different incoming receipts when it is processed.
There are several possible solutions, two that come to mind:
Index by (chunk_hash, block_hash)
Index by (block_hash, shard_id)
Without this change a chunk validation might fail if the same chunk was processed on a different fork and saved an inconsistent state root.
cross_shard_tx test with the block production time configured sufficiently low reproduces this bug with ~25% chance.
The text was updated successfully, but these errors were encountered:
Also fixing a bug we discovered earlier that if the last block of an epoch doesn't have a chunk for a particular shard, we do not do updated necessary for the epoch switch. Fixing it by forcefully executing `apply_transactions` with no txs and receipts for the last block. Conveniently, with the fix for #1183 it is possible (before we would not be able to store two different post-state roots for the same chunk)
The state root after chunk application depends on the incoming receipts, which are not specific to any particular chunks. A chunk included on two different forks (at the same or at different heights) can have different incoming receipts when it is processed.
There are several possible solutions, two that come to mind:
Without this change a chunk validation might fail if the same chunk was processed on a different fork and saved an inconsistent state root.
cross_shard_tx
test with the block production time configured sufficiently low reproduces this bug with ~25% chance.The text was updated successfully, but these errors were encountered: