Electrumx su odroid HC1 - database corrotto da ricostruire

March 1, 2020 - Reading time: 3 minutes

Dopo molti mesi di onorato servizio, all'ennesimo hard reset causa mancanza di corrente, mi si è corrotto il database di electrumx, precisamente in modalità LevelDB

```

Feb 29 13:47:03 node1 electrumx_server[408]: INFO:DB:coin: BitcoinSegwit

Feb 29 13:47:03 node1 electrumx_server[408]: INFO:DB:network: mainnet

Feb 29 13:47:03 node1 electrumx_server[408]: INFO:DB:height: 619,520

Feb 29 13:47:03 node1 electrumx_server[408]: INFO:DB:tip: 00000000000000000003b7b9a22884a49d233d934aea2c62481ee2afac9d768e

Feb 29 13:47:03 node1 electrumx_server[408]: INFO:DB:tx count: 507,918,136

Feb 29 13:47:03 node1 electrumx_server[408]: INFO:DB:flushing DB cache at 1,200 MB

Feb 29 13:47:03 node1 electrumx_server[408]: INFO:History:history DB version: 0

Feb 29 13:47:03 node1 electrumx_server[408]: INFO:History:flush count: 28,831

Feb 29 13:47:05 node1 electrumx_server[408]: ERROR:root:task crashed: <Task finished coro=<Controller.serve() done, defined at /usr/local/lib/python3.6/dist-packages/electrumx/server/controller.py:81> exception=

Feb 29 13:47:05 node1 electrumx_server[408]: Traceback (most recent call last):

Feb 29 13:47:05 node1 electrumx_server[408]:   File "/usr/local/lib/python3.6/dist-packages/aiorpcx/util.py", line 309, in check_task

Feb 29 13:47:05 node1 electrumx_server[408]:     task.result()

Feb 29 13:47:05 node1 electrumx_server[408]:   File "/usr/local/lib/python3.6/dist-packages/electrumx/server/controller.py", line 134, in serve

Feb 29 13:47:05 node1 electrumx_server[408]:     await group.spawn(wait_for_catchup())

Feb 29 13:47:05 node1 electrumx_server[408]:   File "/usr/local/lib/python3.6/dist-packages/aiorpcx/curio.py", line 242, in __aexit__

Feb 29 13:47:05 node1 electrumx_server[408]:     await self.join()

Feb 29 13:47:05 node1 electrumx_server[408]:   File "/usr/local/lib/python3.6/dist-packages/aiorpcx/curio.py", line 211, in join

Feb 29 13:47:05 node1 electrumx_server[408]:     raise task.exception()

Feb 29 13:47:05 node1 electrumx_server[408]:   File "/usr/local/lib/python3.6/dist-packages/electrumx/server/block_processor.py", line 661, in fetch_and_process_blocks

Feb 29 13:47:05 node1 electrumx_server[408]:     await self._first_open_dbs()

Feb 29 13:47:05 node1 electrumx_server[408]:   File "/usr/local/lib/python3.6/dist-packages/electrumx/server/block_processor.py", line 641, in _first_open_dbs

Feb 29 13:47:05 node1 electrumx_server[408]:     await self.db.open_for_sync()

Feb 29 13:47:05 node1 electrumx_server[408]:   File "/usr/local/lib/python3.6/dist-packages/electrumx/server/db.py", line 156, in open_for_sync

Feb 29 13:47:05 node1 electrumx_server[408]:     await self._open_dbs(True, False)

Feb 29 13:47:05 node1 electrumx_server[408]:   File "/usr/local/lib/python3.6/dist-packages/electrumx/server/db.py", line 144, in _open_dbs

Feb 29 13:47:05 node1 electrumx_server[408]:     await self._read_tx_counts()

Feb 29 13:47:05 node1 electrumx_server[408]:   File "/usr/local/lib/python3.6/dist-packages/electrumx/server/db.py", line 115, in _read_tx_counts

Feb 29 13:47:05 node1 electrumx_server[408]:     assert self.db_tx_count == self.tx_counts[-1]

Feb 29 13:47:05 node1 electrumx_server[408]: AssertionError

```

Il DB verrà ricostruito su una CPU i7 7700HQ, spero in mezza giornata, seguiranno aggiornamenti

About

Questo blog è un sito personale, con materiale scritto da me e i miei contatti di seguito:

mail: a@irxer.com