Before this pull request,
it was a mess. ABCI was using a uint64 height on EndBlock. Tendermint Core
was using the same type for TxResult. Block and BlockStore, however, were using
int heights (remember that int is different depending on the processor
architecture: int32 for x86, int64 for amd64). There was no single standard
across our repositories as for what type to use for blockchain height.
I have spent the last week looking for clues and writing test cases in order to
find and fix the memory leak in
Tendermint. For those of you who
don’t know, Tendermint Core is a Byzantine Fault Tolerant (BFT) middleware that
takes a state transition machine — written in any programming language — and
securely replicates it on many machines. It is also the foundation of
Cosmos — our solution for scaling blockchains.
Finding a memory leak in Go is not an easy task. However, there is a common set
of questions, answers to which will hopefully help you identify the source of a
leak. Here is the list:
This is a monthly “newsletter”, containing a list of what I enjoyed the most
last month. Whether it was a full length movie, short film, music album, book
or even a painting.
This is a monthly “newsletter”, containing a list of what I enjoyed the most
last month. Whether it was a full length movie, short film, music album, book
or even a painting.
This is a monthly “newsletter”, containing a list of what I enjoyed the most
last month. Whether it was a full length movie, short film, music album, book
or even a painting.