You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Geth version: Geth/v1.10.3-stable-e73afc9b(quorum-v22.7.6)/linux-amd64/go1.19.6
OS & Version: Linux
Commit hash : N/A
Expected behaviour
A migration of genesis config MaxCodeSizeConfig to Transitions.ContractSizeLimit should be allowed via a re-initialization of the genesis config, after an update of the genesis file. There is a log as well which tells users to migrate their genesis config since MaxCodeSizeConfig is deprecated, reference: #1376
WARN [03-09|19:20:03.005] WARNING: The attribute config.maxCodeSizeConfig is deprecated and will be removed in the future, please use config.transitions.contractsizelimit on genesis file
Actual behaviour
During an upgrade from Quorum v22.4.4 to v22.7.6, we applied the below change to the genesis file and executed a geth init, to re-initialize the chain configuration. The command throws the error shows below.
INFO [03-09|21:11:49.374] Running with private transaction manager disabled - quorum private transactions will not be supported
INFO [03-09|21:11:49.376] Maximum peer count ETH=50 LES=0 total=50
INFO [03-09|21:11:49.376] Smartcard socket not found, disabling err="stat /run/pcscd/pcscd.comm: no such file or directory"
INFO [03-09|21:11:49.468] Enabling recording of key preimages since archive mode is used
INFO [03-09|21:11:49.468] Set global gas cap cap=25,000,000
INFO [03-09|21:11:49.472] Allocated cache and file handles database=/qdata/ethereum/chaindata-bk/geth/chaindata cache=16.00MiB handles=16
INFO [03-09|21:11:49.737] Persisted trie from memory database nodes=1 size=151.00B time="10.4µs" gcnodes=0 gcsize=0.00B gctime=0s livenodes=1 livesize=0.00B
Fatal: Failed to write genesis block: mismatching genesis file missing max code size information in database (have 1211, want 1211, rewindto 1210)
Steps to reproduce the behaviour
Create a node with maxCodeSizeConfig specified in the genesis config and let the chain run for some time by issuing some transactions.
Stop the node, edit the genesis file and remove maxCodeSizeConfig and introduce config.transitions.contractsizelimit.
Run geth init with the updated genesis file, the client throws the error: Fatal: Failed to write genesis block: mismatching genesis file missing max code size information in database (have x, want y, rewindto z)
System information
Geth version:
Geth/v1.10.3-stable-e73afc9b(quorum-v22.7.6)/linux-amd64/go1.19.6
OS & Version: Linux
Commit hash : N/A
Expected behaviour
A migration of genesis config
MaxCodeSizeConfig
toTransitions.ContractSizeLimit
should be allowed via a re-initialization of the genesis config, after an update of the genesis file. There is a log as well which tells users to migrate their genesis config sinceMaxCodeSizeConfig
is deprecated, reference: #1376Actual behaviour
During an upgrade from Quorum
v22.4.4
tov22.7.6
, we applied the below change to the genesis file and executed ageth init
, to re-initialize the chain configuration. The command throws the error shows below.Steps to reproduce the behaviour
maxCodeSizeConfig
specified in the genesis config and let the chain run for some time by issuing some transactions.maxCodeSizeConfig
and introduceconfig.transitions.contractsizelimit
.geth init
with the updated genesis file, the client throws the error:Fatal: Failed to write genesis block: mismatching genesis file missing max code size information in database (have x, want y, rewindto z)
It appears that
isMaxCodeSizeConfigCompatible()
was not updated in #1376 to handle the case where the old genesis containedmaxCodeSizeConfig
and the new genesis contains the new styleconfig.transitions.contractsizelimit
: https://github.com/ConsenSys/quorum/blob/master/params/config.go#L790-L803Old Genesis file
New Genesis file
Backtrace
N/A
The text was updated successfully, but these errors were encountered: