bnb-chain / bsc

A BNB Smart Chain client based on the go-ethereum fork
GNU Lesser General Public License v3.0
2.71k stars 1.56k forks source link

"bsc db compact" got stuck on a node with flag: "--pruneancient" #2570

Closed zzzckck closed 2 months ago

zzzckck commented 3 months ago

System information

Geth version: v1.4.11 OS & Version: Windows/Linux/OSX Commit hash : (if develop)

Expected behaviour

db compact can succeed

Actual behaviour

db compact failed

Steps to reproduce the behaviour

1.run a node with flag: --pruneancient 2.run db compact: bsc --config config.toml db compact --datadir <datadir> Then will be stuck and keep printing the following logs:

t=2024-07-08T00:21:08+0000 lvl=info msg="Set global gas cap" cap=50000000
t=2024-07-08T00:21:08+0000 lvl=info msg="Initializing the KZG library" backend=gokzg
t=2024-07-08T00:21:08+0000 lvl=info msg="Using leveldb as the backing database"
t=2024-07-08T00:21:08+0000 lvl=info msg="Allocated cache and file handles" database=/server/geth/chaindata cache="408.00 MiB" handles=4096
t=2024-07-08T00:21:23+0000 lvl=info msg="Using LevelDB as the backing database"
t=2024-07-08T00:21:23+0000 lvl=warn msg="NOTICE: You're opening a pruned disk db!"
t=2024-07-08T00:21:23+0000 lvl=info msg="Opened ancient database" database=/server/geth/chaindata/ancient/chain readonly=false frozen=40188881
t=2024-07-08T00:21:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"
t=2024-07-08T00:21:23+0000 lvl=info msg="Stats before compaction"
t=2024-07-08T00:21:23+0000 lvl=info msg="Triggering compaction"
t=2024-07-08T00:22:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"
t=2024-07-08T00:23:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"
t=2024-07-08T00:24:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"
t=2024-07-08T00:25:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"
t=2024-07-08T00:26:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"
t=2024-07-08T00:27:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"
t=2024-07-08T00:28:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"
t=2024-07-08T00:29:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"
t=2024-07-08T00:30:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"
t=2024-07-08T00:31:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"
t=2024-07-08T00:32:23+0000 lvl=warn msg="Freezer need related env, may wait for a while" err="missing freezer env error"

Backtrace

NA

zzzckck commented 3 months ago

bsc snapshot prune-state --datadir /server/ also failed, could be same issue:

INFO [07-08|14:53:12.646] Maximum peer count                       ETH=50 total=50
INFO [07-08|14:53:12.647] Smartcard socket not found, disabling    err="stat /run/pcscd/pcscd.comm: no such file or directory"
INFO [07-08|14:53:12.649] Set global gas cap                       cap=50,000,000
INFO [07-08|14:53:12.649] Initializing the KZG library             backend=gokzg
INFO [07-08|14:53:13.254] Using leveldb as the backing database
INFO [07-08|14:53:13.254] Allocated cache and file handles         database=/server/geth/chaindata cache=408.00MiB handles=4096
INFO [07-08|14:53:18.212] Using LevelDB as the backing database
INFO [07-08|14:53:18.212] Opened ancient database                  database=/server/geth/chaindata/ancient/chain readonly=false frozen=40,188,881
WARN [07-08|14:53:18.212] Freezer need related env, may wait for a while err="missing freezer env error"
INFO [07-08|14:53:18.223] Snapshot loaded                          diskRoot=f6b14b..6daf4f root=0ab7c5..0dd74e
INFO [07-08|14:53:18.894] Initialized state bloom                  size=2.00GiB
ERROR[07-08|14:53:21.183] Failed to prune state                    err="no snapshot paired state"
no snapshot paired state