Auto merge of #4510 - zcash:hotfix-v2.1.2-2, r=nuttycom
Merge in 2.1.2-2 hotfix
This commit is contained in:
commit
c82b3f9450
|
@ -1,4 +1,4 @@
|
||||||
Zcash 2.1.2-1
|
Zcash 2.1.2-2
|
||||||
<img align="right" width="120" height="80" src="doc/imgs/logo.png">
|
<img align="right" width="120" height="80" src="doc/imgs/logo.png">
|
||||||
===========
|
===========
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ AC_PREREQ([2.60])
|
||||||
define(_CLIENT_VERSION_MAJOR, 2)
|
define(_CLIENT_VERSION_MAJOR, 2)
|
||||||
define(_CLIENT_VERSION_MINOR, 1)
|
define(_CLIENT_VERSION_MINOR, 1)
|
||||||
define(_CLIENT_VERSION_REVISION, 2)
|
define(_CLIENT_VERSION_REVISION, 2)
|
||||||
define(_CLIENT_VERSION_BUILD, 51)
|
define(_CLIENT_VERSION_BUILD, 52)
|
||||||
define(_ZC_BUILD_VAL, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, m4_incr(_CLIENT_VERSION_BUILD), m4_eval(_CLIENT_VERSION_BUILD < 50), 1, m4_eval(_CLIENT_VERSION_BUILD - 24), m4_eval(_CLIENT_VERSION_BUILD == 50), 1, , m4_eval(_CLIENT_VERSION_BUILD - 50)))
|
define(_ZC_BUILD_VAL, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, m4_incr(_CLIENT_VERSION_BUILD), m4_eval(_CLIENT_VERSION_BUILD < 50), 1, m4_eval(_CLIENT_VERSION_BUILD - 24), m4_eval(_CLIENT_VERSION_BUILD == 50), 1, , m4_eval(_CLIENT_VERSION_BUILD - 50)))
|
||||||
define(_CLIENT_VERSION_SUFFIX, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, _CLIENT_VERSION_REVISION-beta$1, m4_eval(_CLIENT_VERSION_BUILD < 50), 1, _CLIENT_VERSION_REVISION-rc$1, m4_eval(_CLIENT_VERSION_BUILD == 50), 1, _CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION-$1)))
|
define(_CLIENT_VERSION_SUFFIX, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, _CLIENT_VERSION_REVISION-beta$1, m4_eval(_CLIENT_VERSION_BUILD < 50), 1, _CLIENT_VERSION_REVISION-rc$1, m4_eval(_CLIENT_VERSION_BUILD == 50), 1, _CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION-$1)))
|
||||||
define(_CLIENT_VERSION_IS_RELEASE, true)
|
define(_CLIENT_VERSION_IS_RELEASE, true)
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
zcash (2.1.2+2) stable; urgency=medium
|
||||||
|
|
||||||
|
* 2.1.2-2 release.
|
||||||
|
|
||||||
|
-- Electric Coin Company <team@electriccoin.co> Fri, 08 May 2020 11:43:55 -0600
|
||||||
|
|
||||||
zcash (2.1.2+1) stable; urgency=medium
|
zcash (2.1.2+1) stable; urgency=medium
|
||||||
|
|
||||||
* 2.1.2-1 release.
|
* 2.1.2-1 release.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
name: "zcash-2.1.2-1"
|
name: "zcash-2.1.2-2"
|
||||||
enable_cache: true
|
enable_cache: true
|
||||||
distro: "debian"
|
distro: "debian"
|
||||||
suites:
|
suites:
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
Zcash Contributors
|
Zcash Contributors
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Jack Grigg (1021)
|
Jack Grigg (1022)
|
||||||
Simon Liu (460)
|
Simon Liu (460)
|
||||||
Sean Bowe (310)
|
Sean Bowe (312)
|
||||||
Eirik Ogilvie-Wigley (214)
|
Eirik Ogilvie-Wigley (214)
|
||||||
Daira Hopwood (180)
|
Daira Hopwood (181)
|
||||||
Taylor Hornby (99)
|
Taylor Hornby (99)
|
||||||
Marshall Gaucher (99)
|
Marshall Gaucher (99)
|
||||||
Wladimir J. van der Laan (96)
|
Wladimir J. van der Laan (96)
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||||
.TH ZCASH-CLI "1" "May 2020" "zcash-cli v2.1.2-1" "User Commands"
|
.TH ZCASH-CLI "1" "May 2020" "zcash-cli v2.1.2-2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
zcash-cli \- manual page for zcash-cli v2.1.2-1
|
zcash-cli \- manual page for zcash-cli v2.1.2-2
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Zcash RPC client version v2.1.2\-1
|
Zcash RPC client version v2.1.2\-2
|
||||||
.PP
|
.PP
|
||||||
In order to ensure you are adequately protecting your privacy when using Zcash,
|
In order to ensure you are adequately protecting your privacy when using Zcash,
|
||||||
please see <https://z.cash/support/security/>.
|
please see <https://z.cash/support/security/>.
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||||
.TH ZCASH-TX "1" "May 2020" "zcash-tx v2.1.2-1" "User Commands"
|
.TH ZCASH-TX "1" "May 2020" "zcash-tx v2.1.2-2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
zcash-tx \- manual page for zcash-tx v2.1.2-1
|
zcash-tx \- manual page for zcash-tx v2.1.2-2
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Zcash zcash\-tx utility version v2.1.2\-1
|
Zcash zcash\-tx utility version v2.1.2\-2
|
||||||
.SS "Usage:"
|
.SS "Usage:"
|
||||||
.TP
|
.TP
|
||||||
zcash\-tx [options] <hex\-tx> [commands]
|
zcash\-tx [options] <hex\-tx> [commands]
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
|
||||||
.TH ZCASHD "1" "May 2020" "zcashd v2.1.2-1" "User Commands"
|
.TH ZCASHD "1" "May 2020" "zcashd v2.1.2-2" "User Commands"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
zcashd \- manual page for zcashd v2.1.2-1
|
zcashd \- manual page for zcashd v2.1.2-2
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
Zcash Daemon version v2.1.2\-1
|
Zcash Daemon version v2.1.2\-2
|
||||||
.PP
|
.PP
|
||||||
In order to ensure you are adequately protecting your privacy when using Zcash,
|
In order to ensure you are adequately protecting your privacy when using Zcash,
|
||||||
please see <https://z.cash/support/security/>.
|
please see <https://z.cash/support/security/>.
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
Notable changes
|
Notable changes
|
||||||
===============
|
===============
|
||||||
|
|
||||||
This release fixes two issues that were identified by the Heartwood activation on testnet.
|
This release solves an issue where nodes that did not follow the Heartwood activation on testnet (by running a version prior to v2.1.2) but then upgraded to v2.1.2 or later would be incapable of rolling back and following the Heartwood activation without performing a reindex operation.
|
||||||
|
|
||||||
* v2.1.2 nodes that followed the Heartwood activation on testnet would crash on restart if, prior to shutdown, they had received a block from a miner that had not activated Heartwood, which is very likely. This release fixes that crash.
|
|
||||||
* Nodes that had not followed the Heartwood activation on testnet (by running a version prior to v2.1.2) but then tried to upgrade to v2.1.2 would have difficulty rolling back. In this release we have ensured that nodes will now roll back if necessary to follow the Heartwood activation on testnet.
|
|
||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
Notable changes
|
||||||
|
===============
|
||||||
|
|
||||||
|
This release fixes an issue that was identified by the Heartwood activation on testnet. v2.1.2 nodes that followed the Heartwood activation on testnet would crash on restart if, prior to shutdown, they had received a block from a miner that had not activated Heartwood, which is very likely. This release fixes that crash.
|
||||||
|
|
||||||
|
Changelog
|
||||||
|
=========
|
||||||
|
|
||||||
|
Daira Hopwood (1):
|
||||||
|
txdb: log additional debug information.
|
||||||
|
|
||||||
|
Jack Grigg (1):
|
||||||
|
txdb: More complete fix for the Heartwood chain consistency check issue.
|
||||||
|
|
||||||
|
Sean Bowe (2):
|
||||||
|
make-release.py: Versioning changes for 2.1.2-2.
|
||||||
|
make-release.py: Updated manpages for 2.1.2-2.
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
#define CLIENT_VERSION_MAJOR 2
|
#define CLIENT_VERSION_MAJOR 2
|
||||||
#define CLIENT_VERSION_MINOR 1
|
#define CLIENT_VERSION_MINOR 1
|
||||||
#define CLIENT_VERSION_REVISION 2
|
#define CLIENT_VERSION_REVISION 2
|
||||||
#define CLIENT_VERSION_BUILD 51
|
#define CLIENT_VERSION_BUILD 52
|
||||||
|
|
||||||
//! Set to true for release, false for prerelease or test build
|
//! Set to true for release, false for prerelease or test build
|
||||||
#define CLIENT_VERSION_IS_RELEASE true
|
#define CLIENT_VERSION_IS_RELEASE true
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
// Deprecation policy:
|
// Deprecation policy:
|
||||||
// * Shut down 16 weeks' worth of blocks after the estimated release block height.
|
// * Shut down 16 weeks' worth of blocks after the estimated release block height.
|
||||||
// * A warning is shown during the 2 weeks' worth of blocks prior to shut down.
|
// * A warning is shown during the 2 weeks' worth of blocks prior to shut down.
|
||||||
static const int APPROX_RELEASE_HEIGHT = 821903;
|
static const int APPROX_RELEASE_HEIGHT = 824236;
|
||||||
static const int WEEKS_UNTIL_DEPRECATION = 16;
|
static const int WEEKS_UNTIL_DEPRECATION = 16;
|
||||||
static const int DEPRECATION_HEIGHT = APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 48);
|
static const int DEPRECATION_HEIGHT = APPROX_RELEASE_HEIGHT + (WEEKS_UNTIL_DEPRECATION * 7 * 24 * 48);
|
||||||
|
|
||||||
|
|
45
src/txdb.cpp
45
src/txdb.cpp
|
@ -566,21 +566,36 @@ bool CBlockTreeDB::LoadBlockIndexGuts(
|
||||||
return error("LoadBlockIndex(): CheckProofOfWork failed: %s", pindexNew->ToString());
|
return error("LoadBlockIndex(): CheckProofOfWork failed: %s", pindexNew->ToString());
|
||||||
|
|
||||||
// ZIP 221 consistency checks
|
// ZIP 221 consistency checks
|
||||||
// We assume block index objects on disk that are not at least
|
// These checks should only be performed for block index entries marked
|
||||||
// CHAIN_HISTORY_ROOT_VERSION were created by nodes that were
|
// as consensus-valid (at the time they were written).
|
||||||
// not Heartwood aware.
|
//
|
||||||
if (diskindex.nClientVersion >= CHAIN_HISTORY_ROOT_VERSION &&
|
if (pindexNew->IsValid(BLOCK_VALID_CONSENSUS)) {
|
||||||
chainParams.GetConsensus().NetworkUpgradeActive(pindexNew->nHeight, Consensus::UPGRADE_HEARTWOOD)) {
|
// We assume block index entries on disk that are not at least
|
||||||
if (pindexNew->hashLightClientRoot != pindexNew->hashChainHistoryRoot) {
|
// CHAIN_HISTORY_ROOT_VERSION were created by nodes that were
|
||||||
return error(
|
// not Heartwood aware. Such a node would not see Heartwood block
|
||||||
"LoadBlockIndex(): block index inconsistency detected (hashLightClientRoot %s != hashChainHistoryRoot %s): %s",
|
// headers as valid, and so this must *either* be an index entry
|
||||||
pindexNew->hashLightClientRoot.ToString(), pindexNew->hashChainHistoryRoot.ToString(), pindexNew->ToString());
|
// for a block header on a non-Heartwood chain, or be marked as
|
||||||
}
|
// consensus-invalid.
|
||||||
} else {
|
//
|
||||||
if (pindexNew->hashLightClientRoot != pindexNew->hashFinalSaplingRoot) {
|
// It can also happen that the block index entry was written
|
||||||
return error(
|
// by this node when it was Heartwood-aware (so its version
|
||||||
"LoadBlockIndex(): block index inconsistency detected (hashLightClientRoot != hashFinalSaplingRoot): %s",
|
// will be >= CHAIN_HISTORY_ROOT_VERSION), but received from
|
||||||
pindexNew->ToString());
|
// a non-upgraded peer. However that case the entry will be
|
||||||
|
// marked as consensus-invalid.
|
||||||
|
//
|
||||||
|
if (diskindex.nClientVersion >= CHAIN_HISTORY_ROOT_VERSION &&
|
||||||
|
chainParams.GetConsensus().NetworkUpgradeActive(pindexNew->nHeight, Consensus::UPGRADE_HEARTWOOD)) {
|
||||||
|
if (pindexNew->hashLightClientRoot != pindexNew->hashChainHistoryRoot) {
|
||||||
|
return error(
|
||||||
|
"LoadBlockIndex(): block index inconsistency detected (post-Heartwood; hashLightClientRoot %s != hashChainHistoryRoot %s): %s",
|
||||||
|
pindexNew->hashLightClientRoot.ToString(), pindexNew->hashChainHistoryRoot.ToString(), pindexNew->ToString());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (pindexNew->hashLightClientRoot != pindexNew->hashFinalSaplingRoot) {
|
||||||
|
return error(
|
||||||
|
"LoadBlockIndex(): block index inconsistency detected (pre-Heartwood; hashLightClientRoot %s != hashFinalSaplingRoot %s): %s",
|
||||||
|
pindexNew->hashLightClientRoot.ToString(), pindexNew->hashFinalSaplingRoot.ToString(), pindexNew->ToString());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue