Skip to content

Tendermint breaks when BeginBlock (any ABCI call?) in ABCI server is not returning #1993

@srmo

Description

@srmo

BUG REPORT

Tendermint version
0.22.4-c64a3c74 (self compiled: make dist)

ABCI app
JavaCounter - part of jABCI https://github.com/jTendermint/jabci

Environment

  • OSX 10.13.6
  • go version go1.10.2 darwin/amd64

What happened:
I've forced the BeginBlock implementation of the ABCI app to throw an exception instead of returning a ResponseBeginBlock. This was implemented such that the exception is thrown after the third block.
After that, no more Blocks are being built, broadcastTx etc still working.
No messages in tendermint log (default loglevel) could be found, hinting at a problem with beginBlock.
Ctrl+Cing tendermint also wasn't possible, i.e. it was just hanging there after sending the signal.

What you expected to happen:
Tendermint should timeout on an ABCI request, maybe?
Expected this to be fixed via
#1891
#1890

How to reproduce it (as minimally and precisely as possible):
Just throw an exception in your ABCI app on BeginBlock or DeliverTx

Logs (you can paste a small part showing an error or link a pastebin, gist, etc. containing more of the log file):
https://gist.github.com/srmo/a647b5db2a3c1a5268edc0ec62006b08
Contains the full flow, throwing exception at height 3->4
Then doing a broadcast_tx
Then doing Ctrl+C
Then doing multiple Ctrl+C

Config (you can paste only the changes you've made):
only changed loglevel to "*:debug"

Metadata

Metadata

Assignees

No one assigned

    Labels

    C:abciComponent: Application Blockchain InterfaceT:bugType Bug (Confirmed)

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions