This page documents the past network incidents of the Kulupu blockchain.
Early August, 2020
In the Red Coast Base runtime upgrade, an overlooked PR in Substrate repo resulted in runtime decoding error for WebAssembly function exports. The issue was fixed in Substrate PR#6484. However, it did not make it into the corresponding runtime upgrade.
Fortunately, the decoding error did not affect the core functionality
of the blockchain. Two WebAssembly function exports use multiple
corresponding native variant does not suffer from the same decoding
error and can be used as alternatives to make sure the chain can
continue to function.
The immediate temporary resolution was to ask miners to continue to
v1.2.0. That version has the corresponding native
variant of the runtime and the client will prefer to use them when
The root issue was fixed in the next Seeker Camp runtime upgrade where PR#6484 was included.
Late August, 2020
From the Red Coast Base to Seeker Camp runtime upgrade, the
storage version of scheduler module was changed from
V2. However, the corresponding runtime migration script for
scheduler module wasn’t included.
The following events happened that resulted in version mismatch of two scheduler storage items:
Referendum#4 was passed and was scheduled using the Red Coast Base runtime, with scheduler storage version
V1, at block 151,200.
Referendum#5 was passed and was scheduled using the Red Coast Base runtime, with scheduler storage version
V1, at block 161,280.
Seeker Camp runtime was activated at block 162,720, changing the scheduler module storage to version
V2but did not run the migration script.
The issue is planned to be resolved by removing the automatic scheduling of referendum#4 and referendum#5, and manually enact referendum#4 and referendum#5, using a fast-tracked democracy referendum.
A council motion with the preimage of the following root batch call was submitted:
Clear the storage prefix of
Schedulermodule, to remove the faulty
Enact referendum#4 manually.
Enact referendum#5 manually.
Late October, 2020
In the Gondoa runtime upgrade, an accidential runtime module index change happened.
This index change did not impact anything in the scheduler module, as when the runtime happened, no scheduling was in planned. However, the change impacted all current democracy proposals and the current democracy referendum, rendering them invalid, because the dispatchables are stored on-chain.
Past referenda and any on-chain transactions are not impacted by the module index change.
The council and the technical committee decided to work together to cancel the current democracy referendum and all current democracy proposals and to re-submit them again. Alternatively, the current democracy referendum can also be simply voted down by coin holders. If the current demoracy referendum passes, it will do no harm to the chain but it will also be no-op, as the actual dispatachable is missing.
29 December, 2020
In the Hotel Adriano runtime upgrade, an overlooked type definition was updated in runtime, but was not updated promptly in the polkadot.js UI, resulting in a brief period when the node will not accept transactions constructed by polkadot.js.
This incident only impacts polkadot.js UI, and does not impact node consensus. However, as most exchanges and explorers depend on the polkadot.js library, it results in non-updated services unable to send extrinsics or parse extrinsics coming from the network.
The type definition update PR is submitted to the polkadot.js repository. We’re in the process of notifying exchanges and explorers about this update.