Closed turbolent closed 3 days ago
cc @SupunS
Opened https://github.com/onflow/flow-go/pull/6140 to get the code of all checked contracts / programs, which then can be used to locally run the metrics collecting migration and see which program code is running into the unreachable case.
This is caused by bad state which is now encountered due to #6122: Some contract names registers contain names of contracts which are actually empty. For example, 0x4184b8bdf78db9eb.FungibleToken
is empty.
This is likely caused by insufficient checks for contracts code, before they were added in '22.
We need to filter out effectively empty contracts in the migration. Ideally we would also clean up the state.
cc @onflow/flow-cadence-execution
Current Behavior
When running the migration at
v0.35.15-crescendo-preview.28-atree-inlining
on TN snapshotdevnet50-execution-snapshot-for-migration-12-jun-19
with--report-metrics
, themetrics_collecting_migration
/MetricsCollectingMigration
crashes.(See https://www.notion.so/flowfoundation/TN-state-migration-Atree-inlining-C1-0-Jun-19-preview-28-32cbc865894a4a3586770c818b162132 for details about state)
Expected Behavior
Migration succeeds
Steps To Reproduce
See Notion document
Environment