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

RPC method eth_createAccessList crashed #23150

Closed
pinkiebell opened this issue Jul 2, 2021 · 4 comments
Closed

RPC method eth_createAccessList crashed #23150

pinkiebell opened this issue Jul 2, 2021 · 4 comments
Labels

Comments

@pinkiebell
Copy link
Contributor

System information

Geth version: v1.10.4
OS & Version: Linux
Commit hash : (if develop)

Steps to reproduce the behaviour

  1. Clone https://github.com/NutBerry/NutBerry
  2. Activate london:
diff --git a/scripts/genesis.json b/scripts/genesis.json
index 7216652..0751595 100644
--- a/scripts/genesis.json
+++ b/scripts/genesis.json
@@ -12,6 +12,7 @@
     "istanbulBlock": 0,
     "muirGlacierBlock": 0,
     "berlinBlock": 0,
+    "londonBlock": 0,
     "clique": {
       "period": 0,
       "epoch": 30000
  1. bootstrap
    docker-compose up --no-deps dev
  2. Enter dev env
    ./scripts/dev.sh
  3. Run the test directly where the issue happes
    yarn _test src/v1/test/bench.test.js
    watch geth at the same time:
    docker-compose logs -f --tail 100 geth

Backtrace

geth_1  | INFO [07-02|04:09:20.129] Commit new mining work                   number=154 sealhash=7d8579..ef9b54 uncles=0 txs=0 gas=0         fees=0               elapsed=3.766ms
geth_1  | INFO [07-02|04:09:20.131] Sealing paused, waiting for transactions 
geth_1  | ERROR[07-02|04:09:20.265] RPC method eth_createAccessList crashed: runtime error: invalid memory address or nil pointer dereference
geth_1  | goroutine 15581 [running]:
geth_1  | github.com/ethereum/go-ethereum/rpc.(*callback).call.func1(0xc0065ef0e0, 0x14, 0xc000233d58)
geth_1  | 	github.com/ethereum/go-ethereum/rpc/service.go:200 +0xbd
geth_1  | panic(0x11e17a0, 0x1c3f060)
geth_1  | 	runtime/panic.go:965 +0x1b9
geth_1  | math/big.(*Int).BitLen(...)
geth_1  | 	math/big/int.go:473
geth_1  | github.com/ethereum/go-ethereum/core.(*StateTransition).preCheck(0xc00383db80, 0x0, 0x0)
geth_1  | 	github.com/ethereum/go-ethereum/core/state_transition.go:226 +0xed
geth_1  | github.com/ethereum/go-ethereum/core.(*StateTransition).TransitionDb(0xc00383db80, 0x15aa5e0, 0xc006495170, 0xc003b988f8)
geth_1  | 	github.com/ethereum/go-ethereum/core/state_transition.go:274 +0x45
geth_1  | github.com/ethereum/go-ethereum/core.ApplyMessage(0xc003a58a80, 0x15aa5e0, 0xc006495170, 0xc003b988f8, 0xc0064950e0, 0xc00397d860, 0xc007fa9680)
geth_1  | 	github.com/ethereum/go-ethereum/core/state_transition.go:178 +0x57
geth_1  | github.com/ethereum/go-ethereum/internal/ethapi.AccessList(0x159bab8, 0xc0014bd840, 0x15b5038, 0xc000541170, 0xc003b98878, 0x0, 0x1218400, 0xc0065ef0f8, 0xc0065ef110, 0xc003b98850, ...)
geth_1  | 	github.com/ethereum/go-ethereum/internal/ethapi/api.go:1395 +0x9ef
geth_1  | github.com/ethereum/go-ethereum/internal/ethapi.(*PublicBlockChainAPI).CreateAccessList(0xc000161430, 0x159bab8, 0xc0014bd840, 0xc0065ef0f8, 0xc0065ef110, 0xc003b98850, 0xc004d73e00, 0x0, 0x0, 0x0, ...)
geth_1  | 	github.com/ethereum/go-ethereum/internal/ethapi/api.go:1328 +0x138
geth_1  | reflect.Value.call(0xc00024d300, 0xc0009961f0, 0x13, 0x1368d34, 0x4, 0xc003d00d20, 0x4, 0x4, 0xc003d00d50, 0xc004a026f0, ...)
geth_1  | 	reflect/value.go:476 +0x8e7
geth_1  | reflect.Value.Call(0xc00024d300, 0xc0009961f0, 0x13, 0xc003d00d20, 0x4, 0x4, 0x0, 0x0, 0xc0014bd880)
geth_1  | 	reflect/value.go:337 +0xb9
geth_1  | github.com/ethereum/go-ethereum/rpc.(*callback).call(0xc00099c7e0, 0x159bab8, 0xc0014bd840, 0xc0065ef0e0, 0x14, 0xc004a026f0, 0x2, 0x2, 0x0, 0x0, ...)
geth_1  | 	github.com/ethereum/go-ethereum/rpc/service.go:206 +0x2c5
geth_1  | github.com/ethereum/go-ethereum/rpc.(*handler).runMethod(0xc006494fc0, 0x159bab8, 0xc0014bd840, 0xc002a21730, 0xc00099c7e0, 0xc004a026f0, 0x2, 0x2, 0x2)
geth_1  | 	github.com/ethereum/go-ethereum/rpc/handler.go:389 +0x8a
geth_1  | github.com/ethereum/go-ethereum/rpc.(*handler).handleCall(0xc006494fc0, 0xc004a02690, 0xc002a21730, 0x203001)
geth_1  | 	github.com/ethereum/go-ethereum/rpc/handler.go:337 +0x265
geth_1  | github.com/ethereum/go-ethereum/rpc.(*handler).handleCallMsg(0xc006494fc0, 0xc004a02690, 0xc002a21730, 0x158db01)
geth_1  | 	github.com/ethereum/go-ethereum/rpc/handler.go:298 +0x1be
geth_1  | github.com/ethereum/go-ethereum/rpc.(*handler).handleMsg.func1(0xc004a02690)
geth_1  | 	github.com/ethereum/go-ethereum/rpc/handler.go:139 +0x46
geth_1  | github.com/ethereum/go-ethereum/rpc.(*handler).startCallProc.func1(0xc006494fc0, 0xc00372f458)
geth_1  | 	github.com/ethereum/go-ethereum/rpc/handler.go:226 +0xd2
geth_1  | created by github.com/ethereum/go-ethereum/rpc.(*handler).startCallProc
geth_1  | 	github.com/ethereum/go-ethereum/rpc/handler.go:222 +0x66
geth_1  |  
geth_1  | WARN [07-02|04:09:20.265] Served eth_createAccessList              conn=192.168.112.3:52722 reqid=1 t="764.902��s" err="method handler crashed"

Notes

This does only happen if the london fork block is activated.

@gballet
Copy link
Member

gballet commented Jul 6, 2021

@jwasinger is going to have a look at this.

@gballet
Copy link
Member

gballet commented Jul 6, 2021

@pinkiebell what was the RPC command that you sent?

@MariusVanDerWijden
Copy link
Member

This should already be fixed by #23133

@pinkiebell
Copy link
Contributor Author

Crash doesn't happen anymore with latest build @ d21a069 🙌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants