-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Description
BUG REPORT
Tendermint version :: 0.8.0
ABCI app :: self-written, not publicly available
Essentially, this is a Java app similar to the Go Counter app. In the context of the error, what it does is the following:
- Stores the received
hashvalue received in callbackrequestBeginBlock - Stores the received
heightvalue received in callbackrequestEndBlock - Returns those two stored values via callback
requestInfo
Merkleeyes version :: n/a
Environment
- OS :: Any
- Install tools :: Tendermint from source
What happened
I'm running tendermint node. After killing the process and starting it again, I'm seeing the following error. I assume this is a defect as appHeight and storeHeight are identical.
NOTE[02-17|18:49:08] ABCI Handshake module=state appHeight=7 appHash=51FBECC7C1F24D2326CA74241C0374A7C132695D NOTE[02-17|18:49:08] ABCI Replay Blocks module=state appHeight=7 storeHeight=7 stateHeight=7 panic: Paniced on a Sanity Check: State mismatch for LastBlockHeight. Got 7, Expected 8
goroutine 1 [running]: panic(0x9b4320, 0xc042140cf0) C:/opt/go/src/runtime/panic.go:500 +0x1af github.com/tendermint/tendermint/vendor/github.com/tendermint/go-common.PanicSanity(0x9b4320, 0xc042140cd0) C:/home/projects/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-common/errors.go:26 +0xe7 github.com/tendermint/tendermint/state.(*State).LoadIntermediate(0xc0420da0b0) C:/home/projects/go/src/github.com/tendermint/tendermint/state/state.go:100 +0xa33 github.com/tendermint/tendermint/state.(*Handshaker).ReplayBlocks(0xc04213cd20, 0xc042008860, 0x14, 0x14, 0x7, 0xeb2a80, 0xc04214bd40, 0x14, 0x14) C:/home/projects/go/src/github.com/tendermint/tendermint/state/execution.go:369 +0x127d github.com/tendermint/tendermint/state.(*Handshaker).Handshake(0xc04213cd20, 0xeb3dc0, 0xc0424fe3f0, 0x0, 0x0) C:/home/projects/go/src/github.com/tendermint/tendermint/state/execution.go:329 +0x48a github.com/tendermint/tendermint/proxy.(*multiAppConn).OnStart(0xc0424fe3f0, 0xc042151700, 0x15) C:/home/projects/go/src/github.com/tendermint/tendermint/proxy/multi_app_conn.go:100 +0x20d github.com/tendermint/tendermint/vendor/github.com/tendermint/go-common.(*BaseService).Start(0xc0424fe3f0, 0x0, 0x0, 0x0) C:/home/projects/go/src/github.com/tendermint/tendermint/vendor/github.com/tendermint/go-common/service.go:96 +0x54d github.com/tendermint/tendermint/node.NewNode(0xeb4940, 0xc042151820, 0xc0424bfae0, 0xea75a0, 0xc042177bf0, 0x0) C:/home/projects/go/src/github.com/tendermint/tendermint/node/node.go:68 +0x48a github.com/tendermint/tendermint/node.NewNodeDefault(0xeb4940, 0xc042151820, 0x1) C:/home/projects/go/src/github.com/tendermint/tendermint/node/node.go:51 +0xc1 github.com/tendermint/tendermint/node.RunNode(0xeb4940, 0xc042151820) C:/home/projects/go/src/github.com/tendermint/tendermint/node/node.go:350 +0x530 main.main() C:/home/projects/go/src/github.com/tendermint/tendermint/cmd/tendermint/main.go:42 +0x37a
What you expected to happen
Expecting value 8 for LastBlockHeight seems to be wrong considering the last block height is consistently 7. The 8th block was not even yet created, so why not simply building upon block 7.
How to reproduce it
I assume this could be easily reproduced with a test or the Go Counter example if the Info() function only would return values for properties "last_block_height" and "last_block_app_hash". I see the following reply for Tendermint / Go Counter client / server combination ...
$ curl http://localhost:46657/abci_info {"jsonrpc":"2.0","id":"","result":[113,{"data":"{\"hashes\":259,\"txs\":0}","version":"","last_block_height":0,"last_block_app_hash":""}],"error":""}