planetmint/docs/root/source/troubleshooting.md
Jürgen Eckel 4ffd8ca9df
31 restructue documentation (#138)
* removed korean documentation

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* removed CN and KOR readme

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* changed to the press theme

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* first changes

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* fixe H3 vs H1 issues

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* added missing png

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* added missing file

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* fixed warnings

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* moved documents

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* removed obsolete files

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* removed obsolete folder

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* removed obs. file

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* added some final changes

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>

* removed obs. reference

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2022-06-09 15:00:11 +02:00

4.4 KiB

Troubleshooting

General Tips

  • Check the Planetmint, Tendermint and MongoDB logs. For help with that, see the page about Logging and Log Rotation.
  • Try Googling the error message.

Tendermint Tips

See the Tendermint tips in the vrde/notes repository.

Resolving Tendermint Connectivity Problems

To check which nodes your node is connected to (via Tendermint protocols), do:

# if you don't have jq installed, then install it
sudo apt install jq
# then do
curl -s localhost:26657/net_info | jq ".result.peers[].node_info | {id, listen_addr, moniker}"

Note: Tendermint has other endpoints besides /net_info: see the Tendermint RPC docs.

If you're running your network inside a private network, e.g. with IP addresses of the form 192.168.x.y, then you may have to change the following setting in config.toml:

addr_book_strict = false

Refreshing Your Node

If you want to refresh your node back to a fresh empty state, then your best bet is to terminate it and deploy a new machine, but if that's not an option, then you can:

  • drop the planetmint database in MongoDB using planetmint drop (but that only works if MongoDB is running)
  • reset Tendermint using tendermint unsafe_reset_all
  • delete the directory $HOME/.tendermint

Shutting Down Planetmint

If you want to stop/kill Planetmint, you can do so by sending SIGINT, SIGQUIT or SIGTERM to the running Planetmint process(es). Depending on how you started Planetmint i.e. foreground or background. e.g. you started Planetmint in the background as mentioned above in the guide:

$ nohup planetmint start 2>&1 > planetmint.log &

$ # Check the PID of the main Planetmint process
$ ps -ef | grep planetmint
<user>    *<pid> <ppid>   <C> <STIME> <tty>        <time> planetmint
<user>     <pid> <ppid>*  <C> <STIME> <tty>        <time> gunicorn: master [planetmint_gunicorn]
<user>     <pid> <ppid>*  <C> <STIME> <tty>        <time> planetmint_ws
<user>     <pid> <ppid>*  <C> <STIME> <tty>        <time> planetmint_ws_to_tendermint
<user>     <pid> <ppid>*  <C> <STIME> <tty>        <time> planetmint_exchange
<user>     <pid> <ppid>   <C> <STIME> <tty>        <time> gunicorn: worker [planetmint_gunicorn]
<user>     <pid> <ppid>   <C> <STIME> <tty>        <time> gunicorn: worker [planetmint_gunicorn]
<user>     <pid> <ppid>   <C> <STIME> <tty>        <time> gunicorn: worker [planetmint_gunicorn]
<user>     <pid> <ppid>   <C> <STIME> <tty>        <time> gunicorn: worker [planetmint_gunicorn]
<user>     <pid> <ppid>   <C> <STIME> <tty>        <time> gunicorn: worker [planetmint_gunicorn]
...

$ # Send any of the above mentioned signals to the parent/root process(marked with `*` for clarity)
# Sending SIGINT
$ kill -2 <planetmint_parent_pid>

$ # OR

# Sending SIGTERM
$ kill -15 <planetmint_parent_pid>

$ # OR

# Sending SIGQUIT
$ kill -3 <planetmint_parent_pid>

# If you want to kill all the processes by name yourself
$ pgrep planetmint | xargs kill -9

If you started Planetmint in the foreground, a Ctrl + C or Ctrl + Z would shut down Planetmint.

Member: Dynamically Add or Remove Validators

One member can make a proposal to call an election to add a validator, remove a validator, or change the voting power of a validator. They then share the election/proposal ID with all the other members. Once more than 2/3 of the voting power votes yes, the proposed change comes into effect. The commands to create a new election/proposal, to approve an election/proposal, and to get the current status of an election/proposal can be found in the documentation about the planetmint election subcommands.

Logging

See the page in the Appendices about logging and log rotation.

Other Problems

If you're stuck, maybe file a new issue on GitHub. If your problem occurs often enough, we'll write about it here.