MarcoFalke
4d550ffab6
Merge #13806 : qa: Fix bench/block_assemble assert failure
...
6f53edb395
Acquire cs_main before ATMP call in block_assemble bench (James O'Beirne)
Pull request description:
Calling `bench_bitcoin` currently fails due to calling ATMP without acquiring cs_main first in the recently added block_assemble bench (https://github.com/bitcoin/bitcoin/pull/13219 ).
```
$ cat <(uname -a) <(gcc --version)
Linux james 4.4.0-119-generic #143+jamesob SMP Mon Apr 16 21:47:24 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
$ ./src/bench/bench_bitcoin
WARNING: This is a debug build - may result in slower benchmarks.
# Benchmark, evals, iterations, total, min, max, median
Assertion failed: lock cs_main not held in validation.cpp:566; locks held:
[1] 19323 abort (core dumped) ./src/bench/bench_bitcoin
```
```
(gdb) bt
#0 0x00007fbdc9cf5428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007fbdc9cf702a in __GI_abort () at abort.c:89
#2 0x0000555a19580dc5 in AssertLockHeldInternal (pszName=pszName@entry=0x555a19834549 "cs_main",
pszFile=pszFile@entry=0x555a1988a001 "validation.cpp", nLine=nLine@entry=566, cs=cs@entry=0x555a19ba55c0 <cs_main>) at sync.cpp:157
#3 0x0000555a194b395f in AcceptToMemoryPoolWorker (chainparams=..., pool=..., state=...,
ptx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0, pfMissingInputs=pfMissingInputs@entry=0x0, nAcceptTime=1532964079,
plTxnReplaced=0x0, bypass_limits=false, nAbsurdFee=@0x7ffcbc1719d8: 0, coins_to_uncache=std::vector of length 0, capacity 0,
test_accept=false) at validation.cpp:566
#4 0x0000555a194ba661 in AcceptToMemoryPoolWithTime (chainparams=..., pool=..., state=...,
tx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0, pfMissingInputs=pfMissingInputs@entry=0x0, nAcceptTime=<optimized out>,
plTxnReplaced=0x0, bypass_limits=false, nAbsurdFee=0, test_accept=false) at validation.cpp:998
#5 0x0000555a194ba7ce in AcceptToMemoryPool (pool=..., state=..., tx=std::shared_ptr (count 1, weak 0) 0x555a1bb819b0,
pfMissingInputs=pfMissingInputs@entry=0x0, plTxnReplaced=plTxnReplaced@entry=0x0, bypass_limits=bypass_limits@entry=false, nAbsurdFee=0,
test_accept=false) at validation.cpp:1014
#6 0x0000555a19363fbe in AssembleBlock (state=...) at bench/block_assemble.cpp:102
#7 0x0000555a193654d3 in std::_Function_handler<void (benchmark::State&), void (*)(benchmark::State&)>::_M_invoke(std::_Any_data const&, benchmark::State&) (__functor=..., __args#0=...) at /usr/include/c++/5/functional:1871
#8 0x0000555a193501d7 in std::function<void (benchmark::State&)>::operator()(benchmark::State&) const (this=this@entry=0x555a1ba2cda0,
__args#0=...) at /usr/include/c++/5/functional:2267
#9 0x0000555a1934ec4c in benchmark::BenchRunner::RunAll (printer=..., num_evals=5, scaling=<optimized out>, filter=..., is_list_only=false)
at bench/bench.cpp:121
#10 0x0000555a1934ade9 in main (argc=<optimized out>, argv=<optimized out>) at bench/bench_bitcoin.cpp:92
```
Tree-SHA512: fdd7b28ff123ccea7a4f334d53f735d0c0f94aa9cc52520c2dd34dca45d78c691af64efcd32366fc472fedffbd79591d2be2bb3bfc4a5186e8712b6b452d64e3
2018-07-30 12:11:01 -04:00
Suhas Daftuar
a13647b8bd
[qa] Add test for too-large wallet output groups
2018-07-30 12:08:23 -04:00
James O'Beirne
6f53edb395
Acquire cs_main before ATMP call in block_assemble bench
...
Otherwise we fail an assert in sync.cpp:AssertLockHeldInternal.
2018-07-30 12:08:22 -04:00
MarcoFalke
feb7dd93d1
Merge #13803 : doc: add note to contributor docs about warranted PR's
...
db213aa47f
doc: add note to contributor docs about warranted PR's (Karl-Johan Alm)
Pull request description:
Tree-SHA512: 39d4085ec0217c56b0d6a34e95d7b7a18e0373ec25549e6460cb8ef16218a6060f15e539ec2f8cceccd1188d2769e14fc276071f214ceb80db9b08ec5c24ccef
2018-07-30 11:37:20 -04:00
Karl-Johan Alm
db213aa47f
doc: add note to contributor docs about warranted PR's
2018-07-30 23:47:46 +09:00
Chun Kuan Lee
284f424d5a
Fix osslsigncode compile issue in gitian-build
2018-07-30 22:43:24 +08:00
Suhas Daftuar
57ec1c97b2
[wallet] correctly limit output group size
2018-07-30 10:43:16 -04:00
Wladimir J. van der Laan
63d73f5bc8
Merge #13554 : Remove unused function arguments
...
bd9d0690dc
Remove unused argument to WitnessSigOps(...) (practicalswift)
d1d7cfebd2
Remove unused argument to DefaultOptions(...) (practicalswift)
05dbb0c042
Remove unused argument to ThreadHTTP(...) (practicalswift)
Pull request description:
Remove unused function arguments.
Tree-SHA512: 9933b6d34ff00a32d2f06a2e542d1225bdfb2c960599f01a8ff0427324b3529db49f19ffdbf54059acbbef5ca87f4c3169e97082169022022cd1e3afa7aaa56d
2018-07-30 16:30:54 +02:00
Wladimir J. van der Laan
f8685f461b
Merge #13764 : contrib: Fix test-security-check fail in Ubuntu 18.04
...
1e60713a68
contrib: Fix test-security-check fail in Ubuntu 18.04 (Chun Kuan Lee)
Pull request description:
- Fix test-security-check fail in Ubuntu 18.04. Those flags are enabled by default, so we must specify `-no` to make the executable does 'not' have those attributes.
- Drop HIGH_ENTROPY_VA. After update our gitian system to Bionic, the compiler should support HIGH_ENTROPY_VA
Tree-SHA512: 78c1f2aae1253ddd52faa1af569b7151a503a217c7ccbe21b8004d8910c45d8a27ff04695eacbdadd7192d2c91c0d59941ca20c651dd2d5052b9999163a11ae4
2018-07-30 16:11:59 +02:00
MarcoFalke
fa587773e5
scripted-diff: Remove unused first argument to addUnchecked
...
-BEGIN VERIFY SCRIPT-
git grep -l addUnchecked | xargs sed --regexp-extended -i -e 's/addUnchecked\([^)][^,]+,\s*/addUnchecked(/g'
-END VERIFY SCRIPT-
2018-07-30 09:09:32 -04:00
MarcoFalke
fe5c49766c
tx pool: Use the entry's hash instead of the one passed to addUnchecked
2018-07-30 08:57:49 -04:00
MarcoFalke
ddd395f968
Mark CTxMemPoolEntry members that should not be modified const
2018-07-30 08:57:49 -04:00
Pieter Wuille
04ce0d88ca
Report when unknown config file options are ignored
2018-07-30 00:35:44 -07:00
Ben Woosley
23f4343781
Add CMerkleTx::IsImmatureCoinBase method
...
All but one call to GetBlocksToMaturity is testing it relative to 0
for the purposes of determining whether the coinbase tx is immature.
In such case, the value greater than 0 implies that the tx is coinbase,
so there is no need to separately test that status.
This names the concept for easy singular use.
2018-07-29 19:49:14 -04:00
MarcoFalke
fa6094f152
chainparams: Update with data from assumed valid chain
2018-07-29 13:30:41 -04:00
Wladimir J. van der Laan
222e627322
doc: Add historical release notes for 0.16.2
...
Tree-SHA512: 39601090cbfbc51b00426696c118758953d3eb5e0323e9105a5aabb63ab22eb1b3edbabb541bb7a24869c53624dee3c220fd2c1f3fbe627f8d9d168a23064393
2018-07-29 19:02:26 +02:00
TheCharlatan
00db418176
Add aarch64 qt depends support for cross compiling bitcoin-qt
2018-07-29 15:59:55 +02:00
MarcoFalke
e8ffec69f7
Merge #13732 : Depends: Fix Qt's rcc determinism
...
6b5506a286
Fix Qt's rcc determinism for depends/gitian (Fuzzbawls)
Pull request description:
With the update to Qt 5.9 having been merged, Qt's `rcc` tool now embeds a file's last modified time in it's output. Since the build system generates temporary files for all locale translations (`*.qm` files) at build time, the resulting `qrc_bitcoin_locale.cpp` file was always being generated in a non-deterministic way.
This is a backport of https://bugreports.qt.io/browse/QTBUG-62511 , which is included in Qt versions 5.11+, that allows for an environment variable (`QT_RCC_SOURCE_DATE_OVERRIDE`) to override the behavior described above. This environment variable is in turn set in the gitian descriptors, as that is where determinism is vital for release purposes.
Prior to this, the `qt_libbitcoinqt_a-qrc_bitcoin_locale.o` object file (included into `libbitcoinqt.a`) was returning a different `sha256sum` for each and every build, regardless of file contents change, thus breaking determinism in the resulting binaries.
This should fix #13731
Tree-SHA512: 174017e41f9afc3950ef54a9419de81577ec900db9aec3c78ccd3d879c6aecaaeb944fde0615b933f43e6ca9d7898a27ec071cdd0b91cb772755a3012de96725
2018-07-29 08:06:45 -04:00
MarcoFalke
fa5ed4f8d2
refactor: Avoid locking tx pool cs thrice
2018-07-29 08:04:06 -04:00
MarcoFalke
ad51e1372b
Merge #13774 : Return void instead of bool for functions that cannot fail
...
d78a8dc3e8
Return void instead of bool for functions that cannot fail (practicalswift)
Pull request description:
Return `void` instead of `bool` for functions that cannot fail:
* `CBlockTreeDB::ReadReindexing(...)`
* `CChainState::ResetBlockFailureFlags(...)`
* `CTxMemPool::addUnchecked(...)`
* `CWallet::CommitTransaction(...)`
* `CWallet::LoadDestData(...)`
* `CWallet::LoadKeyMetadata(...)`
* `CWallet::LoadScriptMetadata(...)`
* `CWallet::LoadToWallet(...)`
* `CWallet::SetHDChain(...)`
* `CWallet::SetHDSeed(...)`
* `PendingWalletTx::commit(...)`
* `RemoveLocal(...)`
* `SetMinVersion(...)`
* `StartHTTPServer(...)`
* `StartRPC(...)`
* `TorControlConnection::Disconnect(...)`
Some of the functions can fail by throwing.
Found by manually inspecting the following candidate functions:
```
$ git grep -E '(^((static|virtual|inline|friend)[^a-z])*[^a-z]*bool [^=]*\(|return true|return false)' -- "*.cpp" "*.h"
```
Tree-SHA512: c0014e045362dbcd1a0cc8f69844e7b8cbae4f538e7632028daeca3a797ac11d8d3d86ebc480bedcb8626df3e96779d592747d52a12556fc49921b114fa0ccc6
2018-07-29 07:56:36 -04:00
Pieter Wuille
f6b7fc349c
Support h instead of ' in hardened descriptor paths
2018-07-27 12:21:12 -07:00
Jonas Schnelli
fddea672eb
Add experimental warning to scantxoutset
2018-07-27 11:52:45 -07:00
Pieter Wuille
6495849bfd
[QA] Extend tests to more combinations
2018-07-27 11:52:45 -07:00
Jonas Schnelli
1af237faef
[QA] Add xpub range tests in scantxoutset tests
2018-07-27 11:52:45 -07:00
Pieter Wuille
151600bb49
Swap in descriptors support into scantxoutset
2018-07-27 11:52:45 -07:00
Pieter Wuille
0652c3284f
Descriptor tests
2018-07-27 11:52:45 -07:00
Pieter Wuille
fe8a7dcd78
Output descriptors module
2018-07-27 11:52:45 -07:00
Pieter Wuille
e54d76044b
Add simple FlatSigningProvider
2018-07-27 11:52:18 -07:00
Pieter Wuille
29943a904a
Add more methods to Span class
...
This introduces a rudimentary begin(), end(), operator[], and subspan to Span.
2018-07-27 11:52:18 -07:00
MarcoFalke
ef4fac0ea5
Merge #13775 : doc: Remove newlines from error message
...
620361fce8
Fix accidental use of the addition assignment operator ("+="). Remove newlines from error message. (practicalswift)
Pull request description:
Fix accidental use of the addition assignment operator (`+=`).
_Note to reviewers:_ Perhaps the `\n`:s should be removed too?
Tree-SHA512: 4e8c2dfd6025d78ef9d60522297994829dacc447e6b6782e15c0bdd5dd2daa17ca9a8948bfa9a15be57d9286092356381d7e6747980303852d273eb0df0dd76b
2018-07-27 14:38:46 -04:00
practicalswift
620361fce8
Fix accidental use of the addition assignment operator ("+="). Remove newlines from error message.
2018-07-27 18:47:03 +02:00
MarcoFalke
365384fd9f
Merge #13771 : travis: Retry to fetch docker image
...
faaf49147c
travis: Retry to fetch docker image (MarcoFalke)
Pull request description:
Maybe prevents some of these network errors: https://travis-ci.org/bitcoin/bitcoin/jobs/408607854#L419 ?
Tree-SHA512: c3837c2391921c16da95e9b288b3156426193578e4e6de83de7d4e7f422eb88415c471c578ec6fed266cb231f49b4af851bf195dce88776c7677c653cf125911
2018-07-27 11:48:23 -04:00
MarcoFalke
f98d1e0008
Merge #13711 : [bench] Add benchmark for unserialize prevector
...
46340b3337
[bench] Add benchmark for unserialize prevector (Akio Nakamura)
Pull request description:
This PR adds benchmarks for the unserialization of the prevector.
Note: Separated from #12324 .
Tree-SHA512: c055a283328cc2634c01eb60f26604a8665939bbf77d367b6ba6b4e01e77d4511fab69cc3ddb1e62969adb3c48752ed870f45ceba153eee192302601341e18a7
2018-07-27 11:44:10 -04:00
practicalswift
d78a8dc3e8
Return void instead of bool for functions that cannot fail
...
* CBlockTreeDB::ReadReindexing(...)
* CChainState::ResetBlockFailureFlags(...)
* CTxMemPool::addUnchecked(...)
* CWallet::LoadDestData(...)
* CWallet::LoadKeyMetadata(...)
* CWallet::LoadScriptMetadata(...)
* CWallet::LoadToWallet(...)
* CWallet::SetHDChain(...)
* CWallet::SetHDSeed(...)
* RemoveLocal(...)
* SetMinVersion(...)
* StartHTTPServer(...)
* StartRPC(...)
* TorControlConnection::Disconnect(...)
2018-07-27 13:19:03 +02:00
DrahtBot
3fc20632a3
qt: Set BLOCK_CHAIN_SIZE = 220
2018-07-27 07:15:37 -04:00
DrahtBot
2b6a2f4a28
Regenerate manpages
2018-07-27 07:15:29 -04:00
DrahtBot
eb7daf4d60
Update copyright headers to 2018
2018-07-27 07:15:02 -04:00
Julian Fleischer
9730d3af31
make .travis/yml a bit more readable
2018-07-27 11:53:40 +02:00
practicalswift
2fb0066b99
net: Add missing verification of IPv6 address in CNetAddr::GetIn6Addr(...)
2018-07-27 08:41:20 +02:00
MarcoFalke
89a116dc0b
Merge #13773 : wallet: Fix accidental use of the comma operator
...
aecd615ad7
wallet: Fix accidental use of the comma operator (practicalswift)
Pull request description:
Fix accidental use of the comma operator.
Tree-SHA512: 035bf497343996c67a2fe25f367d1a416811b518cb9c7a18ce92355627871614e40db699e869881f941bc51e47fb94022f5ae13e7f01462ef35249b2dd3647a0
2018-07-26 18:26:25 -04:00
practicalswift
aecd615ad7
wallet: Fix accidental use of the comma operator
2018-07-26 23:33:16 +02:00
MarcoFalke
faaf49147c
travis: Retry to fetch docker image
2018-07-26 13:51:15 -04:00
Wladimir J. van der Laan
f58674a20a
Merge #13423 : [net] Thread safety annotations in net_processing
...
1e3bcd2517
[net_processing] Add thread safety annotations (Jesse Cohen)
f393a533be
Annotate AssertLockHeld() with ASSERT_CAPABILITY() for thread safety analysis (Jesse Cohen)
Pull request description:
(note that this depends on #13417 )
This commit fully annotates all globals in net_processing with clang thread safety annotations. Subsequent commits will begin transitioning some of this data away from cs_main into locks that are local to net_processing. Static thread safety analysis should it easier to verify correctness of that process.
Tree-SHA512: b47aa410cb9ada21072370176aea9a74c575643fa1ee8cf1d43c8e28675eef17f33e5242ac422f840e8178e132ecb58412034c6334b68f1b57c686df80d4e8e2
2018-07-26 19:13:56 +02:00
practicalswift
1ac3c983bf
Mark single-argument constructors "explicit"
2018-07-26 17:15:32 +02:00
MarcoFalke
415f2bff69
Merge #13095 : build: update ax_boost_chrono/unit_test_framework
...
aa85dcf472
build: sync ax_boost_chrono/unit_test (fanquake)
Pull request description:
[ax_boost_chrono](https://github.com/bitcoin/bitcoin/blob/master/build-aux/m4/ax_boost_chrono.m4 ) and [ax_boost_unit_test_framework](https://github.com/bitcoin/bitcoin/blob/master/build-aux/m4/ax_boost_unit_test_framework.m4 ) were updated from upstream in #12678 . However some minor upstream changes were missed. Pull those changes in here so these files actually reflect their upstream serial.
Tree-SHA512: 71d9ee7a1616d9d36e6f63dedb6687918c3662bde724cdda1fdf3eb039c8973acd166273876a9b2671a7e087149fcf956552f9f2b946e5ee1835d12944c0065d
2018-07-26 08:54:59 -04:00
Chun Kuan Lee
1e60713a68
contrib: Fix test-security-check fail in Ubuntu 18.04
2018-07-26 17:10:13 +08:00
Fuzzbawls
6b5506a286
Fix Qt's rcc determinism for depends/gitian
...
Backport of https://bugreports.qt.io/browse/QTBUG-62511 to resolve
locale determinism during the build process.
2018-07-25 13:53:53 -07:00
Jesse Cohen
1e3bcd2517
[net_processing] Add thread safety annotations
2018-07-25 15:23:53 -04:00
Jesse Cohen
f393a533be
Annotate AssertLockHeld() with ASSERT_CAPABILITY() for thread safety analysis
2018-07-25 10:31:27 -04:00
MarcoFalke
29b4ee6469
Merge #13714 : contrib: Add lxc network setup for Bionic host
...
60c3c23a63
[contrib] Add automatic setup for Ubuntu Bionic (Chun Kuan Lee)
Pull request description:
Tree-SHA512: db7a67df34c143647098bd5cb499b5ebc8d6847bf5e20dc3b4d6093a1649dcf42007d02b40e95b1fa76c0aadecc1eb2374ca9ca247bdd6358a08a6c4358f4b9c
2018-07-25 09:57:08 -04:00