# # Lotus: node troubleshooting

This page offers some troubleshooting advice for Lotus nodes by listing some of the most common errors that users can come accross.

Have you successfully overcome other Lotus Node-related problems? Please contribute to this page by editing it with the link at the bottom!

# Build errors

Please check the build logs closely. If you have a dirty state in your git branch make sure to do something like:

git checkout <desired_branch>
git reset origin/<desired_branch> --hard
make clean

(or directly delete and clone the repository again as shown in the installation instructions.

# Slow builds/start from China

See the tips when running in China guide.

# Error: initializing node error: cbor input had wrong number of fields

This happens when you are starting Lotus which has been compiled for one network, but it encounters data in the Lotus data folder which is for a different network, or for an older incompatible version.

Solution: follow the instructions for switching networks closely.

# Error: Failed to connect bootstrap peer

WARN  peermgr peermgr/peermgr.go:131  failed to connect to bootstrap peer: failed to dial : all dials failed
  * [/ip4/] failed to negotiate security protocol: connected to wrong peer

Try running the build steps again and make sure that you have the latest code from GitHub.

# Error: other peer has different genesis!

ERROR hello hello/hello.go:81 other peer has different genesis!

Try reseting the Lotus data folder to a clean state.

# Error: repo is already locked

You already have another lotus daemon running. Stop it first (lotus daemon stop).

# Config: Open files limit

Lotus will attempt to set up the file descriptor (FD) limit automatically. If that does not work, you can still configure your system to allow higher than the default values.

The specific instructions depend on your system and how you are running Lotus (with systemd or not etc). Please use a search engine to find instructions (opens new window) as there are plenty of very good guides.

# Error: Routing: not found

WARN  main  lotus/main.go:72  routing: not found

This error means that the miner you are trying to talk to is offline.

# Signal killed

If you get a signal killed error, it could indcate that there was an error during the build process.

/usr/local/go/pkg/tool/linux_amd64/link: signal: killed
make: *** [Makefile:68: lotus] Error 1

Double check that your computer meets the minimum hardware requirements for Lotus.

# Go command not found

You may encounter an error saying that the go command was not found:

sudo make install

> bash: go: command not found
> expr: syntax error: unexpected argument '14'
> install -C ./lotus /usr/local/bin/lotus
> install -C ./lotus-miner /usr/local/bin/lotus-miner
> install -C ./lotus-worker /usr/local/bin/lotus-worker
> ...

You can ignore this error during the sudo make install step; it does not affect the install.

# chain linked to block marked previously as bad

This may appear if Lotus is following a bad fork. The solution is to:

  • unmark all bad blocks
  • reset the head to a known good epoch
lotus sync unmark-bad --all
lotus chain sethead --epoch <epochNumber>