Commit Graph

13417 Commits

Author SHA1 Message Date
Sean Bowe 1e945ee82a
Set the deprecation height manually to roughly July 14th. 2020-05-08 13:28:55 -06:00
Sean Bowe 98345b2ead
Update release notes for v2.1.2-3. 2020-05-08 13:28:44 -06:00
Sean Bowe ca7b2dbd8e
make-release.py: Updated release notes and changelog for 2.1.2-3. 2020-05-08 12:41:23 -06:00
Sean Bowe 8b5365e127
make-release.py: Updated manpages for 2.1.2-3. 2020-05-08 12:41:23 -06:00
Sean Bowe f9d4405c09
make-release.py: Versioning changes for 2.1.2-3. 2020-05-08 12:39:13 -06:00
ebfull e7395fb67d
Merge pull request #4509 from ebfull/release-v2.1.2-2
Release v2.1.2-2
2020-05-08 11:56:26 -06:00
Sean Bowe d86b56bd6c
Modify release notes for v2.1.2-1 and v2.1.2-2 to reflect the changes more accurately. 2020-05-08 11:47:41 -06:00
Sean Bowe 2e52500acf
make-release.py: Updated release notes and changelog for 2.1.2-2. 2020-05-08 11:43:55 -06:00
Sean Bowe 6d82cff680
make-release.py: Updated manpages for 2.1.2-2. 2020-05-08 11:43:54 -06:00
Sean Bowe bdb2df182b
make-release.py: Versioning changes for 2.1.2-2. 2020-05-08 11:41:47 -06:00
ebfull 4ee4b767ec
Merge pull request #4503 from daira/4496-heartwood-chain-consistency-check
txdb: More complete fix for the Heartwood chain consistency check issue
2020-05-08 11:40:55 -06:00
Daira Hopwood 58d49ac61b
txdb: log additional debug information.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-07 16:22:25 -06:00
Jack Grigg daabcd6d22
txdb: More complete fix for the Heartwood chain consistency check issue.
#4499 was an insufficient fix, because it did not consider the case where
a post-Heartwood node wrote a block index object for a header from a
non-upgraded peer. In that case the version in the block index entry is
`>= CHAIN_HISTORY_ROOT_VERSION`, and so the fix in #4499 has no effect.
In addition, we should skip the consistency check when the index object
validity is not BLOCK_VALID_CONSENSUS.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-07 16:22:09 -06:00
Sean Bowe f7d2142eb0
Add release details about v2.1.2-1 hotfix. 2020-05-06 10:58:53 -06:00
Sean Bowe c80adfcfcc
make-release.py: Updated release notes and changelog for 2.1.2-1. 2020-05-06 10:52:57 -06:00
Sean Bowe 72da9f77fa
make-release.py: Updated manpages for 2.1.2-1. 2020-05-06 10:52:57 -06:00
Sean Bowe 5d24937e5f
make-release.py: Versioning changes for 2.1.2-1. 2020-05-06 10:50:43 -06:00
ebfull 853eb885fa
Merge pull request #4499 from ebfull/heartwood-testnet-hotfix
Heartwood testnet hotfix
2020-05-06 10:47:56 -06:00
Sean Bowe c3018904c3
Don't throw exception in PopHistoryNode when popping from empty tree.
If we are doing an expected rollback that changes the consensus
branch ID for some upgrade (or introduces one that wasn't present
at the equivalent height) this will occur because
`SelectHistoryCache` selects the tree for the new consensus
branch ID, not the one that existed on the chain being rolled
back.
2020-05-05 17:25:56 -06:00
Jack Grigg d946b69cf8 txdb/chain: Restrict Heartwood chain consistency check to block index objects that were created by Heartwood-unaware clients.
In the vicinity of a network upgrade, a zcashd node may receive headers
for a non-upgrading chain from its non-upgraded peers (e.g. if the block
at the NU activation height is found more quickly by the non-upgrading
chain). In this situation, the node will end up with two headers at the
NU activation height (and possibly for subsequent block heights).

In the case of Heartwood, the block headers from the non-upgrading chain
do not satisfy the Heartwood header consistency check in
CBlockTreeDB::LoadBlockIndexGuts. In this commit, we restrict the
Heartwood consistency checks to block index objects that were created by
clients that are CHAIN_HISTORY_ROOT_VERSION or better.
2020-05-06 10:41:30 +12:00
Sean Bowe 8dcb533226
Add the intended testnet activation block of Heartwood to our intended rewind logic. 2020-05-05 14:47:29 -06:00
Homu ff1e8ebe2f Auto merge of #4469 - ebfull:release-v2.1.2, r=ebfull
Release v2.1.2

Includes **testnet** activation of Heartwood (NU3) on block `903800` -- approx May 6th, 4pm MST. Does **not** include mainnet activation, that's planned for `3.0.0`. See release notes for other cool changes.
2020-04-22 19:13:38 +00:00
Sean Bowe fdf34cefac
make-release.py: Updated release notes and changelog for 2.1.2. 2020-04-22 10:46:06 -06:00
Sean Bowe bfb0e4d985
make-release.py: Updated manpages for 2.1.2. 2020-04-22 10:46:06 -06:00
Sean Bowe 9eadd525a5
make-release.py: Versioning changes for 2.1.2. 2020-04-22 10:43:50 -06:00
Homu caea54013e Auto merge of #4468 - ebfull:heartwood-testnet, r=ebfull
Set Heartwood activation height for testnet to 903800.

Should activate on testnet approx 4PM MST on May 6th, 2020.
2020-04-22 00:50:15 +00:00
Daira Hopwood f7208c19c5 Clarify definition of NETWORK_UPGRADE_PEER_PREFERENCE_BLOCK_PERIOD.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-22 01:15:06 +01:00
Sean Bowe b42af16553
Set Heartwood activation height for testnet to 903800. 2020-04-21 16:13:33 -06:00
Homu ee00d28907 Auto merge of #4466 - ebfull:fix-gitian, r=str4d
Add rust resources to distribution.

These were added in 90f7234136 but aren't currently being included by `make dist`.
2020-04-21 17:52:00 +00:00
Sean Bowe 08e6ed154c
Add test_random.h to distribution tarball. 2020-04-20 14:53:48 -06:00
Sean Bowe 37fa94e01d
Add Rust resources to distribution tarball. 2020-04-20 13:44:06 -06:00
Homu 659ac40ad1 Auto merge of #4457 - ebfull:release-v2.1.2-rc1, r=str4d
Release v2.1.2-rc1
2020-04-16 10:50:28 +00:00
Jack Grigg 51af936f19 Set hashFinalSaplingRoot and hashChainHistoryRoot in AddToBlockIndex
- hashFinalSaplingRoot is now always set to hashLightClientRoot before
  Heartwood activation (regardless of whether or not that is the correct
  Sapling root), and set to the Sapling root after Heartwood activation
  only for blocks that have been passed to ConnectBlock() at least once.

- hashChainHistoryRoot is now always set "correctly" (either null, or
  identical to hashLightClientRoot).

We rely on the fact that block headers are downloaded in order, and we
therefore always know the height of a block header, in order to check
whether Heartwood is active for a particular header.
2020-04-16 20:48:20 +12:00
Sean Bowe 3da600ee3a
make-release.py: Updated release notes and changelog for 2.1.2-rc1. 2020-04-15 17:47:45 -06:00
Sean Bowe 8f0655b841
make-release.py: Updated manpages for 2.1.2-rc1. 2020-04-15 17:47:45 -06:00
Sean Bowe 2386046941
make-release.py: Versioning changes for 2.1.2-rc1. 2020-04-15 17:45:34 -06:00
Homu 215c74ec3f Auto merge of #4454 - defuse:cscriptnum-serialization-fix, r=daira
Fix undefined behavior in CScriptNum

Fixes #4432
2020-04-15 22:36:33 +00:00
Homu e7e5a61f2b Auto merge of #4453 - str4d:release-notes-v2.1.2, r=ebfull
Update release notes for v2.1.2
2020-04-15 21:35:14 +00:00
Homu 9307eab1ab Auto merge of #4452 - rex4539:fix-typo, r=str4d
Fix typos in test framework
2020-04-15 20:25:14 +00:00
Homu 4fad49d802 Auto merge of #4416 - daira:sa_restart, r=daira
Use SA_RESTART in sa_flags when setting up signal handlers

Explanation: if a signal interrupts certain syscalls such as `open`, `read`, or `write`,
then the library function will by default fail with `errno` `EINTR`. But we [almost](https://github.com/zcash/zcash/search?q=WSAEINTR) [never](https://github.com/zcash/zcash/search?q=EINTR)
check for `EINTR`, so this is likely to cause spurious errors. We want to restart the syscall
instead, which is what `SA_RESTART` is intended to do. Since our signal handlers (defined
in init.cpp) only set a flag, restarting the syscall is safe and is always the Right Thing.

See <https://www.gnu.org/software/libc/manual/html_node/Flags-for-Sigaction.html> and
<https://www.gnu.org/software/libc/manual/html_node/Interrupted-Primitives.html> for
further information.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-15 19:23:14 +00:00
Homu 1f5de9cae2 Auto merge of #4306 - oxarbitrage:issue4224, r=daira
Compute more structures in CTxMemPool::DynamicMemoryUsage()

Closes https://github.com/zcash/zcash/issues/4224

Added more structures to the computation of the mempool memory size as indicated in the issue. RPC call `getmempoolinfo` is the only place where this is used to get the `usage` result.
2020-04-15 17:03:31 +00:00
Homu 8a2ab9fbda Auto merge of #4450 - str4d:make-release-py3, r=daira
Updates to zcutil/make-release.py

Finishes its migration to Python 3, and adds release process dependency checks.
2020-04-15 15:36:42 +00:00
Taylor Hornby 418ef7002a Fix undefined behavior in CScriptNum 2020-04-15 09:19:00 -06:00
Homu e555fd6472 Auto merge of #4410 - daira:clean-that-works, r=str4d
Add `zcutil/clean.sh` and `zcutil/distclean.sh` scripts that work reliably (unlike `make clean`)

Workaround for #2226.
2020-04-15 13:28:46 +00:00
Daira Hopwood 47b05ab801 Address review comments: `target` and `depends/work` should be cleaned by clean.sh.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-15 12:09:27 +01:00
Homu 344a2325ef Auto merge of #4431 - oxarbitrage:issue4389, r=daira
Lock with cs_main inside gtests that request chain state

Fix https://github.com/zcash/zcash/issues/4389

- Used the lock from boost tests where `chainActive.Height()` is being called: https://github.com/zcash/zcash/blob/master/src/wallet/test/rpc_wallet_tests.cpp#L1323

- I found no other place in the gtests where `chainActive` is used apart from just the same tests `chainActive.Height()` is called. It seems chain state is only used when we fake mine transactions and these are all inside `test_wallet.cpp`.

I might be missing some other patterns to look at, please let me know if so.
2020-04-15 11:03:48 +00:00
Jack Grigg 86f8bcfa17 zcutil/release-notes.py: Add Python 3 execution header 2020-04-15 22:57:05 +12:00
Jack Grigg 7b9aa90880 Update release notes for v2.1.2 2020-04-15 22:42:22 +12:00
Dimitris Apostolou 5f2e015aa3
Fix typos 2020-04-15 13:24:00 +03:00
Jack Grigg 8b9e4eec0f zcutil/make-release.py: Check for release dependencies 2020-04-15 17:56:38 +12:00