Skip to content

l2geth is not syncing although currentTransactionIndex is increasing #2644

@huahuayu

Description

@huahuayu

Env

versoin: @eth-optimism/sdk@1.1.5

Script to run

#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
set -x

SRC_DIR=$HOME
VERSION=@eth-optimism/sdk@1.1.2
ETH_RPC=http://192.168.2.36:54102
DATA_DIR=/data/optimism

mkdir -p $DATA_DIR/dtl/db
mkdir -p $DATA_DIR/l2geth/geth
cd $SRC_DIR
if [[ -e $SRC_DIR/optimism ]]
then
    cd $SRC_DIR/optimism
    git reset --hard
    git fetch --all
    git checkout tags/$VERSION 1>/dev/null
else
    git clone https://github.com/ethereum-optimism/optimism.git
    git checkout tags/$VERSION 1>/dev/null
fi
cd $SRC_DIR/optimism/infra/op-replica/docker-compose/
cp default-mainnet.env .env
sed -i "s|WONT_WORK_UNLESS_YOU_PROVIDE_A_VALID_ETHEREUM_L1_ENDPOINT|$ETH_RPC|" .env
sed -i 's|COMPOSE_FILE=replica.yml:replica-shared.yml:replica-toml.yml|COMPOSE_FILE=replica.yml:replica-shared.yml:replica-toml.yml:replica-volume.yml|' .env
cat > replica-volume.yml <<EOF
---
version: "3.4"
x-logging: &logging
  logging:
    driver: json-file
    options:
      max-size: 10m
      max-file: "3"

services:
  data-transport-layer:
    volumes:
      - $DATA_DIR/dtl/db:/db
  l2geth-replica:
    volumes:
      - $DATA_DIR/l2geth/geth:/geth
EOF

sudo docker-compose up -d

Docker containers

CONTAINER ID   IMAGE                                          COMMAND                  CREATED          STATUS                         PORTS                                                                                            NAMES
8b2f4c1396f8   ethereumoptimism/data-transport-layer:0.5.20   "node dist/src/servi…"   18 minutes ago   Up 18 minutes                  0.0.0.0:7878->7878/tcp, :::7878->7878/tcp                                                        op-replica-data-transport-layer-1
ca5e428eb426   ethereumoptimism/l2geth:0.5.12                 "/bin/sh -c '/script…"   18 minutes ago   Up 18 minutes                  8547/tcp, 0.0.0.0:9991->8545/tcp, :::9991->8545/tcp, 0.0.0.0:9992->8546/tcp, :::9992->8546/tcp   op-replica-l2geth-replica-1
d715ab2ed2ef   ethereumoptimism/replica-healthcheck:0.3.11    "node dist/exec/run-…"   18 minutes ago   Restarting (1) 6 seconds ago                                                                                                    op-replica-replica-healthcheck-1

Issue1

Healthcheck container keep restarting.

Container logs:

{"level":30,"time":1654089054673,"msg":"Listening on port 3000"}
Error: bad response (status=400, headers={"date":"Wed, 01 Jun 2022 13:10:54 GMT","content-type":"application/json","content-length":"92","connection":"close","vary":"Origin","x-proxyd-cache-status":"MISS","via":"1.1 google","cf-cache-status":"DYNAMIC","expect-ct":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\"","server":"cloudflare","cf-ray":"71483130dd2a5cd7-IAD"}, body="{\"jsonrpc\":\"2.0\",\"error\":{\"code\":-32601,\"message\":\"unsupported archive request\"},\"id\":null}\n", requestBody="{\"method\":\"eth_getBlockByNumber\",\"params\":[\"0x63a3f2\",false],\"id\":42,\"jsonrpc\":\"2.0\"}", requestMethod="POST", url="https://mainnet.optimism.io", code=SERVER_ERROR, version=web/5.5.1)
    at Logger.makeError (/opt/optimism/node_modules/@ethersproject/providers/node_modules/@ethersproject/logger/lib/index.js:199:21)
    at Logger.throwError (/opt/optimism/node_modules/@ethersproject/providers/node_modules/@ethersproject/logger/lib/index.js:208:20)
    at /opt/optimism/node_modules/@ethersproject/providers/node_modules/@ethersproject/web/lib/index.js:263:36
    at step (/opt/optimism/node_modules/@ethersproject/providers/node_modules/@ethersproject/web/lib/index.js:33:23)
    at Object.next (/opt/optimism/node_modules/@ethersproject/providers/node_modules/@ethersproject/web/lib/index.js:14:53)
    at fulfilled (/opt/optimism/node_modules/@ethersproject/providers/node_modules/@ethersproject/web/lib/index.js:5:58)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  reason: 'bad response',
  code: 'SERVER_ERROR',
  status: 400,
  headers: {
    date: 'Wed, 01 Jun 2022 13:10:54 GMT',
    'content-type': 'application/json',
    'content-length': '92',
    connection: 'close',
    vary: 'Origin',
    'x-proxyd-cache-status': 'MISS',
    via: '1.1 google',
    'cf-cache-status': 'DYNAMIC',
    'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
    server: 'cloudflare',
    'cf-ray': '71483130dd2a5cd7-IAD'
  },
  body: '{"jsonrpc":"2.0","error":{"code":-32601,"message":"unsupported archive request"},"id":null}\n',
  requestBody: '{"method":"eth_getBlockByNumber","params":["0x63a3f2",false],"id":42,"jsonrpc":"2.0"}',
  requestMethod: 'POST',
  url: 'https://mainnet.optimism.io'
}

Issue2

It looks like L2 block is syncing:

$ curl -s http://localhost:7878/eth/syncing?backend=l2
{"syncing":false,"currentTransactionIndex":9987885}
$ curl -s http://localhost:7878/eth/syncing?backend=l2
{"syncing":false,"currentTransactionIndex":9987899}

But inside ethereumoptimism/l2geth container, blockNumber don't increase:

sudo docker exec -it $(sudo docker ps | grep ethereumoptimism/l2geth | awk '{print $1}') sh -c 'geth attach /geth/geth.ipc'
> eth.blockNumber
6530034
> eth.blockNumber
6530034
> eth.syncing
false

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