Skip to content

Commit

Permalink
feat(website): add node troubleshooting (#14277)
Browse files Browse the repository at this point in the history
  • Loading branch information
d1onys1us committed Jul 25, 2023
1 parent fd62ce9 commit 48ce89e
Show file tree
Hide file tree
Showing 3 changed files with 130 additions and 126 deletions.
127 changes: 3 additions & 124 deletions packages/website/pages/docs/guides/run-a-node/run-a-taiko-node.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { Callout, Steps, Tab, Tabs } from "nextra-theme-docs";
import NodeTroubleshooting from "../../reference/node-troubleshooting.mdx";

# Run a Taiko node

Expand Down Expand Up @@ -240,7 +241,7 @@ docker compose logs -f l2_execution_engine
#### View all L3 logs

```sh
docker compose -f docker-compose.l3.yml logs -f
docker compose -f docker-compose.l3.yml logs -f
```

#### View the L3 proposer image's logs
Expand Down Expand Up @@ -287,126 +288,4 @@ You can visit it at [http://localhost:3000/d/L2ExecutionEngine/l2-execution-engi

## Troubleshooting

### Node warning logs

You can ignore any WARN logs.

### Node error logs

#### `error: "failed to insert new head to L2 execution engine: missing trie node"`

Make sure that your RPC is pointing to an Sepolia archive node, and not a full node.

#### `error: "daily request count exceeded, request rate limited"`

Your RPC provider has a limit on the number of requests. You can try using a different provider that offers higher limits.

#### `error: L1_BLOCK_ID`

The block that you want to prove has already been verified, you can ignore this.

#### `error: L1_ALREADY_PROVEN`

This block has been proven by someone else, but it's not verified yet, you can ignore it.

#### `Fatal: Failed to register the Ethereum service: database contains incompatible genesis`

Try to remove the node with `docker compose down -v` and then try again.

#### `Unhandled trie error: missing trie node`

You can ignore this error, it doesn't affect you and goes away after a while.

#### `Block batch iterator callback error; error="failed to fetch L2 parent block: not found`

You can ignore this error.

#### `Error starting ...: listen tcp4 0.0.0.0:{port} bind: address already in use`

The port is already in use by another service. You can either shut down the other program or change the port in the .env file.

#### `error parsing HTTP 403 response body: invalid character '<' looking for beginning of value`

Your IP address is being geo-blocked due to sanctions lists. If you're affected, try changing hosting locations or utilize a VPN to change your IP address.

#### `ERROR: The Compose file './docker-compose.yml' is invalid because: Unsupported config option for some_service 'pull_policy'`

Your docker installation is out of date. You need to update your docker compose installation: https://docs.docker.com/compose/install/.

#### `daemon docker is not running` <br></br> `Cannot connect to the Docker daemon`

Need to start the Docker before running the commands.

#### `database contains incompatible genesis`

If you ran an alpha-1 testnet node make sure to first run a docker compose down -v to remove the old volumes.

#### `Bind for 0.0.0.0:port` failed: port already allocated

This error just means that the port taiko-node is trying to allocate is already being used by either some other node you're running
or by a left-over container of taiko node if you did not close down the node correctly, you can try running `docker compose down` in the simple-taiko-node folder and start it again using `docker compose up -d`
or edit the `.env` and replace the problematic port with a different one.

#### `Failed to fetch L1Origin from L2 execution engine <br></br> err="not found"`

This seems to be a common issue if you're using Alchemy endpoints, switching to Infura should fix this issue.

#### `no configuration file provided: not found`

You are in the wrong directory, `cd simple-taiko-node` and run the command again.

#### `unknown shorthand flag: 'd' in -d`

You are using v1 of docker-compose, use the command: `docker-compose up -d` instead of `docker compose up -d`, I highly recommend that you upgrade to the v2 of docker compose plugin [Installation Guide](https://docs.docker.com/compose/install/linux/)

#### `docker: 'compose' is not a docker command`

You are missing the docker compose plugin [Installation Guide](https://docs.docker.com/compose/install/linux/)

#### `taiko_client_prover_relayer not printing any logs`

There could be several reasons, you can check the logs `docker compose logs -f` to make sure there are no errors but one of the most common cause for this is a typo in the `.env` file
`ENABLE_PROVER=True/TRUE` when setting this to true `true` has to be in all lowercase or the script to start relayer won't run.

#### `simple-taiko-node-taiko_client_prover_relayer-1 | /bin/sh: /script/start-prover-relayer.sh: not found`

This issue occurs on windows because of the Control Characters in this case the Line Endings, a quick fix would be to delete the node folder, run this `git config --global core.autocrlf false` in the shell, then clone the repo again.

If you do not want to delete the node folder, please follow one of these steps below.

#### `no contract code at given address`

When running a L3 node, users may run into this issue if their underlying L2 is still syncing. Please wait until your L2 is fully synced before starting your L3 node.

{" "}

<Tabs items={["Command line", "Notepad"]} defaultIndex="0">
<Tab>

```sh
docker compose down -v
cd scripts
dos2unix start-zkevm-chain-rpcd.sh
dos2unix start-prover-relayer.sh
cd ..
docker compose up
```

</Tab>
<Tab>

1. Open Notepad++
2. Go to: File -> Open -> Locate `start-prover-relayer.sh` file and open it
3. Go to: Edit -> EOL Conversion -> Unix
4. Go to: File -> Save
5. Close the file
6. Do the same for `start-zkevm-chain-rpcd.sh`
7. Then go back to command line and do:

```sh
docker compose down -v
docker compose up
```

</Tab>
</Tabs>
<NodeTroubleshooting />
4 changes: 2 additions & 2 deletions packages/website/pages/docs/reference/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"rpc-configuration": {
"title": "RPC configuration"
},
"contract-documentation": {
"display": "hidden"
"node-troubleshooting": {
"title": "Node troubleshooting"
}
}
125 changes: 125 additions & 0 deletions packages/website/pages/docs/reference/node-troubleshooting.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
import { Callout, Steps, Tab, Tabs } from "nextra-theme-docs";

### Node warning logs

You can ignore any WARN logs.

### Node error logs

#### `error: "failed to insert new head to L2 execution engine: missing trie node"`

Make sure that your RPC is pointing to an Sepolia archive node, and not a full node.

#### `error: "daily request count exceeded, request rate limited"`

Your RPC provider has a limit on the number of requests. You can try using a different provider that offers higher limits.

#### `error: L1_BLOCK_ID`

The block that you want to prove has already been verified, you can ignore this.

#### `error: L1_ALREADY_PROVEN`

This block has been proven by someone else, but it's not verified yet, you can ignore it.

#### `Fatal: Failed to register the Ethereum service: database contains incompatible genesis`

Try to remove the node with `docker compose down -v` and then try again.

#### `Unhandled trie error: missing trie node`

You can ignore this error, it doesn't affect you and goes away after a while.

#### `Block batch iterator callback error; error="failed to fetch L2 parent block: not found`

You can ignore this error.

#### `Error starting ...: listen tcp4 0.0.0.0:{port} bind: address already in use`

The port is already in use by another service. You can either shut down the other program or change the port in the .env file.

#### `error parsing HTTP 403 response body: invalid character '<' looking for beginning of value`

Your IP address is being geo-blocked due to sanctions lists. If you're affected, try changing hosting locations or utilize a VPN to change your IP address.

#### `ERROR: The Compose file './docker-compose.yml' is invalid because: Unsupported config option for some_service 'pull_policy'`

Your docker installation is out of date. You need to update your docker compose installation: https://docs.docker.com/compose/install/.

#### `daemon docker is not running` <br></br> `Cannot connect to the Docker daemon`

Need to start the Docker before running the commands.

#### `database contains incompatible genesis`

If you ran an alpha-1 testnet node make sure to first run a docker compose down -v to remove the old volumes.

#### `Bind for 0.0.0.0:port` failed: port already allocated

This error just means that the port taiko-node is trying to allocate is already being used by either some other node you're running
or by a left-over container of taiko node if you did not close down the node correctly, you can try running `docker compose down` in the simple-taiko-node folder and start it again using `docker compose up -d`
or edit the `.env` and replace the problematic port with a different one.

#### `Failed to fetch L1Origin from L2 execution engine <br></br> err="not found"`

This seems to be a common issue if you're using Alchemy endpoints, switching to Infura should fix this issue.

#### `no configuration file provided: not found`

You are in the wrong directory, `cd simple-taiko-node` and run the command again.

#### `unknown shorthand flag: 'd' in -d`

You are using v1 of docker-compose, use the command: `docker-compose up -d` instead of `docker compose up -d`, I highly recommend that you upgrade to the v2 of docker compose plugin [Installation Guide](https://docs.docker.com/compose/install/linux/)

#### `docker: 'compose' is not a docker command`

You are missing the docker compose plugin [Installation Guide](https://docs.docker.com/compose/install/linux/)

#### `taiko_client_prover_relayer not printing any logs`

There could be several reasons, you can check the logs `docker compose logs -f` to make sure there are no errors but one of the most common cause for this is a typo in the `.env` file
`ENABLE_PROVER=True/TRUE` when setting this to true `true` has to be in all lowercase or the script to start relayer won't run.

#### `simple-taiko-node-taiko_client_prover_relayer-1 | /bin/sh: /script/start-prover-relayer.sh: not found`

This issue occurs on windows because of the Control Characters in this case the Line Endings, a quick fix would be to delete the node folder, run this `git config --global core.autocrlf false` in the shell, then clone the repo again.

If you do not want to delete the node folder, please follow one of these steps below.

#### `no contract code at given address`

When running a L3 node, users may run into this issue if their underlying L2 is still syncing. Please wait until your L2 is fully synced before starting your L3 node.

{" "}

<Tabs items={["Command line", "Notepad"]} defaultIndex="0">
<Tab>

```sh
docker compose down -v
cd scripts
dos2unix start-zkevm-chain-rpcd.sh
dos2unix start-prover-relayer.sh
cd ..
docker compose up
```

</Tab>
<Tab>

1. Open Notepad++
2. Go to: File -> Open -> Locate `start-prover-relayer.sh` file and open it
3. Go to: Edit -> EOL Conversion -> Unix
4. Go to: File -> Save
5. Close the file
6. Do the same for `start-zkevm-chain-rpcd.sh`
7. Then go back to command line and do:

```sh
docker compose down -v
docker compose up
```

</Tab>
</Tabs>

0 comments on commit 48ce89e

Please sign in to comment.