Skip to content

Conversation

@qianhh
Copy link
Collaborator

@qianhh qianhh commented Jun 27, 2025

This PR merges v1.14.0...v1.14.13 of Geth into bane-main and aimed to close #233.

Progress

  • v1.14.0
  • v1.14.1...v1.14.11
  • v1.14.12...v1.14.13
  • The node functions normally and consensus runs fine (1/4/7 privnet).
  • Mainnet/T4 sync is OK.

The list of important PRs that were merged. @AnnaShaleva, @txhsl, please take a look at these PRs before the review.

Merged but Reverted

Ref bnb-chain/bsc#2761.

@qianhh
Copy link
Collaborator Author

qianhh commented Jun 27, 2025

During the initialization process, there were several log errors, but it seemed that they didn't cause any impact. However, I have no idea how to solve this problem.

INFO [06-27|14:43:31.990] Maximum peer count                       ETH=50 total=50
INFO [06-27|14:43:31.993] Set global gas cap                       cap=50,000,000
INFO [06-27|14:43:31.993] Initializing the KZG library             backend=gokzg
INFO [06-27|14:43:32.006] Defaulting to pebble as the backing database
INFO [06-27|14:43:32.006] Allocated cache and file handles         database=/Users/eric/code/neo/go-ethereum/privnet/single/node1/geth/chaindata cache=16.00MiB handles=16
INFO [06-27|14:43:32.076] Opened ancient database                  database=/Users/eric/code/neo/go-ethereum/privnet/single/node1/geth/chaindata/ancient/chain readonly=false
INFO [06-27|14:43:32.076] State schema set to default              scheme=path
ERROR[06-27|14:43:32.076] Zero trie root hash!
ERROR[06-27|14:43:32.076] Head block is not reachable
INFO [06-27|14:43:32.113] Opened ancient database                  database=/Users/eric/code/neo/go-ethereum/privnet/single/node1/geth/chaindata/ancient/state readonly=false
INFO [06-27|14:43:32.113] Writing custom genesis block
INFO [06-27|14:43:32.210] Successfully wrote genesis state         database=chaindata hash=c7e929..722fc6
INFO [06-27|14:43:32.210] Defaulting to pebble as the backing database
INFO [06-27|14:43:32.210] Allocated cache and file handles         database=/Users/eric/code/neo/go-ethereum/privnet/single/node1/geth/lightchaindata cache=16.00MiB handles=16
INFO [06-27|14:43:32.284] Opened ancient database                  database=/Users/eric/code/neo/go-ethereum/privnet/single/node1/geth/lightchaindata/ancient/chain readonly=false
INFO [06-27|14:43:32.284] State schema set to default              scheme=path
ERROR[06-27|14:43:32.284] Zero trie root hash!
ERROR[06-27|14:43:32.284] Head block is not reachable
INFO [06-27|14:43:32.328] Opened ancient database                  database=/Users/eric/code/neo/go-ethereum/privnet/single/node1/geth/lightchaindata/ancient/state readonly=false
INFO [06-27|14:43:32.328] Writing custom genesis block
INFO [06-27|14:43:32.423] Successfully wrote genesis state         database=lightchaindata hash=c7e929..722fc6

@qianhh
Copy link
Collaborator Author

qianhh commented Jun 27, 2025

When the node starts the synchronization process, it seems to be incorrect at first. It takes some time before it can synchronize normally.

