Skip to content

Tendermint starts with inconsistent genesis.json #2815

@srmo

Description

@srmo

Tendermint version (use tendermint version or git rev-parse --verify HEAD if installed from source): 0.26.1

ABCI app (name for built-in, URL for self-written if it's publicly available): private

Environment:

  • OS (e.g. from /etc/os-release): linux / Linux test2 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux
  • Install tools: ansible
  • Others: 3 nodes, 2 validators. create_empty_blocks=false

What happened:
Starting a fresh chain, using a genesis file coming from 0.22.8. Migrated the "consensus_param" section.
Tendermint starts and builds first empty block. Then logs errors

2018-11-12_15:37:28.75853 E[12116-11-12|15:37:28.758] Peer sent us invalid msg                     module=consensus peer="Peer{MConn{192.168.55.12:38432} ec325039be4a8997c5e1c740870d7f0c29b16cca in}" msg="[HEARTBEAT Heartbeat{-1:7C31F891F553 2/00 (293) /215B9D2937A8.../}]" err="Negative ValidatorIndex"

Looking at the tendermint code, it is assumed that this happens because the genesis.json has no "address" field for any validator.

What you expected to happen:
Tendermint should either not start because the address field is missing or not throw errors.

Have you tried the latest version: yes/no
latest release

How to reproduce it (as minimally and precisely as possible):
init 0.26.1 and remove address field from genesis

Logs (paste a small part showing an error (< 10 lines) or link a pastebin, gist, etc. containing more of the log file):

Metadata

Metadata

Assignees

No one assigned

    Labels

    T:bugType Bug (Confirmed)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions