As on gaia-7000 try 1.
Should be addressed in https://github.com/cosmos/cosmos-sdk/pull/1373.
Care to summarize what happened on try 1?
We didn't actually fault on gaia-7000 because of this (we instead faulted due to a duplicate validator accidentally in the genesis file), but I think we would have. With the current way of reading genesis, the SDK will pick the top hundred candidates as validators, but won't update Tendermint on the first block - so Tendermint had 107 validators. Eventually, a validator that was bonded in Tendermint but not bonded in the SDK might be slashed, or in some other way behave in an undefined manner since the SDK thought the validator was unbonded but it was actually bonded (and voting) in Tendermint.
Oh interesting yeah makes sense. Currently on the SDK side, we "bond" the top 100 at genesis, so those valid bonded validators will exist in the staking TendermintUpdates we just need to make sure we pass back the Tendermint updates from staking into ResponseInitChain
Chris to add testcase for > 100 genesis validators.
This has since been done - https://github.com/cosmos/cosmos-sdk/blob/develop/x/stake/genesis_test.go#L64.
Most helpful comment
Chris to add testcase for > 100 genesis validators.