stacks-network / stacks-blockchain-docker

Stacks-blockchain with API using docker compose
GNU General Public License v3.0
27 stars 37 forks source link

[nakamoto]run seed-chainstate.sh panic #124

Open JavHou opened 1 month ago

JavHou commented 1 month ago

Describe the bug

When I use ./scripts/seed-chainstate.sh to init chainstate, stacks-blockchain panic and quit

Environment

Additional context

./manage.sh -n testnet -a logs


stacks-blockchain      | INFO [1720681745.516150] [stackslib/src/chainstate/coordinator/mod.rs:3567] [main] Migrating sortition DB to the latest schema version
stacks-blockchain      | INFO [1720681745.520181] [stackslib/src/chainstate/coordinator/mod.rs:3576] [main] Migrating chainstate DB to the latest schema version
stacks-blockchain      | INFO [1720681745.522594] [testnet/stacks-node/src/run_loop/neon.rs:434] [main] Start syncing Bitcoin headers, feel free to grab a cup of coffee, this can take a while
stacks-blockchain      | ERRO [1720681745.525663] [testnet/stacks-node/src/main.rs:270] [main] Process abort due to thread panic: panicked at stackslib/src/chainstate/burn/db/sortdb.rs:2913:17:
stacks-blockchain      | FATAL: tried to retcon epoch StacksEpoch { epoch_id: Epoch10, start_height: 0, end_height: 0, block_limit: ExecutionCost { write_length: 0, write_count: 0, read_length: 0, read_count: 0, runtime: 0 }, network_epoch: 0 } into epoch StacksEpoch { epoch_id: Epoch10, start_height: 0, end_height: 230, block_limit: ExecutionCost { write_length: 0, write_count: 0, read_length: 0, read_count: 0, runtime: 0 }, network_epoch: 0 }
stacks-blockchain      | ERRO [1720681745.699760] [testnet/stacks-node/src/main.rs:272] [main] Panic backtrace:    0: stacks_node::main::{{closure}}
stacks-blockchain      |              at build/testnet/stacks-node/src/main.rs:271:18
stacks-blockchain      |    1: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/alloc/src/boxed.rs:2036:9
stacks-blockchain      |       std::panicking::rust_panic_with_hook
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:799:13
stacks-blockchain      |    2: std::panicking::begin_panic_handler::{{closure}}
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:664:13
stacks-blockchain      |    3: std::sys_common::backtrace::__rust_end_short_backtrace
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:171:18
stacks-blockchain      |    4: rust_begin_unwind
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:652:5
stacks-blockchain      |    5: core::panicking::panic_fmt
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/panicking.rs:72:14
stacks-blockchain      |    6: blockstack_lib::chainstate::burn::db::sortdb::SortitionDB::validate_and_replace_epochs
stacks-blockchain      |    7: blockstack_lib::chainstate::burn::db::sortdb::SortitionDB::check_schema_version_and_update
stacks-blockchain      |              at build/stackslib/src/chainstate/burn/db/sortdb.rs:3429:25
stacks-blockchain      |    8: blockstack_lib::chainstate::burn::db::sortdb::SortitionDB::connect
stacks-blockchain      |              at build/stackslib/src/chainstate/burn/db/sortdb.rs:2770:9
stacks-blockchain      |    9: blockstack_lib::burnchains::burnchain::<impl blockstack_lib::burnchains::Burnchain>::connect_db
stacks-blockchain      |              at build/stackslib/src/burnchains/burnchain.rs:730:27
stacks-blockchain      |   10: blockstack_lib::burnchains::burnchain::<impl blockstack_lib::burnchains::Burnchain>::sync_with_indexer
stacks-blockchain      |              at build/stackslib/src/burnchains/burnchain.rs:1457:42
stacks-blockchain      |       stacks_node::burnchains::bitcoin_regtest_controller::BitcoinRegtestController::receive_blocks
stacks-blockchain      |              at build/testnet/stacks-node/src/burnchains/bitcoin_regtest_controller.rs:508:19
stacks-blockchain      |   11: <stacks_node::burnchains::bitcoin_regtest_controller::BitcoinRegtestController as stacks_node::burnchains::BurnchainController>::start
stacks-blockchain      |              at build/testnet/stacks-node/src/burnchains/bitcoin_regtest_controller.rs:2094:9
stacks-blockchain      |       stacks_node::run_loop::neon::RunLoop::instantiate_burnchain_state
stacks-blockchain      |              at build/testnet/stacks-node/src/run_loop/neon.rs:455:9
stacks-blockchain      |   12: stacks_node::run_loop::neon::RunLoop::start
stacks-blockchain      |              at build/testnet/stacks-node/src/run_loop/neon.rs:1015:32
stacks-blockchain      |   13: stacks_node::run_loop::boot_nakamoto::BootRunLoop::start_from_neon
stacks-blockchain      |              at build/testnet/stacks-node/src/run_loop/boot_nakamoto.rs:123:28
stacks-blockchain      |       stacks_node::run_loop::boot_nakamoto::BootRunLoop::start
stacks-blockchain      |              at build/testnet/stacks-node/src/run_loop/boot_nakamoto.rs:102:45
stacks-blockchain      |       stacks_node::main
stacks-blockchain      |              at build/testnet/stacks-node/src/main.rs:448:9
stacks-blockchain      |   14: core::ops::function::FnOnce::call_once
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/ops/function.rs:250:5
stacks-blockchain      |       std::sys_common::backtrace::__rust_begin_short_backtrace
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/sys_common/backtrace.rs:155:18
stacks-blockchain      |   15: std::rt::lang_start::{{closure}}
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/rt.rs:159:18
stacks-blockchain      |   16: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/core/src/ops/function.rs:284:13
stacks-blockchain      |       std::panicking::try::do_call
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:559:40
stacks-blockchain      |       std::panicking::try
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:523:19
stacks-blockchain      |       std::panic::catch_unwind
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panic.rs:149:14
stacks-blockchain      |       std::rt::lang_start_internal::{{closure}}
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/rt.rs:141:48
stacks-blockchain      |       std::panicking::try::do_call
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:559:40
stacks-blockchain      |       std::panicking::try
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panicking.rs:523:19
stacks-blockchain      |       std::panic::catch_unwind
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/panic.rs:149:14
stacks-blockchain      |       std::rt::lang_start_internal
stacks-blockchain      |              at rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/rt.rs:141:20
stacks-blockchain      |   17: main
stacks-blockchain      |   18: <unknown>
stacks-blockchain      |   19: __libc_start_main
stacks-blockchain      |   20: _start
stacks-blockchain      |
stacks-blockchain      | Dumping core for pid 1

Config.toml


[node]
# Set this based on where you downloaded
# the chain state archive as described in the How to Run a Signer guide:
working_dir = "/root/stacks-blockchain/data"
rpc_bind = "0.0.0.0:20443"
p2p_bind = "0.0.0.0:20444"
# This is the node that your node will use to begin syncing chain state
bootstrap_node = "0341b2ff35b545d8e5c5d2fc8821484610ef85ce8e276214caf23d53be16fdcd65@seed.nakamoto.testnet.hiro.so:50444"
wait_time_for_microblocks = 0
mine_microblocks = false

[burnchain]
chain = "bitcoin"
mode = "krypton"
magic_bytes = "N3"
poll_time_secs = 30
pox_prepare_length = 100
pox_reward_length = 900
peer_host = "bitcoin.nakamoto.regtest.hiro.so"
username = "hirosystems"
password = "hirosystems"
burnchain_op_tx_fee = 5500
commit_anchor_block_within = 300000
rpc_port = 18543
peer_port = 18544
#satoshis_per_byte = 20
first_burn_block_height = 230
first_burn_block_timestamp = 1714513150
first_burn_block_hash = "654e1e9f66701d4f8a138b46d4cf0cc26665688175bcbb1700729efbf759e57d"

# Set your auth token, which the signer uses
# This should match the auth_password field of your signer config
[connection_options]
block_proposal_token = "20240705"

# Set your signer as an event observer
[[events_observer]]
# This endpoint is where your signer will communicate with your Stacks node
endpoint = "stacks-signer:30000"
retry_count = 255
events_keys = ["stackerdb", "block_proposal", "burn_blocks"]

[[burnchain.epochs]]
epoch_name = "1.0"
start_height = 0

[[burnchain.epochs]]
epoch_name = "2.0"
# start_height = 2000000 # real epoch start height
start_height = 230

[[burnchain.epochs]]
epoch_name = "2.05"
# start_height = 2104380 # real epoch start height
start_height = 240

[[burnchain.epochs]]
epoch_name = "2.1"
# start_height = 2422101 # real epoch start height
start_height = 241

[[burnchain.epochs]]
epoch_name = "2.2"
# start_height = 2431300 # real epoch start height
start_height = 242

[[burnchain.epochs]]
epoch_name = "2.3"
# start_height = 2431633 # real epoch start height
start_height = 243

[[burnchain.epochs]]
epoch_name = "2.4"
# start_height = 2432545 # real epoch start height
start_height = 244

[[burnchain.epochs]]
epoch_name = "2.5"
start_height = 245

[[burnchain.epochs]]
epoch_name = "3.0"
start_height = 41111

[[ustx_balance]]
address = "ST0DZFQ1XGHC5P1BZ6B7HSWQKQJHM74JBGCSDTNA"
amount = 10000000000000000

[[ustx_balance]]
address = "ST2G2RJR4B5M95D0ZZAGZJP9J4WH090WHP0C5YW0H"
amount = 10000000000000000

