Commit graph

16213 commits

Author SHA1 Message Date
Wladimir J. van der Laan
3448907a68
Merge #12266: Move scheduler/threadGroup into common-init instead of per-app
082a61c Move scheduler/threadGroup into common-init instead of per-app (Matt Corallo)

Pull request description:

  This resolves #12229 which pointed out a shutdown deadlock due to
  scheduler/checkqueue having been shut down while network message
  processing is still running.

Tree-SHA512: 0c0a76113996b164b0610d3b8c40b396f3e384d165bf098768e31fe3701b00763d0d810ef24702387e2e936fefb9fb900a6225f7417bb0175b585f365d542660
2018-01-30 13:04:30 +01:00
Wladimir J. van der Laan
7936446268
Merge #12276: Remove duplicate mapWallet lookups
039425c [wallet] Remove duplicate mapWallet lookups (João Barbosa)

Pull request description:

Tree-SHA512: 8075925d2adb64737c691e988d74a37bc326711aaee2c37327361679c051f219fa500e14cbcdb6a169352bcdbab160e11df4276b2657e19e12908ee2d4444d30
2018-01-30 10:16:31 +01:00
Wladimir J. van der Laan
288deacdbe
Merge #12278: Add special error for genesis coinbase to getrawtransaction
ee11121 Add special error for genesis coinbase to gettransaction (MeshCollider)

Pull request description:

  Suggested by sipa here: https://botbot.me/freenode/bitcoin-core-dev/2018-01-23/?msg=96069825&page=2

  Just adds a special error message for the genesis block coinbase transaction when using `getrawtransaction`

Tree-SHA512: cd102c7983ec5457b299bff4b6db747d339fda157933a3ac54aec26b1e48b115aa68c1c9e6cb7a916f15c7786273ab558b2b20ab9768544d211e0ae9d1480e34
2018-01-30 09:59:28 +01:00
Wladimir J. van der Laan
7cf1aea5cf
Merge #12294: [Docs] Create NetBSD build instructions and fix compilation
11c5827 [build] Add NETBSD leveldb target to configure.ac (fanquake)
1944fa3 [doc] Create build-netbsd.md (Randolf Richardson)
336685e [build] Add db4_cxx to bitcoin_find_bdb48.m4 (Randolf Richardson)

Pull request description:

  Replaces #12125.

Tree-SHA512: 411d082ffff7198bcc1b2b6fcdf86c378baf228d8f4fee0e6c9f0688efe9c6b6dcfd5c1ab9c1dfd0c4637723b8584dbbb614634ace0e1a417b59e88a6c736dc0
2018-01-30 09:57:45 +01:00
Anthony Towns
125f4a4909 [tests] Require all tests to follow naming convention 2018-01-30 16:53:45 +10:00
fanquake
11c5827ca7
[build] Add NETBSD leveldb target to configure.ac 2018-01-30 07:48:30 +08:00
Randolf Richardson
1944fa3205
[doc] Create build-netbsd.md 2018-01-30 07:47:27 +08:00
João Barbosa
5bdbbdc096 Refactor HaveKeys to early return on false result 2018-01-29 23:45:25 +00:00
MarcoFalke
faca18dcf4
feebumper: Use PreconditionChecks to determine bump eligibility 2018-01-29 18:31:33 -05:00
MeshCollider
ee11121229 Add special error for genesis coinbase to gettransaction 2018-01-30 11:36:25 +13:00
practicalswift
a9d0ebc262 Enable flake8 warnings for all currently non-violated rules 2018-01-29 23:22:58 +01:00
MarcoFalke
9d9c4185fa
Merge #12293: [rpc] Mention that HD is enabled if hdmasterkeyid is present
c6b6385651 [rpc] Mention that HD is enabled if hdmasterkeyid is present (fanquake)

Pull request description:

  Also adds optional flag.

  Replaces #12042

