Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

err: gas limit reached (supplied gas 9223372036854775807) #30467

Closed
YuXiaoCoder opened this issue Sep 19, 2024 · 6 comments · Fixed by #30474
Closed

err: gas limit reached (supplied gas 9223372036854775807) #30467

YuXiaoCoder opened this issue Sep 19, 2024 · 6 comments · Fixed by #30474
Labels

Comments

@YuXiaoCoder
Copy link

System information

Geth version: 1.14.9
CL client & version: Prysm@v5.1.0
OS & Version: Linux

Expected behaviour

eth_call returns the response normally

Actual behaviour

INFO [09-19|20:29:30.936] rpc response                             method=eth_call logId=5 err="err: gas limit reached (supplied gas 9223372036854775807)" result="\"0x\"" attempt=0 args="[{\"from\":\"0x0000000000000000000000000000000000000000\",\"input\":\"0xe8eb1dc3\",\"to\":\"0x211e1c4c7f1bf5351ac850ed10fd68cffcf6c21b\"}, \"latest\"]" errorData=null
ERROR[09-19|20:29:30.936] error fetching MaxDataSize from sequencer inbox err="err: gas limit reached (supplied gas 9223372036854775807)"

Steps to reproduce the behaviour

Prysm Command:

/opt/ethmain/core/beacon-chain --mainnet --chain-id=1 --network-id=1 --checkpoint-sync-url=https://sync-mainnet
.beaconcha.in --execution-endpoint=http://127.0.0.1:8551 --jwt-secret=/mnt/ethmain/node/jwt.hex --datadir=/mnt/ethmain/node/prysm/beacon --enable-historical-state-representation
--suggested-fee-recipient=0xcDA9D71bdfAe59b89Cee131eD3079f8AC4c77062 --http-mev-relay=http://127.0.0.1:18550 --rpc-host=0.0.0.0 --rpc-port=4000 --rpc-max-page-size=200000 --http-
modules=prysm,eth --grpc-gateway-host=0.0.0.0 --grpc-gateway-port=3500 --grpc-gateway-corsdomain=* --grpc-max-msg-size=268435456 --p2p-tcp-port=13000 --p2p-udp-port=12000 --disab
le-monitoring --accept-terms-of-use

Geth Command:

/opt/ethmain/core/geth --config=/mnt/ethmain/conf/config.toml --rpc.gascap=0 --rpc.txfeecap=0

The version of Geth before we upgraded was 1.14.5,When I remove the --rpc.gascap=0 --rpc.txfeecap=0 parameter, the node responds normally, but the 0 value is unlimited in meaning ah!

@jwasinger
Copy link
Contributor

jwasinger commented Sep 19, 2024

I don't see "error fetching MaxDataSize from sequencer inbox" anywhere in the prysm codebase. Additionally, the rpc call you have provided doesn't make sense in the context of eth mainnet: it is a call from the zero address to an arbitrum contract.

Are you trying to run an Arbitrum node?

Edit: yes, the error looks to originate from arbitrum nitro which is meant to be coupled with Geth.

@jwasinger
Copy link
Contributor

I assume "the node responds normally" means that the eth_call succeeds which doesn't make sense to me. why would it succeed when the gas cap is set to the 50_000_000 default, and not when it is infinite... Maybe others will have more insight on this.

@YuXiaoCoder
Copy link
Author

Yes, I'm running arbitrum nitro.

@YuXiaoCoder
Copy link
Author

I found the bug, in the doCall method in internal/ethapi/api.go, it was previously setting AddGas as

gp := new(core.GasPool).AddGas(math.MaxUint64)

the new code changed to new(core.GasPool).AddGas(globalGasCap), if we set RPCGasCap(globalGasCap) to 0, we intended to set infinite If we set RPCGasCap(globalGasCap) to 0, it is meant to be infinite.

@YuXiaoCoder
Copy link
Author

This bug can be bypassed by changing the run command

/opt/ethmain/core/geth --config=/mnt/ethmain/conf/config.toml --rpc.gascap=9223372036854775807 --rpc.txfeecap=0

@cbfyi
Copy link

cbfyi commented Sep 19, 2024

Experiencing similar issues.

Assuming that is related to #27720

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
4 participants
@jwasinger @YuXiaoCoder @cbfyi and others