[[ustx_balance]]
address = "ST3JCQJE9NZRCAPPE44Q12KR7FH8AY9HTEMWP2G5F"
amount = 10000000000000000

[[ustx_balance]]
address = "STA0EP5GD8FC661T8Q0Z382QW7Z6JXDM3E476MB7"
amount = 17500000000000

[[ustx_balance]]
address = "ST3MNK12DGQF7JN4Q0STK6926VWE5MN21KJ4EGV0E"
amount = 10000000000000000

[[ustx_balance]]
address = "ST484MS3VACPAZ90WHC21XQ7T6XANCV341HJYE0W"
amount = 10000000000000000

[[ustx_balance]]
address = "ST2D1M978SCE52GAV07VXSRC9DQBP69X5WHX0DHN5"
amount = 10000000000000000

[[ustx_balance]]
address = "ST2A68NMMXVZDWDTDZ5GJGA69M86V8KK0JS9X1QQP"
amount = 10000000000000000

[[ustx_balance]]
address = "ST2ME1CR5XR0P332SBTSD90P9HG48F1SK8MZVJ3XW"
amount = 10000000000000000

[[ustx_balance]]
address = "ST19MXV72S9HHRSZCDY10K9DMB11JYPTXVVNYAWPH"
amount = 10000000000000000

[[ustx_balance]]
address = "ST20Q2N56E1NBWE37R4VGSF89X4HHTB3GSMD8GKYW"
amount = 10000000000000000

[[ustx_balance]]
address = "ST2Q6124HQFKVKPJSS5J6156BJR74FD6EC1297HJ1"
amount = 10000000000000000

[[ustx_balance]]
address = "ST1114TBQYGNPGFAVXKWBKZAHP0X7ZGX9K6XYYE4F"
amount = 10000000000000000

[[ustx_balance]]
address = "ST1NCEQ0T4Z32QTYT88BNXJKC9HR3VWYHJ0TB95TP"
amount = 10000000000000000

[[ustx_balance]]
address = "STWF12K119FTA70NDG29MNYWR0CPMF44ZKC2SG2T"
amount = 24378281250000

[[ustx_balance]]
address = "ST36G5CRHH1GJVZGFWPTW4H9GSA8VAVWM0ST7AV82"
amount = 24378281250000

[[ustx_balance]]
address = "ST2KWFMX0SVXFMZ0W7TXZ3MV0C6V276BNAT49XAQW"
amount = 24378281250000

[[ustx_balance]]
address = "ST1ZMVDYKGWF5TFGH46GEFBR273JJ3RRTHEDETKNH"
amount = 24378281250000

[[ustx_balance]]
address = "ST3D0TEK871ZMBFFF0998YY609A1QGM6ZTYCQJJFQ"
amount = 24378281250000

[[ustx_balance]]
address = "ST372ND8K8M3GKESD0KG8ZWJ6EV0GGXWXC5246MJN"
amount = 24378281250000

[[ustx_balance]]
address = "ST33PA4H3TW3DQFHG2RXPGGW1FFG5YQJ704B3DA8M"
amount = 24378281250000

[[ustx_balance]]
address = "STJ737JNPK525J86BGSPAW362SRRAYC4SP6F95HC"
amount = 24378281250000

[[ustx_balance]]
address = "ST21AJANGK9NA2ZED5D5J1VZPTVW8DY05B0ECMFN"
amount = 24378281250000

[[ustx_balance]]
address = "ST30Z74A4S2T8563D844ENSBHBFSVQEVBPV9S0A7E"
amount = 24378281250000

[[ustx_balance]]
address = "ST2FGTGYAGJVXJZQX17NBJNSQAM4J2V5JFDHEEAZQ"
amount = 24378281250000

[[ustx_balance]]
address = "ST16PC3G9BMQH0G37JGAGDGYZPDB5NGNARBDFPWYB"
amount = 24378281250000

[[ustx_balance]]
address = "ST1XJHGBSQPV9B14HFYG98ZBSQGKG8GN0AMB3V2VT"
amount = 24378281250000

[[ustx_balance]]
address = "ST2XDC0R30841X2RRECWV2F9KTANKQEERPS4V3H9D"
amount = 24378281250000

[[ustx_balance]]
address = "ST2HC6JENRNNE6YVATT7WZVZWVR5J26BGYX67W8G7"
amount = 24378281250000

[[ustx_balance]]
address = "STPW2CGZC98EZ95XYC9DE93SFBS5KA2PYYK89VHM"
amount = 24378281250000

[[ustx_balance]]
address = "STNX3E9MYTA2ZDQK53YNMMJ3E7783DC019JZNYZZ"
amount = 24378281250000

[[ustx_balance]]
address = "ST0D135PF2R0S4B6S4G49QZC69KF19MSZ4Z5RDF5"
amount = 24378281250000
wileyj commented 1 month ago

This script doesn't support nakamoto testnet currently, but i can take a crack at it in the next week most likely