Tree-SHA512: 6aded2cf36799f697eacbe4f51dff7c8110281092ca3c4fd73e26f57d788ec95a4fcbaf6976ef144e64f2e52759dbe241ac218a95e5ca2233cae1b98bfa5872e
2018-01-29 15:27:56 -05:00
practicalswift
4cbab15e75 tests: Fix accidental redefinition of previously defined variable via list comprehension 2018-01-29 20:26:43 +01:00
practicalswift
0b9207efbe Enable flake8 warning for "list comprehension redefines 'foo' from line N" (F812) 2018-01-29 20:23:58 +01:00
Wladimir J. van der Laan
90d41049f9
Merge #11989: [build] .gitignore: add QT Creator artifacts
ac5104f [build] .gitignore: add QT Creator artifacts (Sjors Provoost)

Pull request description:

  These files appear on OSX if you follow the [QT Creator instructions](https://github.com/bitcoin/bitcoin/blob/master/doc/build-osx.md#using-qt-creator-as-ide).

  The files don't contain anything terribly useful that might warrant including them in the repo instead.

Tree-SHA512: 346ece7846e7707abe599fe53b91472f7f6b79609dfdd0cb471a3363919d941385eec402045f8344f52d4d2212d29ae7c3cb2f4d55bbd978d49ac333e83f0fca
2018-01-29 15:53:25 +01:00
John Newbery
cc046f66a7 [tests] Reduce NodeConn connection logging from info to debug 2018-01-29 09:48:17 -05:00
Wladimir J. van der Laan
6378e5c514
Merge #11711: bitcoin_qt.m4: Minor fixes and clean-ups.
06abcbf scripted-diff: Orthogonalize string quoting (Werner Lemberg)
e0496d3 bitcoin_qt.m4: Add missing dollar sign for variable. (Werner Lemberg)
079f4b2 bitcoin_qt.m4: Add missing braces around variables in autoconf messages. (Werner Lemberg)
8695315 bitcoin_qt.m4: Use correct M4 quoting characters. (Werner Lemberg)
db32a4f bitcoin_qt.m4: Improve QT_VERSION tests. (Werner Lemberg)

Pull request description:

  Replaces #11222.

  Dropped the last commit, and converted e90d91c (now 06abcbf) into a scripted-diff using @theuni's suggestion.

Tree-SHA512: f2e1713bda96e8875be08839af914b24b3240f2eecf18cb268f83c82d965ebf544a0022af4f6f73b88b637a4fdd404a96b9fcf8e5bdd11c507b5bb425eeb7e1d
2018-01-29 15:39:36 +01:00
MarcoFalke
eebe4580bc
Merge #12292: [tests] Fix names of excluded extended tests for travis
a2808cf8a4 [tests] Fix names of excluded extended tests for travis (Anthony Towns)

Pull request description:

Tree-SHA512: 2cb8b9690dd41e996d0b1b3b7ecc95dee43132ea8a8d56fb7398a99dfc082d337c22060138b67486f45c11120c11a2d0639abf2dedf7be71ca78f1a8be6f832d
2018-01-29 09:09:54 -05:00
Wladimir J. van der Laan
c0ae864ef5
Merge #11577: Fix warnings (-Wsign-compare) when building with DEBUG_ADDRMAN
6eddd43 Fix warnings when building with DEBUG_ADDRMAN (practicalswift)

Pull request description:

  Fix warnings when building with `DEBUG_ADDRMAN`.

  Warnings prior to this commit:

  ```
  addrman.cpp:390:24: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'int' [-Wsign-compare]
      if (vRandom.size() != nTried + nNew)
          ~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~
  addrman.cpp:411:52: warning: comparison of integers of different signs: 'int' and 'size_type' (aka 'unsigned long') [-Wsign-compare]
          if (info.nRandomPos < 0 || info.nRandomPos >= vRandom.size() || vRandom[info.nRandomPos] != n)
                                     ~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~
  addrman.cpp:419:25: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'int' [-Wsign-compare]
      if (setTried.size() != nTried)
          ~~~~~~~~~~~~~~~ ^  ~~~~~~
  addrman.cpp:421:23: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'int' [-Wsign-compare]
      if (mapNew.size() != nNew)
          ~~~~~~~~~~~~~ ^  ~~~~
  4 warnings generated.
  ```

Tree-SHA512: 0316faecfe95066d2c9a0b6b3960086e43824f21a67086a895ea45fbce1327f8d6df5945fe923c2dbe4efce430bc1384d515d317c3930d97d24965e507cf734d
2018-01-29 14:26:26 +01:00
Randolf Richardson
336685e17e
[build] Add db4_cxx to bitcoin_find_bdb48.m4
Added "db4_cxx" as this is the name used in NetBSD for the Berkeley DB library.  Without this additional base filename alternative, the "configure" script will fail to find this library and compilation will not succeed.
2018-01-29 21:15:51 +08:00
Wladimir J. van der Laan
f3c7062b7b
Merge #12159: Use the character based overload for std::string::find.
a73aab7 Use the character based overload for std::string::find. (Alin Rus)

Pull request description:

  std::string::find has a character based overload as can be seen here
  (4th oveload): http://www.cplusplus.com/reference/string/string/find/

  Use that instead of constantly allocating temporary strings.

Tree-SHA512: dc7684b1551e6d779eb989e9a74363f9b978059a7c0f3db09d01744c7e6452961f9e671173265e71efff27afbcb80c0fe2c11b6dff2290e54a49193fa25a5679
2018-01-29 14:08:09 +01:00
fanquake
c6b6385651
[rpc] Mention that HD is enabled if hdmasterkeyid is present 2018-01-29 21:00:27 +08:00
Wladimir J. van der Laan
9220426280
Merge #12108: [Refactor] Remove unused fQuit var from checkqueue.h
30ded3e [Refactor] Remove unused fQuit var from checkqueue.h (donaloconnor)

Pull request description:

  As per PR title, this var is no longer required

  Tested by doing a successful compile.

Tree-SHA512: 845e5e0a250cb99e353e8584e9af2df44d97683174e8caa1069bd192b72ab622063765f29676272aecaef87596d72c63ae628404e2f42555136ec2c26d419f2d
2018-01-29 13:21:50 +01:00
Wladimir J. van der Laan
3fa1ab4368
Merge #12095: [contrib] Use BDB_LIBS/CFLAGS and pass --disable-replication
f3196a0 [contrib] Add --disable-replication to install_db4 (fanquake)
311a423 [contrib] Use BDB_LIBS/CFLAGS in install_db4 (fanquake)

Pull request description:

  Switch install_db4 to use BDB_LIBS/BDB_CFLAGS, mentioned [here](https://github.com/bitcoin/bitcoin/pull/12041/files#r159616003).

  Pass ```--disable-replication``` to configure to match what we do in [depends](https://github.com/bitcoin/bitcoin/blob/master/depends/packages/bdb.mk#L9).

  Documentation about --disable-replication is available [here](https://docs.oracle.com/cd/E17275_01/html/programmer_reference/build_unix_small.html).

Tree-SHA512: 6f58728f27859614f499719583b0c2e8cd0ee89cb7e8fa34d1c54399877d6822ec2d8549c72ae4aff61daf7169bd330ad6ddc6c81e63008dedf028abd834f24c
2018-01-29 11:33:02 +01:00
Wladimir J. van der Laan
000ac4fd01
Merge #12197: Log debug build status and warn when running benchmarks
34328b4 Use PACKAGE_NAME instead of hardcoding application name in log message (Wladimir J. van der Laan)
0c74e2e Log debug build status and warn when running benchmarks (Wladimir J. van der Laan)

Pull request description:

  Log whether the starting instance of bitcoin core is a debug or release build (--enable-debug).

  Also warn when running the benchmarks with a debug build, to prevent mistakes comparing debug to non-debug results.

Tree-SHA512: f612dcb7d0a8435016cff0df8aef4942144dfb88be8a00df45cc8830d2aba4b167f6d397b83f8f57d57685888babd04ba88d4dac5a202d3dbd91bcbea3708ef0
2018-01-29 11:12:16 +01:00
Anthony Towns
a2808cf8a4 [tests] Fix names of excluded extended tests for travis 2018-01-29 20:09:15 +10:00
Wladimir J. van der Laan
1213be6c3a
Merge #12217: qa: Add missing syncwithvalidationinterfacequeue to tests
fa796bb qa: Add missing syncwithvalidationinterfacequeue to tests (MarcoFalke)

Pull request description:

  Fixes intermittent travis failures with those tests caused by a missing flush of mempool txes to the wallet.

Tree-SHA512: 4f57c93a81af9c07b36c16996bf3e6bbb2af61779f0d6ae0126b64563eb4ec4b53f64241c9cf4c3f322db56f4339fd939319747653bebc93bbc7e3d5dceedda6
2018-01-29 10:56:48 +01:00
João Barbosa
039425cf4f [wallet] Remove duplicate mapWallet lookups 2018-01-28 17:25:16 +00:00
practicalswift
1340eda3b7 Fix typos 2018-01-28 13:21:25 +01:00
MarcoFalke
9cf6393a4f
Merge #12270: Update chainTxData for 0.16
a8c344b913 Update chainTxData for 0.16 (Wladimir J. van der Laan)

Pull request description:

  Another part of the release process.

  Not sure I did this correctly @sipa . Output from `getchaintxstats`:

  mainnet:
  ```
  {
    "time": 1516903077,
    "txcount": 295363220,
    "window_block_count": 4320,
    "window_tx_count": 7882762,
    "window_interval": 2242748,
    "txrate": 3.514778298765621
  }
  ```
  testnet:
  ```
  {
    "time": 1516903490,
    "txcount": 17082348,
    "window_block_count": 4320,
    "window_tx_count": 227756,
    "window_interval": 2526261,
    "txrate": 0.090155371911295
  }
  ```

Tree-SHA512: 640b564f4c55d136910ab1acb81244052735cbd10afdeb1f206d86548c3753fb3184ee0d79adfd36c87ee1c5ca283d5d333c1d9f1d23716da149ca78370c7060
2018-01-27 20:46:50 -05:00
Suhas Daftuar
669c9433cf Avoid leaking prioritization information when relaying transactions 2018-01-25 18:02:24 -05:00
Suhas Daftuar
e868b22917 fee estimator: avoid sorting mempool on shutdown 2018-01-25 18:02:24 -05:00
Andrea Comand
a777244e48 Build: Add a makefile target for Doxygen documentation
You can now build the doxygen documentation with `make docs` and clean it with `make clean-docs`.

Fixes: #11949
2018-01-25 19:43:19 +01:00
Wladimir J. van der Laan
a8c344b913 Update chainTxData for 0.16
Another part of the release process.
2018-01-25 19:17:53 +01:00
Wladimir J. van der Laan
2ae7cf8ef5
Merge #12269: Update defaultAssumeValid to block 506067
bde8bcd Update defaultAssumeValid according to release-process.md. (Gregory Maxwell)

Pull request description:

  Update defaultAssumeValid according to release-process.md.
  Updated for block 506067 (0000000000000000005214481d2d96f898e3d5416e43359c145944a909d242e0).

Tree-SHA512: 38e6440a11609e56df816e295ceff697d29830a1d85009f920250320c474f8b04a182635b2f1ab44f54d0cdb8b4e4378336a788400e513d7482514434e53b3ff
2018-01-25 19:05:53 +01:00
Wladimir J. van der Laan
16bac24f60
Merge #12262: net: Hardcoded seed update
1e90544 net: Update hardcoded seeds (Wladimir J. van der Laan)
55f52bd contrib: Update ATTERN_AGENT to include 0.15.x (Wladimir J. van der Laan)

Pull request description:

  Update the hardcoded node addresses, after changing the pattern to include 0.15.x.

Tree-SHA512: 58b997393d77dcee3dcaffba0c6f185ca46c24d766b33d3a8c9d9efe5dd2e01f086b894a23e185120eee5054697e409b64736e53ca8e42b2315f82355c5f5d5c
2018-01-25 19:05:23 +01:00
Matt Corallo
082a61c69d Move scheduler/threadGroup into common-init instead of per-app
This resolves #12229 which pointed out a shutdown deadlock due to
scheduler/checkqueue having been shut down while network message
processing is still running.
2018-01-25 11:35:34 -05:00
Gregory Maxwell
bde8bcd8ad Update defaultAssumeValid according to release-process.md.
Updated for block 506067 (0000000000000000005214481d2d96f898e3d5416e43359c145944a909d242e0).
2018-01-25 15:35:30 +00:00
MarcoFalke
fa796bb695
qa: Add missing syncwithvalidationinterfacequeue to tests 2018-01-25 10:31:35 -05:00
MarcoFalke
598a9c4e4d
Merge #12264: Fix versionbits warning test
1e2e09e2f6 Fix intermittent failure in p2p-versionbits-warning.py (John Newbery)
3bbd843708 Improve comments/logging in p2p-versionbits-warning.py (John Newbery)
ef2beb2c13 Fix flake8 warnings in p2p-versionbits-warning.py (John Newbery)

Pull request description:

  fixes #12259 (and tidies up the test)

  The problem was that the node was still in IBD at the point the last block was generated. UpdateTip() will not generate a warning if the node is still in IBD:

  cc5870a405/src/validation.cpp (L2151)

  The 'proper' fix would be to remove the overenthusiastic latching in DoWarning:

  cc5870a405/src/validation.cpp (L2135)

  so that more than one warning message can be output to `alertnotify`. Really we should suppress multiple messages of the same type, but allow messages to be output if they're for different warnings. That would mean the test wouldn't need to stop-start the node.

Tree-SHA512: 5c9aa5af7eba3c1350ea28482d57d3d79e3166c6224ceddb5d5a631090081d890d7403015e41f413c22990959a488cf1231f88bb825c54a609b24f89c450a1f6
2018-01-25 08:04:51 -05:00
John Newbery
1e2e09e2f6 Fix intermittent failure in p2p-versionbits-warning.py
Makes following changes to fix and tidy up p2p-versionbits-warning.py:
- add node alias in the run() method
- call versionbits_in_alert_file() in a wait_until loop.
- don't clear out the alert.txt file
- explicitly comment why the node needs to be stop-started
- Verify that the node is out of IBD after stop-start (nodes in IBD do
not generate alert messages)
- no need to subclass P2PInterface
2018-01-25 07:34:58 -05:00
John Newbery
3bbd843708 Improve comments/logging in p2p-versionbits-warning.py 2018-01-25 07:34:58 -05:00
John Newbery
ef2beb2c13 Fix flake8 warnings in p2p-versionbits-warning.py 2018-01-25 07:34:58 -05:00
MarcoFalke
6970b30c6f
Merge #11774: [tests] Rename functional tests
6f881cc880 [tests] Remove EXPECTED_VIOLATION_COUNT (Anthony Towns)
3150b3fea7 [tests] Rename misc functional tests. (Anthony Towns)
81b79f2c39 [tests] Rename rpc_* functional tests. (Anthony Towns)
61b8f7f273 [tests] Rename p2p_* functional tests. (Anthony Towns)
90600bc7db [tests] Rename wallet_* functional tests. (Anthony Towns)
ca6523d0c8 [tests] Rename feature_* functional tests. (Anthony Towns)

Pull request description:

  This PR changes the functional tests to have a consistent naming scheme:

      tests for individual RPC methods are named rpc_...
      tests for interfaces (REST, ZMQ, RPC features) are named interface_...
      tests that explicitly test the p2p interface are named p2p_...
      tests for wallet features are named wallet_...
      tests for mining features are named mining_...
      tests for mempool behaviour are named mempool_...
      tests for full features that aren't wallet/mining/mempool are named feature_...

  Rationale: it's sometimes difficult for new contributors to know what's already covered by existing tests and where new tests should be added. Naming in a consistent fashion makes it easier to see what's already covered at a glance.

Tree-SHA512: 4246790552d42bbd95f6d5bdf67702b81b3b2c583ce7eaf1fe6d8e254721279b47315973c6e9ae82dad6e4c747f12188160764bf2624c0f8f3b4d39330ec8b16
2018-01-24 20:43:13 -05:00
Anthony Towns
6f881cc880 [tests] Remove EXPECTED_VIOLATION_COUNT 2018-01-25 09:44:30 +10:00
Anthony Towns
3150b3fea7 [tests] Rename misc functional tests. 2018-01-25 09:44:30 +10:00
Anthony Towns
81b79f2c39 [tests] Rename rpc_* functional tests. 2018-01-25 09:44:29 +10:00
Anthony Towns
61b8f7f273 [tests] Rename p2p_* functional tests. 2018-01-25 09:44:29 +10:00
Anthony Towns
90600bc7db [tests] Rename wallet_* functional tests. 2018-01-25 09:44:29 +10:00
Anthony Towns
ca6523d0c8 [tests] Rename feature_* functional tests. 2018-01-25 09:44:29 +10:00