Skip to content

debug_traceBlockByHash in parallel -> "Empty reply from server" #22915

Closed
@vikstrous2

Description

@vikstrous2

System information

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

Expected behaviour

Geth gracefully traces the same block in parallel or blocks one of the trace requests and sequentially traces the same block.

Actual behaviour

Geth returns nothing (not even hearders) when tracing the same block in parallel

Steps to reproduce the behaviour

  1. Run a mainnet node in gc archive mode.
  2. Trace the same block twice in parallel from two terminals. Example command:

curl http://localhost:8545 -d '{"jsonrpc": "2.0", "id": "3", "method": "debug_traceBlockByHash", "params": ["0x34990bd2e00b5cba332051402675e4c19793851d7c26436751b1572bac951bf3", {"disableMemory":true, "disableStack":true, "disableStorage":true, "fullStorage":false, "timeout":"120s", "tracer": "callTracer"}]}' -H 'Content-type: application/json' -v | wc

* Expire in 0 ms for 6 (transfer 0x559b74672fb0)
* Expire in 1 ms for 1 (transfer 0x559b74672fb0)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Expire in 0 ms for 1 (transfer 0x559b74672fb0)
* Expire in 1 ms for 1 (transfer 0x559b74672fb0)
* Expire in 0 ms for 1 (transfer 0x559b74672fb0)
* Expire in 0 ms for 1 (transfer 0x559b74672fb0)
* Expire in 1 ms for 1 (transfer 0x559b74672fb0)
* Expire in 0 ms for 1 (transfer 0x559b74672fb0)
* Expire in 0 ms for 1 (transfer 0x559b74672fb0)
* Expire in 0 ms for 1 (transfer 0x559b74672fb0)
*   Trying ::1...
* TCP_NODELAY set
* Expire in 150000 ms for 3 (transfer 0x559b74672fb0)
* Expire in 200 ms for 4 (transfer 0x559b74672fb0)
* Connected to localhost (::1) port 8545 (#0)
> POST / HTTP/1.1
> Host: localhost:8545
> User-Agent: curl/7.64.0
> Accept: */*
> Content-type: application/json
> Content-Length: 278
>
} [278 bytes data]
* upload completely sent off: 278 out of 278 bytes
100   278    0     0  100   278      0      8  0:00:34  0:00:31  0:00:03     0* Empty reply from server
100   278    0     0  100   278      0      8  0:00:34  0:00:31  0:00:03     0
* Connection #0 to host localhost left intact
curl: (52) Empty reply from server
      0       0       0

Backtrace

n/a

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions