# \# ICRC-1 Ledger Upgrade Compatibility Issue: Cannot Upgrade Past 2024-09-13

**URL:** <https://forum.dfinity.org/t/icrc-1-ledger-upgrade-compatibility-issue-cannot-upgrade-past-2024-09-13/50446>\
**Category:** Developers\
**Created:** [June 12, 2025, 11:59am UTC](https://forum.dfinity.org/t/icrc-1-ledger-upgrade-compatibility-issue-cannot-upgrade-past-2024-09-13/50446 "2025-06-12T11:59:52Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vishnu](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/vishnu/32/23285_2.png) [@Vishnu](https://forum.dfinity.org/u/Vishnu)\
**Post date:** [June 12, 2025, 11:59am UTC](https://forum.dfinity.org/t/icrc-1-ledger-upgrade-compatibility-issue-cannot-upgrade-past-2024-09-13/50446/1 "2025-06-12T11:59:52Z")

</div>

## Issue Summary

We’re unable to upgrade our ICRC-1 ledger canister to any version released after **2024-09-13** due to stable memory compatibility issues.

## Technical Details

**Current Working Version** : 2024-09-13 (commit: `5ba1412f`)  
**Canister ID** : `irorr-5aaaa-aaaak-qddsq-cai`  
**Network** : IC Mainnet

## Failed Upgrade Attempts

Attempted to upgrade to the following ledger-suite-icrc releases, all failing with the same error:

- ❌ **2024-10-17**
- ❌ **2024-11-28**
- ❌ **2025-01-07**
- ❌ **2025-01-21**
- ❌ **2025-02-27**
- ❌ **2025-04-14**
- ❌ **2025-05-22**

## Error Message

```auto
Error from Canister irorr-5aaaa-aaaak-qddsq-cai: Canister called `ic0.trap` with message: 
'Panicked at 'Cannot upgrade from scratch stable memory, please upgrade to memory manager first.', 
rs/ledger_suite/icrc1/ledger/src/main.rs:192:9'

```

## Upgrade Command Used

```bash
dfx deploy dusd_ledger --argument '(variant { 
  Upgrade = opt record { 
    token_symbol = opt "DUSD"; 
    token_name = opt "Doxa USD"; 
  } 
})' --ic --identity doxa

```

## Root Cause Analysis

The error suggests that ICRC-1 ledgers deployed before **2024-10-17** use **“scratch stable memory”** format, while newer versions expect **“memory manager”** format. This appears to be a **breaking change** in the stable memory layout.

## Questions for the Community

1. **Is there an intermediate upgrade path** between 2024-09-13 and 2024-10-17 that handles the memory format migration?

2. **Are there any migration tools** or specific upgrade procedures for ledgers stuck on pre-2024-10-17 versions?

3. **What’s the recommended approach** for production ICRC-1 ledgers that need to stay on older versions for compatibility?

4. **Will this be addressed** in future releases with backward compatibility support?

## Related Discussion

Similar issue discussed here: [Upgrading old ICRC1 token to the ICRC ledger suite](https://forum.dfinity.org/t/upgrading-old-icrc1-token-to-the-icrc-ledger-suite/39663)

Any guidance on safe upgrade paths or migration strategies would be greatly appreciated!

---

<div class="post-metadata">

**Author:** ![marc0olo](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/marc0olo/32/17290_2.png) [@marc0olo](https://forum.dfinity.org/u/marc0olo)\
**Post date:** [June 12, 2025, 12:02pm UTC](https://forum.dfinity.org/t/icrc-1-ledger-upgrade-compatibility-issue-cannot-upgrade-past-2024-09-13/50446/2 "2025-06-12T12:02:10Z")

</div>

Are you aware of [this migration guide](https://forum.dfinity.org/t/icrc-ledger-suite-upgrade/40655)? (cc @mathiasb)

---

<div class="post-metadata">

**Author:** ![Vishnu](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/vishnu/32/23285_2.png) [@Vishnu](https://forum.dfinity.org/u/Vishnu)\
**Post date:** [June 12, 2025, 12:14pm UTC](https://forum.dfinity.org/t/icrc-1-ledger-upgrade-compatibility-issue-cannot-upgrade-past-2024-09-13/50446/3 "2025-06-12T12:14:51Z")

</div>

no but thankyou for sharing  
i am reading it

---

<div class="post-metadata">

**Author:** ![mathiasb](https://avatars.discourse-cdn.com/v4/letter/m/f475e1/32.png) [@mathiasb](https://forum.dfinity.org/u/mathiasb)\
**Post date:** [June 12, 2025, 12:38pm UTC](https://forum.dfinity.org/t/icrc-1-ledger-upgrade-compatibility-issue-cannot-upgrade-past-2024-09-13/50446/4 "2025-06-12T12:38:38Z")

</div>

Hi @Vishnu, thanks for the details, and sorry to hear you’re having issues upgrading your ledger canister!

Looking at the canister info and metadata, I’m a bit confused:

```auto
$ dfx canister info --network ic irorr-5aaaa-aaaak-qddsq-cai
Controllers: 2bfxp-uzezm-gf5ny-ztks2-ybgzc-4dfjc-7gdhs-he2ek-vdjfk-w4yph-fqe 6cfa5-kyaaa-aaaag-qdk4a-cai
Module hash: 0xa170bfdce5d66e751a3cc03747cb0f06b450af500e75e15976ec08a3f5691f4c

```

The module has suggests that this canister is running [ledger-suite-icrc-2024-09-13](https://github.com/dfinity/ic/releases/tag/ledger-suite-icrc-2024-09-13).

```auto
$ dfx canister --ic metadata irorr-5aaaa-aaaak-qddsq-cai git_commit_id
e54d3fa34ded227c885d04e64505fa4b5d564743

```

However, the `git_commit_id` metadata suggests it is running [a commit from October 17, 2024](https://github.com/dfinity/ic/commit/e54d3fa34ded227c885d04e64505fa4b5d564743).

Thanks for pointing to the migration post @marc0olo!  
@Vishnu if you are able to upgrade after referring to the instructions in the post, feel free to disregard my follow-up questions.

Just to clarify, you are running the Rust ICRC ledger from the [ic](https://github.com/dfinity/ic/) repository? Did you build the canister yourself, or download the WASM from a CDN? The error suggests that you are running a pre-2024-09-13 release of the ledger.

Regarding your questions for the community:

1. _ **Is there an intermediate upgrade path** between 2024-09-13 and 2024-10-17 that handles the memory format migration?_

2. _ **Are there any migration tools** or specific upgrade procedures for ledgers stuck on pre-2024-10-17 versions?_

3. _ **What’s the recommended approach** for production ICRC-1 ledgers that need to stay on older versions for compatibility?_

4. _ **Will this be addressed** in future releases with backward compatibility support?_

---

<div class="post-metadata">

**Author:** ![mathiasb](https://avatars.discourse-cdn.com/v4/letter/m/f475e1/32.png) [@mathiasb](https://forum.dfinity.org/u/mathiasb)\
**Post date:** [June 12, 2025, 12:46pm UTC](https://forum.dfinity.org/t/icrc-1-ledger-upgrade-compatibility-issue-cannot-upgrade-past-2024-09-13/50446/5 "2025-06-12T12:46:13Z")

</div>

@Vishnu The error message you posted:

```auto
Error from Canister irorr-5aaaa-aaaak-qddsq-cai: Canister called `ic0.trap` with message: 
'Panicked at 'Cannot upgrade from scratch stable memory, please upgrade to memory manager first.', 
rs/ledger_suite/icrc1/ledger/src/main.rs:192:9'

```

seems to be from [the 2024-11-28 release](https://github.com/dfinity/ic/blob/2190613d3b5bcd9b74c382b22d151580b8ac271a/rs/ledger_suite/icrc1/ledger/src/main.rs#L192). The earlier releases do not fail with that error, so if you could let us know what the error is when trying to upgrade to [the 2024-10-17 release](https://github.com/dfinity/ic/releases/tag/ledger-suite-icrc-2024-10-17), that would be helpful!

---

<div class="post-metadata">

**Author:** ![Vishnu](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/vishnu/32/23285_2.png) [@Vishnu](https://forum.dfinity.org/u/Vishnu)\
**Post date:** [June 15, 2025, 11:30am UTC](https://forum.dfinity.org/t/icrc-1-ledger-upgrade-compatibility-issue-cannot-upgrade-past-2024-09-13/50446/6 "2025-06-15T11:30:02Z")

</div>

we are successfully upgraded our ledger canisters after reading migration guide

---

<div class="post-metadata">

**Author:** ![mathiasb](https://avatars.discourse-cdn.com/v4/letter/m/f475e1/32.png) [@mathiasb](https://forum.dfinity.org/u/mathiasb)\
**Post date:** [June 16, 2025, 6:26am UTC](https://forum.dfinity.org/t/icrc-1-ledger-upgrade-compatibility-issue-cannot-upgrade-past-2024-09-13/50446/7 "2025-06-16T06:26:12Z")

</div>

Thanks for reporting back, that’s great to hear!
