We experienced an issue where we had a motion open before upgrading our runtime, after this upgrade this motion became "uncloseable". When inspecting the chainstate for the council, specifically the proposalOf
of the open motion we get:
council.proposalOf: Option<Call>
<unknown>
This motion became unclosable via the polkadot js UI. All subsequent proposals do as well.
This motion is not expired and has enough votes to be closed but yet when we try to close it manually we get: proposalMissing
. The error is returned from the frame code here: https://github.com/paritytech/substrate/blob/ba6649b262b5d0f937ddd9fb30be1ffd9548278b/frame/collective/src/lib.rs#L889
I think proposals should be closable when they are either expired or not AND they have enough votes even though the attached call is missing. In this case, the proposal should be closed and not executed and removed from storage.
<unknown>
usually means that some storage type has been changed without a proper migration.