Commit graph

88 commits

Author SHA1 Message Date
Byron Hambly
cbd7b123d9 Merge fc06881f13 into merged_master (Bitcoin PR bitcoin/bitcoin#27491) 2025-06-19 16:08:36 +02:00
Byron Hambly
5ac82e15a9 Merge 669af32632 into merged_master (Bitcoin PR bitcoin/bitcoin#27419) 2025-05-09 11:47:45 +02:00
Byron Hambly
e9ec524089 Merge 4c6b7d330a into merged_master (Bitcoin PR bitcoin/bitcoin#27297) 2025-04-11 21:00:39 +02:00
Byron Hambly
e268f3a7eb Merge a70911492f into merged_master (Bitcoin PR bitcoin/bitcoin#26749)
includes a FIXME for rpc_psbt.py that must have happened in the merge of
bitcoin/bitcoin#27200
2025-04-11 20:49:25 +02:00
Byron Hambly
4ec18086ff Merge a245429d68 into merged_master (Bitcoin PR bitcoin/bitcoin#26940) 2025-04-07 10:05:17 +02:00
Tom Trevethan
694c51a39f Merge 3212d104f4 into merged_master (Bitcoin PR bitcoin/bitcoin#23829) 2025-04-01 15:23:27 +00:00
Byron Hambly
b4405ba453 Merge e9262ea32a into merged_master (Bitcoin PR bitcoin/bitcoin#26750) 2025-03-31 16:37:52 +02:00
James Dorfman
31df518140 Merge 7b3343f300 into merged_master (Bitcoin PR bitcoin/bitcoin#25108) 2024-08-13 04:20:55 +00:00
James Dorfman
15be649a16 Merge 5c93fc188d into merged_master (Bitcoin PR bitcoin/bitcoin#25017) 2024-08-08 20:07:18 +00:00
James Dorfman
3ef748701c Merge c1059c9fef into merged_master (Bitcoin PR bitcoin/bitcoin#24770) 2024-07-30 02:08:55 +00:00
Byron Hambly
47626b5a64 Merge 623745ca74 into merged_master (Bitcoin PR bitcoin/bitcoin#23912) 2023-06-14 15:44:11 +00:00
James Dorfman
8060516e6b Merge 3c4729a515 into merged_master (Bitcoin PR bitcoin/bitcoin#23223) 2023-05-17 00:23:54 +00:00
TheCharlatan
ba8fc7d788
refactor: Replace string chain name constants with ChainTypes
This commit effectively moves the definition of these constants
out of the chainparamsbase to their own file.

Using the ChainType enums provides better type safety compared to
passing around strings.

The commit is part of an ongoing effort to decouple the libbitcoinkernel
library from the ArgsManager and other functionality that should not be
part of the kernel library.
2023-05-09 15:49:14 +02:00
TheCharlatan
be55f545d5
move-only: Extract common/args and common/config.cpp from util/system
This is an extraction of ArgsManager related functions from util/system
into their own common file.

Config file related functions are moved to common/config.cpp.

The background of this commit is an ongoing effort to decouple the
libbitcoinkernel library from the ArgsManager. The ArgsManager belongs
into the common library, since the kernel library should not depend on
it. See doc/design/libraries.md for more information on this rationale.
2023-04-19 10:48:30 +02:00
MarcoFalke
fae349076d
test: Remove unused Check* default constructors 2023-03-22 12:37:07 +01:00
Hennadii Stepanov
95ad70ab65
test: Default initialize should_freeze to true
It is safe now, when move semantics is used instead of a custom swap
function.
2023-03-21 13:05:00 +00:00
Hennadii Stepanov
cea50521fe
refactor: Drop no longer used swap member functions 2023-03-21 13:04:53 +00:00
Hennadii Stepanov
9a0b524139
clang-tidy, test: Fix bugprone-use-after-move in Correct_Queue_range() 2023-03-21 13:04:12 +00:00
Hennadii Stepanov
04831fee6d
refactor: Make move semantics explicit for callers 2023-03-21 13:04:01 +00:00
Hennadii Stepanov
6c2d5972f3
refactor: Use move semantics in CCheckQueue::Add
Co-authored-by: Martin Leitner-Ankerl <martin.ankerl@gmail.com>
2023-03-21 13:03:41 +00:00
Jon Atack
81f5ade2a3 Move random test util code from setup_common to random
as many of the unit tests don't use this code
2023-02-06 12:26:04 -08:00
Pasta
f2fc03ec85
refactor: use braced init for integer constants instead of c style casts 2023-01-03 19:31:29 -06:00
Hennadii Stepanov
306ccd4927
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
- 2021: f47dda2c58
- 2020: fa0074e2d8
- 2019: aaaaad6ac9
2022-12-24 23:49:50 +00:00
fanquake
7aa40f5563
refactor: use C++11 default initializers 2022-05-17 17:18:58 +01:00
Jon Atack
e5485e8e4b test, bench: make prevector and checkqueue swap member functions noexcept
Reason:
A swap must not fail; when a class has a swap member function, it should be declared noexcept.
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c84-a-swap-function-must-not-fail
2022-04-28 20:34:43 +02:00
Jon Atack
39a34b6877
Put lock logging behind DEBUG_LOCKCONTENTION preprocessor directive 2022-04-05 12:49:48 +02:00
Hennadii Stepanov
f47dda2c58
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
* 2020: fa0074e2d8
* 2019: aaaaad6ac9
2021-12-30 19:36:57 +02:00
Jon Atack
6ae9f1cf96
Disable lock contention logging in checkqueue_tests
as some of these tests are designed to be heavily contested to trigger race
conditions or other issues. This created very large log files when run with
DEBUG_LOCKCONTENTION defined (up to v22) or with lock logging enabled by default
in current master.

Examples running the following command:

./src/test/test_bitcoin -t checkqueue_tests/test_CheckQueue_Correct_Random -- DEBUG_LOG_OUT > testlog.txt

-rw-r--r--   87042178 Oct  8 12:41 testlog-with-DEBUG_LOCKCONTENTION-at-v22-run1.txt
-rw-r--r--   73879896 Oct  8 12:42 testlog-with-DEBUG_LOCKCONTENTION-at-v22-run2.txt
-rw-r--r--   65150518 Oct  8 12:51 testlog-with-DEBUG_LOCKCONTENTION-at-bb9f76a-run1.txt
-rw-r--r--   65774554 Oct  8 12:52 testlog-with-DEBUG_LOCKCONTENTION-at-bb9f76a-run2.txt
-rw-r--r--   73493309 Oct  8 13:00 testlog-current-master-at-991753e-run1.txt
-rw-r--r--   65616977 Oct  8 13:01 testlog-current-master-at-991753e-run2.txt
-rw-r--r--       5093 Oct  8 13:04 testlog-with-this-commit-run1.txt
-rw-r--r--       5093 Oct  8 13:05 testlog-with-this-commit-run2.txt
2021-10-08 13:19:19 +02:00
Andrew Poelstra
8c54b98b25 Merge e0bc27a14c into merged_master (Bitcoin PR #21404) 2021-06-26 22:39:09 +00:00
Andrew Poelstra
bc289db9e0 Merge d0d256536c into merged_master (Bitcoin PR #21016)
Copied the node.scheduler syntax to node.reverification_scheduler
2021-06-20 15:17:57 +00:00
Andrew Poelstra
a7f2499713 Merge b386d37360 into merged_master (Bitcoin PR #18710) 2021-06-18 19:12:18 +00:00
Andrew Poelstra
e5cb4cb00e Merge f13e03cda2 into merged_master (Bitcoin PR #20584) 2021-06-16 20:58:56 +00:00
Andrew Poelstra
1670bdfa0b ci: fix benchmarks, fuzztests and unit tests
Includes a memory leak in the checkqueue unit test (but not in
the actual code). WE really need to switch our checkqueue to use
std::unique_pointer rather than bare pointers. But this would be
invasive enough that I want to do it in a followup PR.

Also pretty-much disable the validation_flush_cache unit test.
This is a stupid and irritating test which tries to unit-test
exact memory usage of std containers. It already has at least
one "remove wrong assumptions" update upstream and after many
tries I was unable to change all the magic numbers in a way
that'd consistently pass CI for Elements.

Also adds a couple ubsan suppressions about perfectly-legitimate
conversions of integer types.
2021-03-26 17:33:05 +00:00
fanquake
3ba2840e7e
scripted-diff: remove MakeUnique<T>()
-BEGIN VERIFY SCRIPT-
git rm src/util/memory.h
sed -i -e 's/MakeUnique/std::make_unique/g' $(git grep -l MakeUnique src)
sed -i -e '/#include <util\/memory.h>/d' $(git grep -l '#include <util/memory.h>' src)
sed -i -e '/util\/memory.h \\/d' src/Makefile.am
-END VERIFY SCRIPT-
2021-03-11 13:45:14 +08:00
fanquake
dc8be12510
refactor: remove boost::thread_group usage 2021-01-29 15:39:44 +08:00
Wladimir J. van der Laan
b386d37360
Merge #18710: Add local thread pool to CCheckQueue
bb6fcc75d1 refactor: Drop boost::thread stuff in CCheckQueue (Hennadii Stepanov)
6784ac471b bench: Use CCheckQueue local thread pool (Hennadii Stepanov)
dba30695fc test: Use CCheckQueue local thread pool (Hennadii Stepanov)
01511776ac Add local thread pool to CCheckQueue (Hennadii Stepanov)
0ef938685b refactor: Use member initializers in CCheckQueue (Hennadii Stepanov)

Pull request description:

  This PR:
  - gets rid of `boost::thread_group` in the `CCheckQueue` class
  - allows thread safety annotation usage in the `CCheckQueue` class
  - is alternative to #14464 (https://github.com/bitcoin/bitcoin/pull/18710#issuecomment-616618525, https://github.com/bitcoin/bitcoin/pull/18710#issuecomment-617291612)

  Also, with this PR (I hope) it could be easier to resurrect a bunch of brilliant ideas from #9938.

  Related: #17307

ACKs for top commit:
  laanwj:
    Code review ACK bb6fcc75d1
  LarryRuane:
    ACK bb6fcc75d1
  jonatack:
    Code review ACK bb6fcc75d1 and verified rebase to master builds cleanly with unit/functional tests green

Tree-SHA512: fddeb720d5a391b48bb4c6fa58ed34ccc3f57862fdb8e641745c021841c8340e35c5126338271446cbd98f40bd5484f27926aa6c3e76fa478ba1efafe72e73c1
2021-01-25 20:21:19 +01:00
practicalswift
1c65c075ee Don't declare de facto const member functions as non-const 2020-12-06 18:44:25 +00:00
Andrew Poelstra
195eb8a243 Merge 4ede05d421 into merged_master (Bitcoin PR #18758) 2020-11-26 01:08:58 +00:00
Andrew Poelstra
5b9754580e Merge 55b4c65bd1 into merged_master (Bitcoin PR #16127) 2020-11-26 01:08:51 +00:00
Andrew Poelstra
fd37b7c5d6 Merge 54f812d9d2 into merged_master (Bitcoin PR #18673) 2020-11-26 01:08:23 +00:00
Andrew Poelstra
cc668250eb Merge 97aadf98d0 into merged_master (Bitcoin PR #16117) 2020-11-26 01:07:50 +00:00
Andrew Poelstra
f5606e5e2b Merge 35eda631ed into merged_master (Bitcoin PR #17634) 2020-11-14 16:51:51 +00:00
Andrew Poelstra
3f2190d870 Merge 7d14e35f3f into merged_master (Bitcoin PR #17342) 2020-11-09 23:10:08 +00:00
Andrew Poelstra
056b9bb06d Merge 46fc4d1a24 into merged_master (Bitcoin PR #17384) 2020-11-09 23:10:08 +00:00
Andrew Poelstra
9274da2dfc Merge 7400135b79 into merged_master (Bitcoin PR #16278) 2020-11-09 03:58:17 +00:00
Andrew Poelstra
e6343c7258 Merge 0c9de67f34 into merged_master (Bitcoin PR #15352) 2020-10-28 16:43:51 +00:00
Andrew Poelstra
161bcd2ae8 Merge 78295e97b8 into merged_master (Bitcoin PR #15788) 2020-10-28 16:43:03 +00:00
Hennadii Stepanov
bb6fcc75d1
refactor: Drop boost::thread stuff in CCheckQueue 2020-09-24 06:55:34 +03:00
Hennadii Stepanov
dba30695fc
test: Use CCheckQueue local thread pool 2020-09-24 06:55:33 +03:00
Hennadii Stepanov
89f9fef1f7 refactor: Specify boost/thread/thread.hpp explicitly 2020-06-04 10:05:54 -04:00