OffchainLabs / nitro

Nitro goes vroom and fixes everything
Other
739 stars 431 forks source link

Testnet Node struck at 1126522 #1419

Closed ghost closed 10 months ago

ghost commented 1 year ago

I am trying to run the arbitrum testnet, but its struck at lastLocalNodeHeight: 1126522. Tried to re-sync from scratch and it stack again at the same block.

{"level":30,"time":1673007737818,"pid":1,"hostname":"arbitrum-goerli-0","lastLocalNodeHeight":1126522,"lastRemoteNodeHeight":4068580,"currentDiff":2942058,"diffThreshold":100,"msg":"[localVsRemote]: failing a health-check as node is behind"}

Command Used

                "nitro \
                  --l1.url='http://localhost:8545' \
                  --l2.chain-id=421613 \
                  --http.api=net,web3,eth,debug \
                  --http.corsdomain=* \
                  --http.addr=0.0.0.0 \
                  --http.vhosts=*"
gzeoneth commented 1 year ago

Your L1 node might be behind.

ghost commented 1 year ago
  1. How do I confirm that l1 is behind ?
  2. If suppose l1 is behind, what steps should be taken to mitigate this ?
PlasmaPower commented 1 year ago

Logs from the nitro node would indicate the issue. If it says "Latest L1 block is old" then your L1 node is behind, and you need to troubleshoot that instead.

ManInWeb3 commented 1 year ago

I'm working with TS on the same node.

The L1 node is 100% synced, THe node's log: image

PlasmaPower commented 1 year ago

The L1 node seems to be returning "not found", indicating it's missing data about a batch. Was the L1 node fast or snap synced? It needs to be full synced to have the necessary data I believe. You could try using a tool like mitmproxy to see what requests to the L1 are returning "not found", or try using another L1 RPC.

ManInWeb3 commented 1 year ago

the L1 node is ethereum goerli archival It run on erigon, I don't see a flag to change syncing mode on it

L1 node looks healthy, no issues I can see

One weird thing I spotted on the L1 node it has such messages in its log:

invalid argument 1: at least one of BlockNumber or BlockHash is needed if a dictionary is provided

and the line has IP address of the arbitrum node, so it's caused by the nitro call

joshuacolvin0 commented 10 months ago

This is an old issue, same problem likely does not exist anymore.