Skip to content

debug_storageRangeAt doesn't work #2420

@impactdni2

Description

@impactdni2

Describe the bug
The debug_storageRangeAt method doesn't work in the current implementation.

To Reproduce
Choose any block/address/start params, all of them fail from what I can tell.
curl https://your_node_here/ -X POST -H "Content-Type: application/json" --data '{"method":"debug_storageRangeAt","params":["0xd5a624c",0,"0xaf88d065e77c8cc2239327c5edb3a432268e5831","0x0000000000000000000000000000000000000000000000000000000000000001",1],"id":1,"jsonrpc":"2.0"}'

Expected behavior
I expect the API to provide the range of storage slots requested

Additional context
Stacktrace of the failure (v2.3.4)

github.com/ethereum/go-ethereum/rpc.(*callback).call.func1()
        /workspace/go-ethereum/rpc/service.go:207 +0x89
panic({0x40dbe00, 0x69e27a0})
        /usr/local/go/src/runtime/panic.go:884 +0x213
github.com/ethereum/go-ethereum/eth.(*EthAPIBackend).BlockByNumber(0x0, {0x4?, 0x0?}, 0x30?)
        /workspace/go-ethereum/eth/api_backend.go:146 +0x12d
github.com/ethereum/go-ethereum/eth.(*EthAPIBackend).BlockByNumberOrHash(0xc0dab16270?, {0x4fc1228?, 0xc0ff119f90?}, {0xc143ec4620, 0x0, 0x0})
        /workspace/go-ethereum/eth/api_backend.go:166 +0x315
github.com/ethereum/go-ethereum/eth.(*DebugAPI).StorageRangeAt(0xc015efc110, {0x4fc1228, 0xc0ff119f90}, {0xc143ec4620, 0x0, 0x0}, 0x4?, {0xaf, 0x88, 0xd0, ...}, ...)
        /workspace/go-ethereum/eth/api_debug.go:226 +0xbd
reflect.Value.call({0xc019d08800?, 0xc019d03890?, 0x7fd6b77573c8?}, {0x458c42b, 0x4}, {0xc0fdd5d6b0, 0x7, 0x0?})
        /usr/local/go/src/reflect/value.go:586 +0xb07
reflect.Value.Call({0xc019d08800?, 0xc019d03890?, 0x16?}, {0xc0fdd5d6b0?, 0x5?, 0x5?})
        /usr/local/go/src/reflect/value.go:370 +0xbc
github.com/ethereum/go-ethereum/rpc.(*callback).call(0xc019eee180, {0x4fc1228?, 0xc0ff119f90}, {0xc0fdd3baa0, 0x14}, {0xc0e9fc1b00, 0x5, 0x15e3497?})
        /workspace/go-ethereum/rpc/service.go:213 +0x3c5
github.com/ethereum/go-ethereum/rpc.(*handler).runMethod(0xc0f6ac7b90?, {0x4fc1228?, 0xc0ff119f90?}, 0xc0e5ce7b20, 0x5?, {0xc0e9fc1b00?, 0x155e28b?, 0x6f5df38?})
        /workspace/go-ethereum/rpc/handler.go:565 +0x45
github.com/ethereum/go-ethereum/rpc.(*handler).handleCall(0xc11392d540, 0xc0dab16180, 0xc0e5ce7b20)
        /workspace/go-ethereum/rpc/handler.go:512 +0x239
github.com/ethereum/go-ethereum/rpc.(*handler).handleCallMsg(0xc11392d540, 0xc0dab16210?, 0xc0e5ce7b20)
        /workspace/go-ethereum/rpc/handler.go:470 +0x237
github.com/ethereum/go-ethereum/rpc.(*handler).handleNonBatchCall(0xc11392d540, 0xc0dab16180, 0xc0e5ce7b20)
        /workspace/go-ethereum/rpc/handler.go:296 +0x1ae
github.com/ethereum/go-ethereum/rpc.(*handler).handleMsg.func1.1(0x4fc1228?)
        /workspace/go-ethereum/rpc/handler.go:269 +0x27
github.com/ethereum/go-ethereum/rpc.(*handler).startCallProc.func1()
        /workspace/go-ethereum/rpc/handler.go:387 +0xc5
created by github.com/ethereum/go-ethereum/rpc.(*handler).startCallProc
        /workspace/go-ethereum/rpc/handler.go:383 +0x8d

WARN [06-21|13:42:19.232] Served debug_storageRangeAt              conn=xxx.xxx.xxx.xxx:58866 reqid=1 duration="210.355µs" err="method handler crashed"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions