Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(website): add node troubleshooting #14277

Merged
merged 1 commit into from
Jul 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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>