...
INFO [06-27|18:20:30.110] 
INFO [06-27|18:20:30.110] Loaded most recent local block           number=0 hash=c7e929..722fc6 td=1 age=56y3mo2w
WARN [06-27|18:20:30.110] Failed to load snapshot                  err="missing or corrupted snapshot"
INFO [06-27|18:20:30.118] Rebuilding state snapshot
INFO [06-27|18:20:30.122] Initialized transaction indexer          range="last 2350000 blocks"
INFO [06-27|18:20:30.122] Resuming state snapshot generation       root=224c46..098861 accounts=0 slots=0 storage=0.00B dangling=0 elapsed=3.956ms
INFO [06-27|18:20:30.130] Generated state snapshot                 accounts=29 slots=65 storage=7.52KiB dangling=0 elapsed=11.788ms
INFO [06-27|18:20:30.246] Enabled snap sync                        head=0 hash=c7e929..722fc6
INFO [06-27|18:20:30.247] Gasprice oracle is ignoring threshold set threshold=2
WARN [06-27|18:20:30.250] Engine API enabled                       protocol=eth
WARN [06-27|18:20:30.250] Engine API started but chain not configured for merge yet
INFO [06-27|18:20:30.250] Starting peer-to-peer node               instance=Geth/v0.4.0-stable-d21cdcb6/darwin-arm64/go1.22.12
INFO [06-27|18:20:30.268] New local node record                    seq=1,751,019,630,267 id=1f76f20b49f93f54 ip=127.0.0.1 udp=30307 tcp=30307
INFO [06-27|18:20:30.268] Started P2P networking                   self=enode://73368ec58ba8126ce79a07f45681648cccfca6799e46e0cf0a8a42412ee2ff85f2bd47e78b7ab278e14b222311a67f1b1f4e834da640d5848f115a1fd0904c90@127.0.0.1:30307
INFO [06-27|18:20:30.270] IPC endpoint opened                      url=/Users/eric/code/neo/go-ethereum/privnet/single/node2/geth.ipc
INFO [06-27|18:20:30.270] Generated JWT secret                     path=/Users/eric/code/neo/go-ethereum/privnet/single/node2/geth/jwtsecret
INFO [06-27|18:20:30.270] HTTP server started                      endpoint=[::]:8563 auth=false prefix= cors= vhosts=*
INFO [06-27|18:20:30.271] WebSocket enabled                        url=ws://[::]:8573
INFO [06-27|18:20:30.272] WebSocket enabled                        url=ws://127.0.0.1:8553
INFO [06-27|18:20:30.272] HTTP server started                      endpoint=127.0.0.1:8553 auth=true  prefix= cors=localhost vhosts=localhost
INFO [06-27|18:20:30.587] Unlocked account                         address=0x1f013Ef87A88B3a77A405EFba90C20Ab0c2CB91A
INFO [06-27|18:20:40.292] Looking for peers                        peercount=0 tried=0 static=0
WARN [06-27|18:20:49.530] Syncing, discarded propagated block      number=1 hash=2b12db..b54e9e
INFO [06-27|18:20:50.313] Looking for peers                        peercount=1 tried=1 static=0
INFO [06-27|18:20:54.534] Block synchronisation started
INFO [06-27|18:20:54.538] Disabled trie database due to state sync
INFO [06-27|18:20:54.570] Syncing: state download in progress      synced=4.22% state=1.38KiB [email protected] [email protected] [email protected] eta=578.781ms
INFO [06-27|18:20:54.586] Syncing: state download in progress      synced=12.50% state=1.70KiB [email protected] [email protected] [email protected] eta=290.975ms
WARN [06-27|18:20:54.587] Unexpected account range packet          peer=f007f944 reqid=4,900,400,807,453,829,912
WARN [06-27|18:20:54.587] Unexpected storage ranges packet         peer=f007f944 reqid=6,480,218,726,516,084,858
WARN [06-27|18:20:54.590] Synchronisation failed, dropping peer    peer=f007f9446cb1f174029aea13edc28672b32347c393a8db659039dff1cb7e991d err="retrieved hash chain is invalid: missing parent"
INFO [06-27|18:21:00.347] Looking for peers                        peercount=1 tried=0 static=0
ERROR[06-27|18:21:04.591] Reject duplicated disable operation
INFO [06-27|18:21:04.597] Syncing: state download in progress      synced=12.50% state=1.70KiB [email protected] [email protected] [email protected] eta=1m10.361s
INFO [06-27|18:21:04.630] Syncing: state download in progress      synced=31.25% state=3.60KiB [email protected] [email protected] [email protected] eta=22.187s
WARN [06-27|18:21:04.631] Unexpected account range packet          peer=f007f944 reqid=415,051,756,768,188,855
WARN [06-27|18:21:04.633] Synchronisation failed, dropping peer    peer=f007f9446cb1f174029aea13edc28672b32347c393a8db659039dff1cb7e991d err="retrieved hash chain is invalid: missing parent"
INFO [06-27|18:21:10.368] Looking for peers                        peercount=0 tried=0 static=0
INFO [06-27|18:21:20.393] Looking for peers                        peercount=0 tried=0 static=0
ERROR[06-27|18:21:23.409] Reject duplicated disable operation
INFO [06-27|18:21:23.415] Syncing: state download in progress      synced=31.25% state=3.60KiB [email protected] [email protected] [email protected] eta=1m3.513s
INFO [06-27|18:21:23.453] Syncing: state download in progress      synced=56.25% state=4.94KiB [email protected] [email protected] [email protected] eta=22.480s
WARN [06-27|18:21:23.454] Unexpected account range packet          peer=f007f944 reqid=7,149,203,417,693,883,910
WARN [06-27|18:21:23.454] Unexpected account range packet          peer=50541680 reqid=4,632,764,430,506,703,093
WARN [06-27|18:21:23.454] Unexpected storage ranges packet         peer=50541680 reqid=5,757,043,352,898,403,378
WARN [06-27|18:21:23.458] Synchronisation failed, dropping peer    peer=f007f9446cb1f174029aea13edc28672b32347c393a8db659039dff1cb7e991d err="retrieved hash chain is invalid: missing parent"
INFO [06-27|18:21:30.417] Looking for peers                        peercount=2 tried=1 static=0
ERROR[06-27|18:21:33.460] Reject duplicated disable operation
INFO [06-27|18:21:33.466] Syncing: state download in progress      synced=56.25% state=4.94KiB [email protected] [email protected] [email protected] eta=30.266s
INFO [06-27|18:21:33.506] Syncing: state download in progress      synced=68.75% state=9.55KiB [email protected] [email protected] [email protected] eta=17.707s
WARN [06-27|18:21:33.506] Unexpected account range packet          peer=f007f944 reqid=7,431,852,074,166,112,909
WARN [06-27|18:21:33.507] Unexpected account range packet          peer=50541680 reqid=1,281,788,364,674,269,140
WARN [06-27|18:21:33.510] Synchronisation failed, dropping peer    peer=f007f9446cb1f174029aea13edc28672b32347c393a8db659039dff1cb7e991d err="retrieved hash chain is invalid: missing parent"
INFO [06-27|18:21:40.442] Looking for peers                        peercount=1 tried=0 static=0
ERROR[06-27|18:21:43.511] Reject duplicated disable operation
INFO [06-27|18:21:43.520] Syncing: state download in progress      synced=68.75% state=9.55KiB [email protected] [email protected] [email protected] eta=22.258s
INFO [06-27|18:21:43.560] Syncing: state download in progress      synced=81.25% state=15.94KiB [email protected] [email protected] [email protected] eta=11.309s
WARN [06-27|18:21:43.560] Unexpected account range packet          peer=50541680 reqid=8,197,577,145,739,673,823
WARN [06-27|18:21:43.564] Synchronisation failed, dropping peer    peer=5054168040ba5c87a726e9c28bbf183af06cb68d16156a7e40d3afb956fa0365 err="retrieved hash chain is invalid: missing parent"
INFO [06-27|18:21:50.465] Looking for peers                        peercount=1 tried=1 static=0
ERROR[06-27|18:21:53.565] Reject duplicated disable operation
INFO [06-27|18:21:53.575] Syncing: state download in progress      synced=81.25% state=15.94KiB [email protected] [email protected] [email protected] eta=13.620s
INFO [06-27|18:21:53.594] Syncing: state download in progress      synced=100.00% state=16.26KiB [email protected] [email protected] [email protected] eta="-10.228µs"
INFO [06-27|18:21:53.595] Syncing: state healing in progress       [email protected]    [email protected]     [email protected] [email protected] pending=1
WARN [06-27|18:21:53.595] Unexpected trienode heal packet          peer=50541680 reqid=3,071,640,324,936,421,388
WARN [06-27|18:21:53.598] Synchronisation failed, dropping peer    peer=5054168040ba5c87a726e9c28bbf183af06cb68d16156a7e40d3afb956fa0365 err="retrieved hash chain is invalid: missing parent"
INFO [06-27|18:22:00.490] Looking for peers                        peercount=2 tried=1 static=0
ERROR[06-27|18:22:03.599] Reject duplicated disable operation
INFO [06-27|18:22:03.608] Syncing: state healing in progress       [email protected]    [email protected]     [email protected] [email protected] pending=1
INFO [06-27|18:22:03.614] Syncing: state healing in progress       [email protected]    [email protected]     [email protected] [email protected] pending=0
WARN [06-27|18:22:03.628] Synchronisation failed, dropping peer    peer=f007f9446cb1f174029aea13edc28672b32347c393a8db659039dff1cb7e991d err="retrieved hash chain is invalid: missing parent"
INFO [06-27|18:22:10.515] Looking for peers                        peercount=2 tried=0 static=0
ERROR[06-27|18:22:13.629] Reject duplicated disable operation
WARN [06-27|18:22:13.650] Synchronisation failed, dropping peer    peer=5054168040ba5c87a726e9c28bbf183af06cb68d16156a7e40d3afb956fa0365 err="retrieved hash chain is invalid: missing parent"
INFO [06-27|18:22:20.538] Looking for peers                        peercount=2 tried=1 static=0
ERROR[06-27|18:22:23.651] Reject duplicated disable operation
WARN [06-27|18:22:23.675] Synchronisation failed, dropping peer    peer=5054168040ba5c87a726e9c28bbf183af06cb68d16156a7e40d3afb956fa0365 err="retrieved hash chain is invalid: missing parent"
...
INFO [06-27|18:26:21.130] Looking for peers                        peercount=2 tried=0 static=0
ERROR[06-27|18:26:24.805] Reject duplicated disable operation
INFO [06-27|18:26:24.958] Opened ancient database                  database=/Users/eric/code/neo/go-ethereum/privnet/single/node2/geth/chaindata/ancient/state readonly=false
INFO [06-27|18:26:24.962] Rebuilt trie database                    root=224c46..098861
INFO [06-27|18:26:24.968] Rebuilding state snapshot
INFO [06-27|18:26:24.972] Committed new head block                 number=3 hash=5470c6..df697c
INFO [06-27|18:26:24.972] Resuming state snapshot generation       root=224c46..098861 accounts=0          slots=0           storage=0.00B   dangling=0 elapsed=4.048ms
INFO [06-27|18:26:24.976] Generated state snapshot                 accounts=29         slots=65          storage=7.53KiB dangling=0 elapsed=7.941ms
WARN [06-27|18:26:24.982] Inserted known block                     number=5 hash=18cd11..0a6f42 uncles=0 txs=0 gas=0 root=224c46..098861
WARN [06-27|18:26:24.988] Inserted known block                     number=6 hash=9915a5..2cd07b uncles=0 txs=0 gas=0 root=224c46..098861
WARN [06-27|18:26:24.996] Inserted known block                     number=7 hash=7409e3..0d8e47 uncles=0 txs=0 gas=0 root=224c46..098861
WARN [06-27|18:26:25.003] Inserted known block                     number=8 hash=3beffe..cc3ddf uncles=0 txs=0 gas=0 root=224c46..098861
WARN [06-27|18:26:25.011] Inserted known block                     number=9 hash=66ad27..12972a uncles=0 txs=0 gas=0 root=224c46..098861
WARN [06-27|18:26:25.026] Inserted known block                     number=11 hash=b69563..b6a7f8 uncles=0 txs=0 gas=0 root=f1d4c2..48b213
INFO [06-27|18:26:25.033] Syncing: chain download in progress      synced=366.67% chain=18.00B [email protected] [email protected] [email protected] eta=-4m0.349s
INFO [06-27|18:26:25.037] Indexed transactions                     blocks=12 txs=0 tail=0 elapsed=3.778ms
INFO [06-27|18:26:25.142] New local node record                    seq=1,751,019,630,268 id=1f76f20b49f93f54 ip=127.0.0.1 udp=30307 tcp=30307
INFO [06-27|18:26:25.473] Imported new chain segment               number=65 hash=f559a5..32c731 blocks=54 txs=3 mgas=2.707 elapsed=439.790ms mgasps=6.156 snapdiffs=8.08KiB triediffs=42.70KiB triedirty=0.00B
INFO [06-27|18:26:25.644] New local node record                    seq=1,751,019,630,269 id=1f76f20b49f93f54 ip=127.0.0.1 udp=30307 tcp=30307
INFO [06-27|18:26:27.878] Imported new chain segment               number=68 hash=ce7b10..9ff3c8 blocks=3  txs=0 mgas=0.000 elapsed=29.898ms  mgasps=0.000 snapdiffs=8.08KiB triediffs=42.70KiB triedirty=0.00B
INFO [06-27|18:26:27.878] Syncing: chain download in progress      synced=2266.67% chain=18.00B [email protected] [email protected] [email protected] eta=-5m18.619s
INFO [06-27|18:26:27.878] Snap sync complete, auto disabling
INFO [06-27|18:26:29.931] Imported new chain segment               number=69 hash=794e9b..9f09ff blocks=1  txs=0 mgas=0.000 elapsed=9.950ms   mgasps=0.000 snapdiffs=8.08KiB triediffs=42.70KiB triedirty=0.00B
INFO [06-27|18:26:31.159] Looking for peers                        peercount=2 tried=0 static=0
INFO [06-27|18:26:34.940] Imported new chain segment               number=70 hash=d859b4..798c16 blocks=1  txs=0 mgas=0.000 elapsed=9.520ms   mgasps=0.000 snapdiffs=8.30KiB triediffs=44.46KiB triedirty=0.00B
INFO [06-27|18:26:39.946] Imported new chain segment               number=71 hash=e783d3..63dd30 blocks=1  txs=0 mgas=0.000 elapsed=10.460ms  mgasps=0.000 snapdiffs=8.30KiB triediffs=44.46KiB triedirty=0.00B
INFO [06-27|18:26:41.186] Looking for peers                        peercount=2 tried=0 static=0
INFO [06-27|18:26:44.963] Imported new chain segment               number=72 hash=e2d4ad..832833 blocks=1  txs=2 mgas=1.772 elapsed=11.941ms  mgasps=148.387 snapdiffs=11.80KiB triediffs=63.06KiB triedirty=0.00B
INFO [06-27|18:26:49.972] Imported new chain segment               number=73 hash=fbf709..f57dc9 blocks=1  txs=0 mgas=0.000 elapsed=9.596ms   mgasps=0.000   snapdiffs=12.08KiB triediffs=64.42KiB triedirty=0.00B
INFO [06-27|18:26:51.211] Looking for peers                        peercount=2 tried=0 static=0
INFO [06-27|18:26:54.972] Imported new chain segment               number=74 hash=759264..f3bf89 blocks=1  txs=0 mgas=0.000 elapsed=8.760ms   mgasps=0.000   snapdiffs=12.08KiB triediffs=64.42KiB triedirty=0.00B
INFO [06-27|18:26:59.982] Imported new chain segment               number=75 hash=2a90b7..328c02 blocks=1  txs=0 mgas=0.000 elapsed=9.637ms   mgasps=0.000   snapdiffs=12.08KiB triediffs=64.42KiB triedirty=0.00B
INFO [06-27|18:27:01.237] Looking for peers                        peercount=2 tried=0 static=0
INFO [06-27|18:27:04.985] Imported new chain segment               number=76 hash=f17385..21fc24 blocks=1  txs=0 mgas=0.000 elapsed=8.603ms   mgasps=0.000   snapdiffs=12.08KiB triediffs=64.42KiB triedirty=0.00B
INFO [06-27|18:27:09.992] Imported new chain segment               number=77 hash=9a0c9d..665201 blocks=1  txs=0 mgas=0.000 elapsed=8.931ms   mgasps=0.000   snapdiffs=12.08KiB triediffs=64.42KiB triedirty=0.00B
INFO [06-27|18:27:11.261] Looking for peers                        peercount=2 tried=0 static=0
INFO [06-27|18:27:14.997] Imported new chain segment               number=78 hash=9d4b6a..13e8da blocks=1  txs=0 mgas=0.000 elapsed=8.418ms   mgasps=0.000   snapdiffs=12.08KiB triediffs=64.42KiB triedirty=0.00B
INFO [06-27|18:27:20.001] Imported new chain segment               number=79 hash=0999e5..37c9b8 blocks=1  txs=0 mgas=0.000 elapsed=8.774ms   mgasps=0.000   snapdiffs=12.08KiB triediffs=64.42KiB triedirty=0.00B
INFO [06-27|18:27:21.287] Looking for peers                        peercount=2 tried=0 static=0
INFO [06-27|18:27:25.006] Imported new chain segment               number=80 hash=396388..9c5b6a blocks=1  txs=0 mgas=0.000 elapsed=8.300ms   mgasps=0.000   snapdiffs=12.46KiB triediffs=68.21KiB triedirty=0.00B
INFO [06-27|18:27:30.017] Imported new chain segment               number=81 hash=fadc33..4b7434 blocks=1  txs=0 mgas=0.000 elapsed=9.207ms   mgasps=0.000   snapdiffs=12.46KiB triediffs=68.21KiB triedirty=0.00B
INFO [06-27|18:27:31.313] Looking for peers                        peercount=2 tried=0 static=0

The problem of initial synchronization failure has existed before. Now, the nodes that make the error will be disabled, and an error message "Reject duplicated disable operation" will also be reported.

Before

...
INFO [07-04|17:36:57.634] Unlocked account                         address=0x1f013Ef87A88B3a77A405EFba90C20Ab0c2CB91A
INFO [07-04|17:37:07.336] Looking for peers                        peercount=0 tried=0 static=0
WARN [07-04|17:37:10.187] Syncing, discarded propagated block      number=1 hash=496b42..f516be
INFO [07-04|17:37:15.190] Block synchronisation started
INFO [07-04|17:37:15.222] Syncing: state download in progress      synced=4.22% state=1.40KiB [email protected] [email protected] [email protected] eta=574.582ms
INFO [07-04|17:37:15.242] Imported new chain segment               number=2 hash=363154..40cc4d blocks=2 txs=0 mgas=0.000 elapsed=31.664ms mgasps=0.000 triedirty=0.00B
INFO [07-04|17:37:15.242] Syncing: chain download in progress      synced=+Inf% chain=18.00B [email protected] [email protected] [email protected] eta=-33.139ms
INFO [07-04|17:37:15.246] Syncing: state download in progress      synced=12.50% state=1.85KiB [email protected] [email protected] [email protected] eta=346.407ms
WARN [07-04|17:37:15.246] Unexpected account range packet          peer=6605a399 reqid=2,308,362,397,072,261,957
WARN [07-04|17:37:15.250] Unexpected storage ranges packet         peer=6605a399 reqid=3,384,144,842,278,825,959
INFO [07-04|17:37:15.250] Indexed transactions                     blocks=3 txs=0 tail=0 elapsed=7.466ms
WARN [07-04|17:37:15.254] Synchronisation failed, retrying         err="sync cancelled"
INFO [07-04|17:37:17.360] Looking for peers                        peercount=1 tried=0 static=0
WARN [07-04|17:37:20.195] Syncing, discarded propagated block      number=3 hash=39f575..d46f5d
INFO [07-04|17:37:25.263] Syncing: state download in progress      synced=12.50% state=1.85KiB [email protected] [email protected] [email protected] eta=1m10.457s
INFO [07-04|17:37:25.276] Syncing: chain download in progress      synced=100.00% chain=18.00B [email protected] [email protected] [email protected] eta=0s
INFO [07-04|17:37:25.284] Syncing: state download in progress      synced=25.00%  state=3.86KiB [email protected] [email protected] [email protected] eta=30.259s
WARN [07-04|17:37:25.285] Unexpected account range packet          peer=6605a399 reqid=8,002,979,271,629,940,109
INFO [07-04|17:37:25.384] Syncing: state download in progress      synced=100.00% state=17.49KiB [email protected] [email protected] [email protected] eta="-16.971µs"
INFO [07-04|17:37:25.384] Syncing: state healing in progress       [email protected]    [email protected]     [email protected] [email protected] pending=0
INFO [07-04|17:37:25.396] Rebuilding state snapshot
INFO [07-04|17:37:25.400] Committed new head block                 number=2 hash=363154..40cc4d
INFO [07-04|17:37:25.400] Resuming state snapshot generation       root=224c46..098861 accounts=0          slots=0           storage=0.00B   dangling=0 elapsed=4.262ms
INFO [07-04|17:37:25.405] Generated state snapshot                 accounts=29         slots=65          storage=7.53KiB dangling=0 elapsed=8.996ms
INFO [07-04|17:37:25.422] Imported new chain segment               number=4 hash=62df90..8228fb blocks=2 txs=0 mgas=0.000 elapsed=21.697ms mgasps=0.000 triedirty=0.00B
INFO [07-04|17:37:27.381] Looking for peers                        peercount=1 tried=0 static=0
INFO [07-04|17:37:28.264] Syncing: chain download in progress      synced=200.00% chain=18.00B [email protected] [email protected] [email protected] eta=-6.527s
INFO [07-04|17:37:28.264] Snap sync complete, auto disabling
INFO [07-04|17:37:30.215] Imported new chain segment               number=5 hash=49b853..e0f186 blocks=1 txs=0 mgas=0.000 elapsed=9.176ms  mgasps=0.000 triedirty=0.00B
INFO [07-04|17:37:30.389] New local node record                    seq=1,751,621,817,313 id=e129d8221d87f2bb ip=127.0.0.1 udp=30307 tcp=30307
INFO [07-04|17:37:35.226] Imported new chain segment               number=6 hash=9317ca..7346e6 blocks=1 txs=0 mgas=0.000 elapsed=9.608ms  mgasps=0.000 triedirty=0.00B
INFO [07-04|17:37:37.405] Looking for peers                        peercount=1 tried=0 static=0

This issue is caused by modifying the default db's storage scheme. Please refer to ethereum/go-ethereum#29108 for details.

@gsmachado
Copy link
Member

During the initialization process, there were several log errors, but it seemed that they didn't cause any impact. However, I have no idea how to solve this problem.

IMHO, if error messages appear in geth, they need to be tackled (or at least we need to know the reason why they appear).

FYI, @txhsl @AnnaShaleva

@qianhh
Copy link
Collaborator Author

qianhh commented Jul 2, 2025

INFO [06-27|14:43:32.076] Opened ancient database                  database=/Users/eric/code/neo/go-ethereum/privnet/single/node1/geth/chaindata/ancient/chain readonly=false
INFO [06-27|14:43:32.076] State schema set to default              scheme=path
ERROR[06-27|14:43:32.076] Zero trie root hash!
ERROR[06-27|14:43:32.076] Head block is not reachable

After the v1.14.11 merge was completed, one error was eliminated.

INFO [07-02|14:02:59.891] Maximum peer count                       ETH=50 total=50
INFO [07-02|14:02:59.894] Set global gas cap                       cap=50,000,000
INFO [07-02|14:02:59.894] Initializing the KZG library             backend=gokzg
INFO [07-02|14:02:59.907] Defaulting to pebble as the backing database
INFO [07-02|14:02:59.907] Allocated cache and file handles         database=/Users/eric/code/neo/go-ethereum/privnet/single/node0/geth/chaindata cache=16.00MiB handles=16
INFO [07-02|14:02:59.979] Opened ancient database                  database=/Users/eric/code/neo/go-ethereum/privnet/single/node0/geth/chaindata/ancient/chain readonly=false
INFO [07-02|14:02:59.979] State schema set to default              scheme=path
ERROR[07-02|14:02:59.979] Head block is not reachable
INFO [07-02|14:03:00.027] Opened ancient database                  database=/Users/eric/code/neo/go-ethereum/privnet/single/node0/geth/chaindata/ancient/state readonly=false
INFO [07-02|14:03:00.027] Writing custom genesis block
INFO [07-02|14:03:00.122] Successfully wrote genesis state         database=chaindata hash=c7e929..722fc6
INFO [07-02|14:03:00.122] Defaulting to pebble as the backing database
INFO [07-02|14:03:00.122] Allocated cache and file handles         database=/Users/eric/code/neo/go-ethereum/privnet/single/node0/geth/lightchaindata cache=16.00MiB handles=16
INFO [07-02|14:03:00.199] Opened ancient database                  database=/Users/eric/code/neo/go-ethereum/privnet/single/node0/geth/lightchaindata/ancient/chain readonly=false
INFO [07-02|14:03:00.199] State schema set to default              scheme=path
ERROR[07-02|14:03:00.199] Head block is not reachable
INFO [07-02|14:03:00.241] Opened ancient database                  database=/Users/eric/code/neo/go-ethereum/privnet/single/node0/geth/lightchaindata/ancient/state readonly=false
INFO [07-02|14:03:00.241] Writing custom genesis block
INFO [07-02|14:03:00.351] Successfully wrote genesis state         database=lightchaindata hash=c7e929..722fc6

