spesmilo / electrumx

Alternative implementation of spesmilo/electrum-server
MIT License
441 stars 353 forks source link

I get an error: electrumx.server.block_processor.ChainError: UTXO xxx / 0 not found in "h" table #240

Closed agideo-code closed 10 months ago

agideo-code commented 10 months ago

It had been working fine before. Restarting after an unexpected power outage failed.

On Ubuntu server 22.04 LTS, thanks.

The Message is:

Atomicals envelope and operation found: dmt
Atomicals envelope payload: a16461726773a46474696d651a65698926656e6f6e63651a0011c2a468626974776f726b6367313834303030306b6d696e745f7469636b657268656c656374726f6e
INFO:BlockProcessor:advance_txs: atomicals_operations_found_at_inputs operation_found=dmt, operation_input_index=0, size_payload=99, tx_hash=3d20a1f64e6caed8b4ff7d8c3703ba72d0c19a8922f8d3b6429e418dc9c8d190, commit_txid=18400002920163dfd6eec9fce79b813ca980129ec1c91a69f1ea95846add659a, commit_index=0, reveal_location_txid=3d20a1f64e6caed8b4ff7d8c3703ba72d0c19a8922f8d3b6429e418dc9c8d190, reveal_location_index=0
INFO:BlockProcessor:get_atomicals_id_mint_info atomical_id=00000000536737aadfaffa17233bca342be2571e14916f6a29003ff4766d515283e68e90
INFO:BlockProcessor:get_atomicals_id_mint_info general_data_cache atomical_id=b'\x90\x8e\xe6\x83RQmv\xf4?\x00)jo\x91\x14\x1eW\xe2+4\xca;#\x17\xfa\xaf\xdf\xaa7gS\x00\x00\x00\x00'
INFO:BlockProcessor:atomical_id=b'\x90\x8e\xe6\x83RQmv\xf4?\x00)jo\x91\x14\x1eW\xe2+4\xca;#\x17\xfa\xaf\xdf\xaa7gS\x00\x00\x00\x00'
INFO:BlockProcessor:get_atomicals_id_mint_info atomical_id=00000000536737aadfaffa17233bca342be2571e14916f6a29003ff4766d515283e68e90
INFO:BlockProcessor:create_or_delete_decentralized_mint_outputs: found mint request in 3d20a1f64e6caed8b4ff7d8c3703ba72d0c19a8922f8d3b6429e418dc9c8d190 for electron. Checking for any POW in distributed mint record...
INFO:BlockProcessor:create_or_delete_decentralized_mint_outputs: has VALID mint_bitworkc 1840000 for 18400002920163dfd6eec9fce79b813ca980129ec1c91a69f1ea95846add659a for electron. Continuing to mint...
INFO:BlockProcessor:put_atomicals_utxo: atomical_id=536737aadfaffa17233bca342be2571e14916f6a29003ff4766d515283e68e90i0, location_id=3d20a1f64e6caed8b4ff7d8c3703ba72d0c19a8922f8d3b6429e418dc9c8d190i0, value=b83d51e56828a5cc09fd7a5ac0bf366ed6e67e2767e347492fe1596ce5e7c3a401bcb99cc94a4244cba31748d5000000000000878a573700
INFO:BlockProcessor:put_decentralized_mint_data: atomical_id=908ee68352516d76f43f00296a6f91141e57e22b34ca3b2317faafdfaa37675300000000, location_id=90d1c8c98d419e42b6d3f822899ac1d072ba03378c7dffb4d8ae6c4ef6a1203d00000000, value=5ac0bf366ed6e67e2767e347492fe1596ce5e7c3a401bcb99cc94a4244cba31748d5000000000000
INFO:BlockProcessor:advance_txs: create_or_delete_decentralized_mint_output:atomical_id_of_distmint - atomical_id=908ee68352516d76f43f00296a6f91141e57e22b34ca3b2317faafdfaa37675300000000, tx_hash=3d20a1f64e6caed8b4ff7d8c3703ba72d0c19a8922f8d3b6429e418dc9c8d190
INFO:BlockProcessor:advance_txs: create_or_delete_pow_records tx_hash=3d20a1f64e6caed8b4ff7d8c3703ba72d0c19a8922f8d3b6429e418dc9c8d190
INFO:BlockProcessor:advance_txs: has_at_least_one_valid_atomicals_operation tx_hash=3d20a1f64e6caed8b4ff7d8c3703ba72d0c19a8922f8d3b6429e418dc9c8d190
INFO:Prefetcher:cancelled; prefetcher stopping
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.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
  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 137, in serve
    await group.spawn(wait_for_catchup())
  File "/usr/local/lib/python3.9/site-packages/aiorpcx/curio.py", line 297, in __aexit__
    await self.join()
  File "/electrumx/electrumx/lib/util.py", line 370, in join
    task.result()
  File "/electrumx/electrumx/server/block_processor.py", line 3501, in fetch_and_process_blocks
    await group.spawn(self._process_prefetched_blocks())
  File "/usr/local/lib/python3.9/site-packages/aiorpcx/curio.py", line 297, in __aexit__
    await self.join()
  File "/electrumx/electrumx/lib/util.py", line 370, in join
    task.result()
  File "/electrumx/electrumx/server/block_processor.py", line 3461, in _process_prefetched_blocks
    await self.check_and_advance_blocks(blocks)
  File "/electrumx/electrumx/server/block_processor.py", line 310, in check_and_advance_blocks
    await self.run_in_thread_with_lock(self.advance_blocks, blocks)
  File "/electrumx/electrumx/server/block_processor.py", line 293, in run_in_thread_with_lock
    return await asyncio.shield(run_in_thread_locked())
  File "/electrumx/electrumx/server/block_processor.py", line 292, in run_in_thread_locked
    return await run_in_thread(func, *args)
  File "/usr/local/lib/python3.9/site-packages/aiorpcx/curio.py", line 57, in run_in_thread
    return await get_event_loop().run_in_executor(None, func, *args)
  File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/electrumx/electrumx/server/block_processor.py", line 494, in advance_blocks
    undo_info, atomicals_undo_info = self.advance_txs(block.transactions, is_unspendable, block.header, height)
  File "/electrumx/electrumx/server/block_processor.py", line 2726, in advance_txs
    cache_value = spend_utxo(txin.prev_hash, txin.prev_idx)
  File "/electrumx/electrumx/server/block_processor.py", line 3444, in spend_utxo
    raise ChainError(f'UTXO {hash_to_hex_str(tx_hash)} / {tx_idx:,d} not '
electrumx.server.block_processor.ChainError: UTXO 20d655006763e020e88dcaea8cc254fb6d25bca52b6ad31dcdfb08b1ca0ae3c0 / 0 not found in "h" table
SomberNight commented 10 months ago

unexpected power outage

The DB got corrupted. You should resync electrumx from genesis. :/ similar to e.g. https://github.com/spesmilo/electrumx/issues/216

agideo-code commented 10 months ago

OK Thanks