Open fjl opened 10 months ago
Just fyi, when I brought this up in Discord about two months back, we initially suspected it might be related to --fakepow
. But the issue also occurs with a fully signed and valid Clique chain, so it's likely not related to this flag.
I think the importChain
functionality cannot transition into merge at the moment in Erigon
Any news about this? We have now converted the rpc-compat tests to use a post-merge chain, and the issue also affects these tests.
Not yet, sorry, I'll do this asap
Fixed by PR #9431
Very nice!
@racytech I have redeployed hive1 and hive2 to test this change, but it looks like the issue is not fixed. There is a crash in the import:
[INFO] [02-14|13:22:59.457] Successfully wrote genesis state hash=0x414c637788e37e9f65ed2c6ee962d32aeea39722ad50ee764e712fabebd69118
Loading initial blockchain...
Loading initial blockchain...
[INFO] [02-14|13:22:59.644] logging to file system log dir=/erigon-hive-datadir/logs file prefix=erigon log level=info json=false
[INFO] [02-14|13:22:59.646] Maximum peer count ETH=100 total=100
[INFO] [02-14|13:22:59.646] starting HTTP APIs port=8545 APIs=eth,erigon,engine
[INFO] [02-14|13:22:59.647] torrent verbosity level=WRN
[INFO] [02-14|13:23:01.750] Set global gas cap cap=50000000
[INFO] [02-14|13:23:01.751] [Downloader] Running with ipv6-enabled=true ipv4-enabled=true download.rate=16mb upload.rate=4mb
[INFO] [02-14|13:23:01.751] Opening Database label=chaindata path=/erigon-hive-datadir/chaindata
mdbx_setup_dxb:15946 filesize mismatch (expect 143360b/35p, have 16777216b/4096p)
[INFO] [02-14|13:23:01.762] [db] open lable=chaindata sizeLimit=2GB pageSize=4096
[INFO] [02-14|13:23:01.781] Initialised chain configuration config="{ChainID: 3503995874084926, Homestead: 0, DAO: <nil>, Tangerine Whistle: 0, Spurious Dragon: 0, Byzantium: 0, Constantinople: 0, Petersburg: 0, Istanbul: 0, Muir Glacier: 0, Berlin: 0, London: 0, Arrow Glacier: 0, Gray Glacier: 0, Terminal Total Difficulty: 131072, Merge Netsplit: 0, Shanghai: 0, Cancun: 0, Prague: <nil>, Engine: ethash}" genesis=0x414c637788e37e9f65ed2c6ee962d32aeea39722ad50ee764e712fabebd69118
[INFO] [02-14|13:23:01.800] Initialising Ethereum protocol network=3503995874084926
[WARN] [02-14|13:23:01.800] Ethash used in fake mode
[INFO] [02-14|13:23:01.816] Starting private RPC server on=127.0.0.1:9090
[INFO] [02-14|13:23:01.816] new subscription to logs established
[EROR] [02-14|13:23:01.817] catch panic err="runtime error: invalid memory address or nil pointer dereference" stack="[main.go:29 panic.go:914 panic.go:261 signal_unix.go:861 import_cmd.go:77 make_app.go:111 command.go:279 command.go:272 app.go:337 app.go:311 main.go:34 proc.go:267 asm_amd64.s:1650]"
This crash is still happening.
It appears that here https://hivetests.ethdevops.io/viewer.html?suiteid=1711397722-d50036babc50796ef1719e295f3b3136.json&suitename=consensus&testid=2&file=%2Fresults%2Ferigon%2Fclient-12ec110ba712b8b92ee6437fe3f0de96b485e7a2ee13e8c2100e0c88c9302063.log it uses 0001.rlp
it would be nice if I had it, because for the above chain.rlp
and genesis.json
I am not having any problems.
Unlike before, the error occurs not before importing PoS blocks but before importing PoW blocks as well. So the error is different this time.
System information
Erigon version:
v2.56.1
Expected behaviour
erigon import
with a chain file should run all blocks in the file and set the head to the last valid block.Actual behaviour
Running
erigon import chain.rlp
will only process blocks up to the merge. Blocks after the PoS transition are not imported.This issue causes hive test failures. As we are continuing to update more hive tests to a PoS-enabled chain, erigon will not be able to execute those tests. So I'd appreciate getting this fixed.
Steps to reproduce the behaviour
Downloading the test chain:
Initializing the database:
Importing chain.rlp. Note that the import ends at block 72, which is incorrect. The last block in chain.rlp is block 500.