From 2edd89b4507d50c7340c91dacf427789ba8341ce Mon Sep 17 00:00:00 2001 From: Jon <50962907+jon-certik@users.noreply.github.com> Date: Tue, 10 Sep 2019 08:51:19 -0400 Subject: [PATCH] mempool: fix memory loading error on 32-bit machines (#3969) * Correct memory alignment for 32-bit machine. Switching the `txsBytes` and `rechecking` fields of `CListMempool` to ensure the correct memory alignment for `atomic.LoadInt64` on 32-bit machine. * Update CHANGELOG_PENDING.md for #3968 Fixed #3968 `mempool` Memory Loading Error on 32-bit Ubuntu 16.04 Machine. * Update CHANGELOG_PENDING.md Co-Authored-By: Anton Kaliaev --- CHANGELOG_PENDING.md | 1 + mempool/clist_mempool.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index d75e29ce7..c8bb7bcca 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -24,3 +24,4 @@ program](https://hackerone.com/tendermint). ### BUG FIXES: - [consensus] \#3908 Wait `timeout_commit` to pass even if `create_empty_blocks` is `false` +- [mempool] \#3968 Fix memory loading error on 32-bit machines (@jon-certik) diff --git a/mempool/clist_mempool.go b/mempool/clist_mempool.go index 8df4e6708..ee47e52d8 100644 --- a/mempool/clist_mempool.go +++ b/mempool/clist_mempool.go @@ -53,8 +53,8 @@ type CListMempool struct { // Atomic integers height int64 // the last block Update()'d to - rechecking int32 // for re-checking filtered txs on Update() txsBytes int64 // total size of mempool, in bytes + rechecking int32 // for re-checking filtered txs on Update() // Keep a cache of already-seen txs. // This reduces the pressure on the proxyApp.