QUESTION: If an SNS controlled canister is panicking during `pre_upgrade`, what is the prescribed way to recover that canister?

I am trying to find the least disruptive option.

Things I’ve tried and was hoping would work in 2026:

  • Have a parameter of some sort for the SNS Upgrade Proposal which lets us skip the pre_upgrade
  • Have a parameter of some sort that lets me specify the mode as Reinstall to just reinstall the canister for the SNS Upgrade proposal
  • Use the Generic Proposal type to get the root canister to call the install code method on the management canister but that seems to be blocked by the management canister (for security reasons?)
  • Explore canister snapshots and if I can revert the canister to a prior version. This also seems a no-go

Finally I’m considering the nuclear option of just deregistering the canister from the SNS, doing what needs to be done and reregistering.

Also, does DTS (deterministic time slicing) work for pre_upgrades automatically? Or do we have to do something specific to enable it?

Any inputs are appreciated. Thanks

Why are you asking that, if your frontend isn’t even hosted on the IC? @geitzeist99

Well, I guess, @saikatdas0790 , you got a useful comment from @geitzeist99

Let me know when YOU successfully host a native mobile app on the IC.

We are going ahead with the de-register and re-register step owing to absence of other practical solutions

there was some sort of solution about raising the freeze threshold?