a16z/magi

error: failed to handle attributes: Engine API POST error: Invalid parameters

Closed this issue · 4 comments

Log from magi:
Thu, 28 Mar 2024 23:35:51 ERROR: fatal error: failed to handle attributes: Engine API POST error: Invalid parameters

Log from op-geth:
Served engine_forkchoiceUpdatedV2 conn=10.0.2.100:35340 reqid=1 duration="402.775µs" err="Invalid parameters" errdata="{Error:invalid withdrawals: fork inactive, unexpected attribute set}"

Running magi:latest as a container on an arm64 device, run command:
podman run -q -d --name magi-1711573948131 -v "/home/ubu/.config/NiceNode/nodes/magi-1711573948":/data:z -p 9222:9222/tcp -p 9222:9222/udp -p 8549:8549 a16zcrypto/magi:latest magi --jwt-file /data/jwtsecret --l1-rpc-url http://10.1.70.61:8545 --l1-beacon-url http://10.1.70.61:5052 --l2-rpc-url http://host.containers.internal:8547 --l2-engine-url http://host.containers.internal:8553 --rpc-port 8549 --sync-mode full

Full magi logs:

[�[36mThu, 28 Mar 2024 23:41:38�[0m] �[34mINFO�[0m: Starting Magi. sync mode=full, network=optimism
[�[36mThu, 28 Mar 2024 23:41:38�[0m] �[33mWARN�[0m: could not get head info. Falling back to the genesis head.
[�[36mThu, 28 Mar 2024 23:41:38�[0m] �[34mINFO�[0m: starting from head: 0xdbf6a80fef073de06add9b0d14026d6e5a86c85f6d102c36d3d8e9cf89c2afd3
[�[36mThu, 28 Mar 2024 23:41:38�[0m] �[34mINFO�[0m: rpc server started at port 8549
[�[36mThu, 28 Mar 2024 23:41:56�[0m] �[31mERROR�[0m: fatal error: failed to handle attributes: Engine API POST error: Invalid parameters

Location:    /magi/src/driver/mod.rs:199:30

How are you running op-geth? This will help me reproduce the isue.

How are you running op-geth? This will help me reproduce the isue.

I will do more testing next week between official setup and my setup next

podman run -q -d --name op-geth-1711573948108 -v "/home/ubu/.config/NiceNode/nodes/op-geth-1711573948":/root/.ethereum:z -p 39393:39393/tcp -p 39393:39393/udp -p 8547:8547 -p 8548:8548 -p 8553:8553 [us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101308.2](http://us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101308.2) --http.addr 0.0.0.0 --authrpc.addr 0.0.0.0 --authrpc.jwtsecret /root/.ethereum/jwtsecret --ipcdisable --http --http.port 8547 --ws.port 8548 --authrpc.port 8553 --discovery.port 39393 --http.corsdomain http://localhost/ --http.vhosts localhost,host.containers.internal --authrpc.vhosts localhost,host.containers.internal --rollup.sequencerhttp https://sequencer.optimism.io/ --op-network=op-mainnet

Are you providing a valid Bedrock datadir to op-geth? If not, maybe the client is trying to sync on legacy state (pre-bedrock) which isn't supported. Have a look at how we provide the datadir in start-op-geth.sh:

wget "https://datadirs.optimism.io/mainnet-bedrock.tar.zst" -P $DATADIR
zstd -cd $DATADIR/mainnet-bedrock.tar.zst | tar xvf - -C $DATADIR

exec geth \
--datadir="$DATADIR" \

sorry, wasn't using a proper archival rpc for l1 🤕