Running Dogecoin and get crash for abnormally
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 568
- Forks
- 447
- PR merge metrics
- No merged PRs in 30d
Description
Running with Dogecoin daemon
Suddenly get crash with abnormally without knowing any reason.
Environment:
COIN=Dogecoin
CACHE_MB=200
DB_ENGINE=rocksdb
Its quite similar with this issue #99 ,but i'm running 1.16.0 which already cover with the changes https://github.com/spesmilo/electrumx/issues/99#issuecomment-780899457
Error Log:
INFO:DB:flush #315 took 1.7s. Height 3,773,498 txs: 76,274,088 (+274,992)
INFO:DB:tx/sec since genesis: 6,681, since last flush: 8,165
INFO:DB:sync time: 03h 10m 15s ETA: 06m 35s
INFO:Prefetcher:cancelled; prefetcher stopping
INFO:SessionManager:closing down server for rpc://0.0.0.0:8000
INFO:Controller:shutting down
INFO:Controller:shutdown complete
ERROR:electrumx:ElectrumX server terminated abnormally
Traceback (most recent call last):
File "/electrumx/electrumx_server", line 35, in main
asyncio.run(controller.run())
File "/usr/local/lib/python3.7/asyncio/runners.py", line 43, in run
return loop.run_until_complete(main)
File "/usr/local/lib/python3.7/asyncio/base_events.py", line 587, in run_until_complete
return future.result()
File "/electrumx/electrumx/lib/server_base.py", line 129, in run
await server_task
File "/electrumx/electrumx/lib/server_base.py", line 102, in serve
await self.serve(shutdown_event)
File "/electrumx/electrumx/server/controller.py", line 134, in serve
await group.spawn(wait_for_catchup())
File "/usr/local/lib/python3.7/site-packages/aiorpcX-0.18.5-py3.7.egg/aiorpcx/curio.py", line 242, in __aexit__
await self.join()
File "/usr/local/lib/python3.7/site-packages/aiorpcX-0.18.5-py3.7.egg/aiorpcx/curio.py", line 211, in join
raise task.exception()
File "/electrumx/electrumx/server/block_processor.py", line 702, in fetch_and_process_blocks
await group.spawn(self._process_prefetched_blocks())
File "/usr/local/lib/python3.7/site-packages/aiorpcX-0.18.5-py3.7.egg/aiorpcx/curio.py", line 242, in __aexit__
await self.join()
File "/usr/local/lib/python3.7/site-packages/aiorpcX-0.18.5-py3.7.egg/aiorpcx/curio.py", line 211, in join
raise task.exception()
File "/electrumx/electrumx/server/block_processor.py", line 663, in _process_prefetched_blocks
await self.check_and_advance_blocks(blocks)
File "/electrumx/electrumx/server/block_processor.py", line 222, in check_and_advance_blocks
for n, raw_block in enumerate(raw_blocks)]
File "/electrumx/electrumx/server/block_processor.py", line 222, in <listcomp>
for n, raw_block in enumerate(raw_blocks)]
File "/electrumx/electrumx/lib/coins.py", line 255, in block
header = cls.block_header(raw_block, height)
File "/electrumx/electrumx/lib/coins.py", line 299, in block_header
return deserializer.read_header(cls.BASIC_HEADER_SIZE)
File "/electrumx/electrumx/lib/tx.py", line 343, in read_header
self.read_auxpow()
File "/electrumx/electrumx/lib/tx.py", line 331, in read_auxpow
return self._read_nbytes(end - start)
File "/electrumx/electrumx/lib/tx.py", line 184, in _read_nbytes
assert self.binary_length >= end
AssertionError
Someone please assist me, thank you guys.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at electrumx/server/block_processor.py in check_and_advance_blocks and _process_prefetched_blocks, then follow the Dogecoin header path through electrumx/lib/coins.py and electrumx/lib/tx.py read_auxpow. Reproduce with the listed Dogecoin, RocksDB, and cache settings, and determine what causes the AssertionError so synchronization no longer terminates abnormally.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100