polkascan / polkascan-os

Polkascan Open Source
https://polkascan.io
GNU General Public License v3.0
51 stars 54 forks source link

Harvester Could Not AddBlock: While running docker-compose -p kusama -f docker-compose.kusama-full.yml up --build #31

Open blockrationale opened 4 years ago

blockrationale commented 4 years ago

1278495999999905s: {'result': 'Chain not at genesis'} harvester-worker_1 | [2020-08-24 13:54:15,021: WARNING/ForkPoolWorker-1] ! ERROR adding 0x552ef8946908c1cc1415958d666d26782ac2c4ff5b132b482dc920fc18d6d3e4 harvester-worker_1 | [2020-08-24 13:54:15,022: ERROR/ForkPoolWorker-1] Task app.tasks.accumulate_block_recursive[f094ddb1-e7b8-483b-919f-f61e4e8fc585] raised unexpected: HarvesterCouldNotAddBlock('0x552ef8946908c1cc1415958d666d26782ac2c4ff5b132b482dc920fc18d6d3e4',) harvester-worker_1 | Traceback (most recent call last): harvester-worker_1 | File "/usr/src/app/app/tasks.py", line 110, in accumulate_block_recursive harvester-worker_1 | block = harvester.add_block(block_hash) harvester-worker_1 | File "/usr/src/app/app/processors/converters.py", line 664, in add_block harvester-worker_1 | block_processor.accumulation_hook(self.db_session) harvester-worker_1 | File "/usr/src/app/app/processors/block.py", line 68, in accumulation_hook harvester-worker_1 | if babe_predigest['value']: harvester-worker_1 | KeyError: 'value' harvester-worker_1 | harvester-worker_1 | The above exception was the direct cause of the following exception: harvester-worker_1 | harvester-worker_1 | Traceback (most recent call last): harvester-worker_1 | File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 375, in trace_task harvester-worker_1 | R = retval = fun(*args, kwargs) harvester-worker_1 | File "/usr/src/app/app/tasks.py", line 70, in call harvester-worker_1 | return super().call(*args, *kwargs) harvester-worker_1 | File "/usr/local/lib/python3.6/site-packages/celery/app/trace.py", line 632, in __protected_call__ harvester-worker_1 | return self.run(args, kwargs) harvester-worker_1 | File "/usr/src/app/app/tasks.py", line 137, in accumulate_block_recursive harvester-worker_1 | raise HarvesterCouldNotAddBlock(block_hash) from exc harvester-worker_1 | app.processors.converters.HarvesterCouldNotAddBlock: 0x552ef8946908c1cc1415958d666d26782ac2c4ff5b132b482dc920fc18d6d3e4 substrate-node_1 | 2020-08-24 13:54:17 ⚙️ Syncing 279.6 bps, target=#3745580 (25 peers), best: #358206 (0xae0d…e674), finalized #357889 (0x514a…76d4), ⬇ 123.2kiB/s ⬆ 3.9kiB/s

ToufeeqP commented 3 years ago

I am also getting the above error when running a custom node.

harvester-worker_1 | [2020-12-17 06:31:38,747: ERROR/ForkPoolWorker-3] Task app.tasks.accumulate_block_recursive[db2f8672-90ec-45be-a983-8d0e954bdb92] raised unexpected: HarvesterCouldNotAddBlock('0x63ed2fd7af3d1fe49910e4482dbbbb37ae12f543032db172973c40977c9ca725') harvester-worker_1 | Traceback (most recent call last): harvester-worker_1 | File "/usr/src/app/py-scale-codec/scalecodec/types.py", line 941, in process harvester-worker_1 | enum_type_mapping = self.type_mapping[self.index] harvester-worker_1 | IndexError: list index out of range harvester-worker_1 | harvester-worker_1 | During handling of the above exception, another exception occurred: harvester-worker_1 | harvester-worker_1 | Traceback (most recent call last): harvester-worker_1 | File "/usr/src/app/app/tasks.py", line 116, in accumulate_block_recursive harvester-worker_1 | block = harvester.add_block(block_hash) harvester-worker_1 | File "/usr/src/app/app/processors/converters.py", line 611, in add_block harvester-worker_1 | extrinsic_data = extrinsics_decoder.decode() harvester-worker_1 | File "/usr/src/app/py-scale-codec/scalecodec/base.py", line 301, in decode harvester-worker_1 | self.value = self.process() harvester-worker_1 | File "/usr/src/app/py-scale-codec/scalecodec/block.py", line 134, in process harvester-worker_1 | multi_signature = self.process_type("MultiSignature") harvester-worker_1 | File "/usr/src/app/py-scale-codec/scalecodec/base.py", line 359, in process_type harvester-worker_1 | obj.decode(check_remaining=False) harvester-worker_1 | File "/usr/src/app/py-scale-codec/scalecodec/base.py", line 301, in decode harvester-worker_1 | self.value = self.process() harvester-worker_1 | File "/usr/src/app/py-scale-codec/scalecodec/types.py", line 947, in process harvester-worker_1 | raise ValueError("Index '{}' not present in Enum type mapping".format(self.index)) harvester-worker_1 | ValueError: Index '212' not present in Enum type mapping harvester-worker_1 | harvester-worker_1 | The above exception was the direct cause of the following exception: harvester-worker_1 | harvester-worker_1 | Traceback (most recent call last): harvester-worker_1 | File "/usr/local/lib/python3.8/site-packages/celery/app/trace.py", line 385, in trace_task harvester-worker_1 | R = retval = fun(*args, kwargs) harvester-worker_1 | File "/usr/src/app/app/tasks.py", line 70, in call harvester-worker_1 | return super().call(*args, *kwargs) harvester-worker_1 | File "/usr/local/lib/python3.8/site-packages/celery/app/trace.py", line 648, in __protected_call__ harvester-worker_1 | return self.run(args, kwargs) harvester-worker_1 | File "/usr/src/app/app/tasks.py", line 143, in accumulate_block_recursive harvester-worker_1 | raise HarvesterCouldNotAddBlock(block_hash) from exc harvester-worker_1 | app.processors.converters.HarvesterCouldNotAddBlock: 0x63ed2fd7af3d1fe49910e4482dbbbb37ae12f543032db172973c40977c9ca725

arjanz commented 3 years ago

This is probably because the depending py-scalecodec and py-substrate-interface were out of date. I bumped these to latest version and I was able to process blockhash 0x552ef8946908c1cc1415958d666d26782ac2c4ff5b132b482dc920fc18d6d3e4 on Kusama successfully now.

You can update the submodules with git submodule update --init --recursive. Might there be a decoding problem in the future and the update is lagging again, you can try to update these submodules to master to see if that resolves the issue..