The error log Head block is not reachable was introduced in this commit (#28683). The new database file is empty, so the head block cannot be read. Should we consider lowering the log level?

@txhsl
Copy link
Contributor

txhsl commented Jul 2, 2025

The error log Head block is not reachable was introduced in this commit (#28683). The new database file is empty, so the head block cannot be read. Should we consider lowering the log level?

Seems not necessary. If the head block should be there but is not there, then the error is an error. What we need to pay attention to is whether the Finalized tag is enabled and how should we use it.

Maybe BSC customized a lot on Geth, but I think we don't expect too many customized changes on the upsteam.

@txhsl
Copy link
Contributor

txhsl commented Jul 2, 2025

@qianhh How about ethereum/go-ethereum#29711, I think we may don't need to revert it.

@txhsl
Copy link
Contributor

txhsl commented Jul 3, 2025

Also ethereum/go-ethereum#29179 is a bit tricky.

We have supported threshold signatures, but strictly speaking, we still allow the multi-sig scheme. The reorg thing is not solved in multi-sig, so if we turn on the enforceECDSASignatures switch, reorg related handling maybe necessary.

At least, we need to confirm its impact in testing, by enabling enforceECDSASignatures or disabling forks since NeoXAMEV.

@qianhh
Copy link
Collaborator Author

qianhh commented Jul 3, 2025

@qianhh How about ethereum/go-ethereum#29711, I think we may don't need to revert it.

I wasn't completely sure about this before. Since it was used in the dbft, I left it as it was. If everything is okay, then I'll incorporate it into the our version.

@qianhh
Copy link
Collaborator Author

qianhh commented Jul 10, 2025

Also ethereum/go-ethereum#29179 is a bit tricky.

We have supported threshold signatures, but strictly speaking, we still allow the multi-sig scheme. The reorg thing is not solved in multi-sig, so if we turn on the enforceECDSASignatures switch, reorg related handling maybe necessary.

At least, we need to confirm its impact in testing, by enabling enforceECDSASignatures or disabling forks since NeoXAMEV.

You are correct. I conducted 7 CNs privnet tests, and the result was that the network could not switch to amev. A revert operation has been performed.

@qianhh
Copy link
Collaborator Author

qianhh commented Jul 11, 2025

Now, during the operation of the network, the following error logs occurs occasionall:

    1. Occurs frequently, the miner can recover (fixed):
ERROR[07-11|02:37:47.040] Impossible reorg, please file an issue   oldnum=130 oldhash=dfb499..623b14 oldblocks=0 newnum=130 newhash=dfb499..623b14 newblocks=0
    1. Occurs occasionall, the miner can't recover:
ERROR[07-11|02:38:47.040] failed to retrieve global public key to construct next consensus err="failed to get public key from keystore: no global public key"
    1. Occurs occasionall, the miner has stalled:
INFO [07-11|03:29:32.470] Block synchronisation started
INFO [07-11|03:29:32.470] Mining aborted due to sync
    1. Occurs occasionall, the miner panic:
INFO [07-15|10:47:24.593] Sealing proposal updated                 number=8 sealhash=9ba276..25c33b "parent hash"=aec5f3..d45e20 txs=0
panic: failed to retrieve next block validators: failed to perform 'getCurrentConsensus' call: header not found

goroutine 4298 [running]:
github.com/ethereum/go-ethereum/consensus/dbft.(*DBFT).getValidatorsCb(0x1400066c6c8, {0x0, 0x1ae2d983ef7e2db4?, 0x205ed477893affb1?})
	github.com/ethereum/go-ethereum/consensus/dbft/dbft.go:461 +0x1b4
github.com/nspcc-dev/dbft.(*Context[...]).reset(0x102379780, 0x0, 0xbdded13727eafb36)
	github.com/nspcc-dev/[email protected]/context.go:248 +0xf4
github.com/nspcc-dev/dbft.(*DBFT[...]).initializeConsensus(0x10237d600, 0x0, 0xe)
	github.com/nspcc-dev/[email protected]/dbft.go:93 +0x3c
github.com/nspcc-dev/dbft.(*DBFT[...]).Reset(...)
	github.com/nspcc-dev/[email protected]/dbft.go:89
github.com/ethereum/go-ethereum/consensus/dbft.(*DBFT).handleChainBlock(0x1400066c6c8, 0x14013dd6008, 0x68?)
	github.com/ethereum/go-ethereum/consensus/dbft/dbft.go:2520 +0x8a0
github.com/ethereum/go-ethereum/consensus/dbft.(*DBFT).eventLoop(0x1400066c6c8)
	github.com/ethereum/go-ethereum/consensus/dbft/dbft.go:2324 +0x8f0
created by github.com/ethereum/go-ethereum/consensus/dbft.(*DBFT).Start in goroutine 800
	github.com/ethereum/go-ethereum/consensus/dbft/dbft.go:2129 +0x8d8

I found that the aforementioned issue occurred when v1.14.0 was merged.
I have re-adjusted the merge for ethereum/go-ethereum/28623 ( e023d83) and have successfully fixed the aforementioned error.

@txhsl
Copy link
Contributor

txhsl commented Jul 14, 2025

2. Occurs occasionall, the miner can't recover:

Try rebasing to the latest commit. I fixed several bugs since v0.4.0, at least this should help us find the real reason causing the error message.

3. Occurs occasionall, the miner has stalled:

I think this is a behaviour supposed to happen?

@qianhh
Copy link
Collaborator Author

qianhh commented Jul 15, 2025

  1. Occurs occasionall, the miner has stalled:

I think this is a behaviour supposed to happen?

But it seems that it cannot synchronize the blocks at the back.

@txhsl
Copy link
Contributor

txhsl commented Jul 15, 2025

I got some errors on Privnet node 8.

INFO [07-15|10:47:01.812] Block synchronisation started
INFO [07-15|10:47:01.849] Disabled trie database due to state sync
INFO [07-15|10:47:02.123] Syncing: state download in progress      synced=3.90% state=47.00B [email protected] [email protected] [email protected] eta=3.130s
WARN [07-15|10:47:02.481] Unexpected storage ranges packet         peer=06e2c8b2 reqid=1,114,284,085,546,698,633
......
WARN [07-15|10:47:03.052] Synchronisation failed, dropping peer    peer=e09e74f484b4888c2f4c4af5958781851b7cfb9760da24fbd61a8d70bb8a7c8f err="retrieved hash chain is invalid: missing parent"
ERROR[07-15|10:47:03.108] Reject duplicated disable operation
......
WARN [07-15|10:47:05.030] Synchronisation failed, retrying         err="peer is unknown or unhealthy"

@txhsl
Copy link
Contributor

txhsl commented Jul 15, 2025

But it seems that it cannot synchronize the blocks at the back.

Yes, I see the problem, let me check as well. It seems that the node can't be shutdown as well. Ref #176 and #298 if necessary.

@qianhh
Copy link
Collaborator Author

qianhh commented Jul 15, 2025

I got some errors on Privnet node 8.

INFO [07-15|10:47:01.812] Block synchronisation started
INFO [07-15|10:47:01.849] Disabled trie database due to state sync
INFO [07-15|10:47:02.123] Syncing: state download in progress      synced=3.90% state=47.00B [email protected] [email protected] [email protected] eta=3.130s
WARN [07-15|10:47:02.481] Unexpected storage ranges packet         peer=06e2c8b2 reqid=1,114,284,085,546,698,633
......
WARN [07-15|10:47:03.052] Synchronisation failed, dropping peer    peer=e09e74f484b4888c2f4c4af5958781851b7cfb9760da24fbd61a8d70bb8a7c8f err="retrieved hash chain is invalid: missing parent"
ERROR[07-15|10:47:03.108] Reject duplicated disable operation
......
WARN [07-15|10:47:05.030] Synchronisation failed, retrying         err="peer is unknown or unhealthy"

This will be successfully completed later on. It just requires some time. #487 (comment)

@txhsl
Copy link
Contributor

txhsl commented Jul 15, 2025

This will be successfully completed later on. It just requires some time. #487 (comment)

How, just waiting? Then it's still an issue we need to solve.

@qianhh qianhh force-pushed the upd-v1.14.13 branch 2 times, most recently from cefd278 to 955cc09 Compare July 16, 2025 08:16
@qianhh qianhh changed the title WIP: Merge Geth [v1.14.0...v1.14.13] Merge Geth [v1.14.0...v1.14.13] Jul 17, 2025
@roman-khimov roman-khimov requested a review from Copilot July 18, 2025 12:01
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR merges Geth versions v1.14.0 through v1.14.13 into the bane-main branch, bringing significant updates to the Ethereum client implementation. The changes include major architectural improvements, API deprecations, and modernization of the codebase.

  • Updates to EVM assembly parsing with new EOF (EIP-615) instruction handling
  • Removal of deprecated personal namespace and related functionality
  • Modernization of consensus engine interfaces with simplified signatures
  • Enhanced beacon light client support and configuration options

Reviewed Changes

Copilot reviewed 199 out of 928 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
core/asm/lexer.go Minor comment correction for accept function
core/asm/asm_test.go Complete rewrite of assembly tests with EOF instruction support
core/asm/asm.go Added EOF instruction iterator and enhanced instruction parsing
console/console_test.go Updated test comments and assertions for deprecated functionality
console/console.go Removed deprecated personal namespace initialization
console/bridge_test.go Complete file removal - tests for deprecated personal functions
console/bridge.go Major cleanup removing personal namespace bridge functions
consensus/misc/eip1559/eip1559.go Replaced math.BigMax with inline comparisons for base fee calculation
consensus/misc/dao.go Updated for new VM state interface and tracing support
consensus/merger.go Complete file removal - merger functionality no longer needed
consensus/ethash/consensus.go Updated consensus engine interface with simplified signatures
consensus/dbft/preblock.go Simplified block creation using new Body structure
consensus/dbft/dkg.go Updated API call with proper gas limits
consensus/dbft/dbft.go Major updates for new consensus interfaces and block structures
consensus/dbft/chainreader.go Updated interface signature for ProcessState method
consensus/consensus.go Simplified consensus engine interface removing uncles/withdrawals parameters
consensus/clique/snapshot_test.go Updated imports to use standard library slices
consensus/clique/snapshot.go Modernized snapshot copying using maps.Clone and slices.Clone
consensus/clique/clique_test.go Updated test comments removing Görli references
consensus/clique/clique.go Updated consensus engine interface implementation
consensus/beacon/consensus.go Enhanced beacon consensus with verkle tree witness support
common/types_test.go Added comprehensive tests for Decimal type
common/types.go Fixed Decimal parsing and added PrettyBytes helper
common/prque/sstack.go Updated to use standard library cmp instead of golang.org/x/exp
common/prque/prque.go Updated priority queue to use standard library cmp
common/prque/lazyqueue.go Updated lazy queue implementation
common/path.go Minor whitespace cleanup
common/math/integer_test.go Updated to use standard library math constants
common/math/integer.go Removed duplicate integer constants, improved JSON parsing
common/math/big_test.go Removed tests for deprecated utility functions
common/math/big.go Removed deprecated BigMax, BigMin, and other utility functions
common/lru/basiclru.go Used clear() builtin for map clearing
common/bitutil/bitutil_test.go Updated source URL references
common/bitutil/bitutil.go Updated source URL references
cmd/utils/prompt_test.go Removed unnecessary test variable assignment
cmd/utils/history_test.go Improved file path handling and error messages
cmd/utils/flags_test.go Removed unnecessary test variable assignment
cmd/utils/flags_legacy.go Reorganized deprecated flags and added new deprecations
cmd/utils/flags.go Major update with new beacon client flags and removed deprecated options
cmd/utils/export_test.go Improved test cleanup using t.TempDir()
cmd/utils/cmd.go Updated file path handling
cmd/rlpdump/main.go Minor formatting improvement
cmd/p2psim/main.go Complete file removal - p2psim tool deprecated
cmd/geth/version_check_test.go Removed unnecessary test variable assignment
cmd/geth/verkle.go Updated imports and flag handling
cmd/geth/testdata/vcheck/vulnerabilities.json Added new vulnerability entries
cmd/geth/testdata/clique.json Added terminalTotalDifficultyPassed configuration
cmd/geth/snapshot.go Updated flag handling and database operations
cmd/geth/misccmd.go Updated version display
cmd/geth/main.go Major update with new flags and removed deprecated options
cmd/geth/logging_test.go Improved test file handling
cmd/geth/exportcmd_test.go Improved test cleanup
cmd/geth/dbcmd.go Enhanced database commands with history inspection
cmd/geth/consolecmd_test.go Updated test configurations and timing
cmd/geth/consolecmd.go Updated flag handling
cmd/geth/config.go Major configuration updates with beacon support
cmd/geth/chaincmd.go Simplified genesis initialization and chain operations
cmd/geth/attach_test.go Minor comment correction
cmd/geth/accountcmd_test.go Removed unnecessary test variable assignment
cmd/evm/testdata/32/txs.json Added new test transaction data
Comments suppressed due to low confidence (1)

core/asm/asm.go:75

  • Variable name 'a' is ambiguous. Consider renaming to 'argSize' or 'operandSize' to better reflect its purpose as the size of instruction arguments.
	var a int

@qianhh
Copy link
Collaborator Author

qianhh commented Jul 21, 2025

This will be successfully completed later on. It just requires some time. #487 (comment)

How, just waiting? Then it's still an issue we need to solve.

As long as these miners reach a consensus and generate a block, and then the regular nodes are started, this synchronization issue will not occur at this time. So, do we still need to fix this issue?

@txhsl
Copy link
Contributor

txhsl commented Jul 21, 2025

As long as these miners reach a consensus and generate a block, and then the regular nodes are started, this synchronization issue will not occur at this time. So, do we still need to fix this issue?

It sounds like the same as what we are in the current version. But my Node 8 is repeating this error at the beginning, regardless of the network consensus.

But, well, I see, this issue is imported from the Geth upstream itself, along with the new feature. When we use back to hashDB, everything works as it used to be.

Let's keep in mind that the original Geth is no longer designed for local consensus.

@qianhh
Copy link
Collaborator Author

qianhh commented Jul 28, 2025

In version 1.14, the archive nodes (--gcmode=archive) can only use the 'hash-based' state storage scheme (--state.scheme=hash). However, the default storage scheme has been changed to 'path-based' (--state.scheme=path). We need to specify --state.scheme=hash when initializing the archive nodes. Archive nodes that support the 'path-based' (--state.scheme=path) state storage scheme were implemented in v1.16.0 (https://github.com/ethereum/go-ethereum/releases/tag/v1.16.0).

@txhsl
Copy link
Contributor

txhsl commented Jul 28, 2025

I think we may need to revert ethereum/go-ethereum#29895 as well.

@txhsl
Copy link
Contributor

txhsl commented Jul 29, 2025

And why we revert ethereum/go-ethereum#30609, just question, because I think things can work with only TerminalTotalDifficulty.

jwasinger and others added 15 commits September 3, 2025 16:05
The [kilic](https://github.com/kilic/bls12-381) bls12381 implementation
has been archived. It shouldn't be necessary to include it as a fuzzing
target any longer.

This also adds fuzzers for G1/G2 mul that use inputs that are guaranteed
to be valid. Previously, we just did random input fuzzing for these
precompiles.
This adds an API method `DropTransactions` to legacy pool, blob pool and
txpool interface. This method removes all txs currently tracked in the
pools.

It modifies the simulated beacon to use the new method in `Rollback`
which removes previous hacky implementation that also erroneously reset
the gas tip to 1 gwei.

---------

Co-authored-by: Felix Lange <[email protected]>
rebased ethereum/go-ethereum#29766 . The
downstream branch appears to have been deleted and I don't have perms to
push to that fork.

`TerminalTotalDifficultyPassed` is removed. `TerminalTotalDifficulty`
must now be non-nil, and it is expected that networks are already
merged: we can only import PoW/Clique chains, not produce blocks on
them.

---------

Co-authored-by: stevemilk <[email protected]>
    This change makes it so that the wrapped statedb with tracing-hooks is passed to the dbft system call processing
@qianhh qianhh force-pushed the upd-v1.14.13 branch 2 times, most recently from 02edefe to 26ad97d Compare September 4, 2025 09:04
holiman and others added 2 commits September 4, 2025 18:11
This is one further step towards removing account management from
`geth`. This PR deprecates the flag `unlock`, and makes the flag moot:
unlock via geth is no longer possible.
@txhsl
Copy link
Contributor

txhsl commented Sep 12, 2025

@qianhh Are you going to close #507 with 1940bd3?

@qianhh
Copy link
Collaborator Author

qianhh commented Sep 12, 2025

Are you going to close #507 with 1940bd3?

Yes

@txhsl
Copy link
Contributor

txhsl commented Sep 12, 2025

Yes

The current implementation is still far away from Roman's proposal, we may need more discussions and code changes to close it. Let's leave it open for now.

I will update its description to make it more accurate.

@qianhh
Copy link
Collaborator Author

qianhh commented Sep 12, 2025

The current implementation is still far away from Roman's proposal, we may need more discussions and code changes to close it. Let's leave it open for now.

I will update its description to make it more accurate.

OK. What is implemented here is merely for the convenience of later code merging. It cannot be called a refactor.

@txhsl txhsl merged commit f20d5b7 into bane-main Sep 15, 2025
2 checks passed
@txhsl txhsl deleted the upd-v1.14.13 branch September 15, 2025 06:49
@qianhh qianhh mentioned this pull request Sep 26, 2025
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade Geth to v1.14+