cculianu / Fulcrum

A fast & nimble SPV Server for BCH, BTC, and LTC
Other
325 stars 73 forks source link

Fulcrum-1.9.7-x86_64-linux - crashing on Block 832871 on faulty transaction #235

Closed m4v1-21 closed 4 months ago

m4v1-21 commented 4 months ago

Running Bitcoin Core bitcoin-26.0-x86_64-linux-gnu and Fulcrum-1.9.7-x86_64-linux on a Ubuntu Container in Proxmox, While setting up Fulcrum it crashed:

Mar 03 14:19:37 UbuntuBitcoinD Fulcrum[4485]: [2024-03-03 14:19:37.451] BitcoinDMgr: starting 3 bitcoin RPC clients ... Mar 03 14:19:37 UbuntuBitcoinD Fulcrum[4485]: [2024-03-03 14:19:37.451] BitcoinDMgr: started ok Mar 03 14:19:37 UbuntuBitcoinD Fulcrum[4485]: [2024-03-03 14:19:37.560] Block height 832984, downloading new blocks ... Mar 03 14:19:37 UbuntuBitcoinD Fulcrum[4485]: [2024-03-03 14:19:37.561] fast-sync: Enabled; UTXO cache size set to 4000000000 bytes (available physical RAM: 25844260864 bytes) Mar 03 14:19:51 UbuntuBitcoinD Fulcrum[4485]: [2024-03-03 14:19:51.412] <Task.DL 832622 -> 832984> FATAL: Caught exception processing block 832871: Block 832871 tx f702453dd03b0f055e5437d76128141803984fb10acb85fc3b2184fae2f3fa78 has outN larger than 16777215 (0). This should never happen. Please contact the developers and report this issue. Mar 03 14:19:51 UbuntuBitcoinD Fulcrum[4485]: [2024-03-03 14:19:51.412] Stopping Controller ... Mar 03 14:19:51 UbuntuBitcoinD Fulcrum[4485]: [2024-03-03 14:19:51.644] Stopping BitcoinDMgr ... Mar 03 14:19:51 UbuntuBitcoinD Fulcrum[4485]: [2024-03-03 14:19:51.658] Closing storage ... Mar 03 14:19:51 UbuntuBitcoinD Fulcrum[4485]: [2024-03-03 14:19:51.662] Storage UTXO Cache: Flushing to DB ... Mar 03 14:19:53 UbuntuBitcoinD Fulcrum[4485]: [2024-03-03 14:19:53.256] Shutdown complete

bitcoin.conf: server=1 txindex=1 daemon=1 rpcport=8332 rpcbind=0.0.0.0 rpcallowip=127.0.0.1 rpcallowip=10.0.0.0/8 rpcallowip=172.0.0.0/8 rpcallowip=192.0.0.0/8 zmqpubrawblock=tcp://0.0.0.0:28332 zmqpubrawtx=tcp://0.0.0.0:28333 zmqpubhashblock=tcp://0.0.0.0:28334 whitelist=127.0.0.1 proxy=127.0.0.1:9050 listen=1 bind=127.0.0.1 onlynet=onion blocksonly=1 coinstatsindex=1

fulcrum.conf: peering = false fast-sync = 4000

The transaction is not included in the block, someone posted the transactiondetails a year ago on stackexchange: https://bitcoin.stackexchange.com/questions/113321/curiosity-minimal-transaction-accepted-as-valid-zero-input-zero-output https://mempool.space/de/tx/f702453dd03b0f055e5437d76128141803984fb10acb85fc3b2184fae2f3fa78

Any Idea how to procede?

cculianu commented 4 months ago

How is that transaction in a block?!? It's .. not there. Yet Fulcrum is saying it saw it in a block?

Anyway in latest master I have fixed this (coincidentally I noticed the issue whereby txns with 0 inputs / 0 outputs may produce this error message). I fixed it in the latest commit on master as part of a larger different change I was making.

I am still perplexed as to how you encountered such a txn on the blockchain though.. since it doesn't actually exist.

If you really are stuck I can do a release now for you.. since latest master fixes this. Or maybe you can build off master (Fulcrum 1.10.0, yay!) and try it?

cculianu commented 4 months ago

This txn is invalid by the way -- every txn must have at least 1 input and 1 output. Are you doing something silly / custom?

cculianu commented 4 months ago

By the way this is fixed in the latest 1.10.0 release, which just came out now. Closing.