0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-03 09:56:38 -05:00
Commit graph

39434 commits

Author SHA1 Message Date
ismaelsadeeq
91504cbe0d rpc: SyncWithValidationInterfaceQueue on fee estimation RPC's
This ensures that the most recent fee estimation data is used for the
fee estimation with `estimateSmartfee` and `estimaterawfee` RPC's.
2023-11-22 11:48:21 +01:00
ismaelsadeeq
714523918b tx fees, policy: CBlockPolicyEstimator update from CValidationInterface notifications
`CBlockPolicyEstimator` will implement `CValidationInterface` and
subscribe to its notification to process transactions added and removed
from the mempool.

Re-delegate calculation of `validForFeeEstimation` from validation to fee estimator.

Also clean up the validForFeeEstimation arg thats no longer needed in `CTxMempool`.

Co-authored-by: Matt Corallo <git@bluematt.me>
2023-11-22 11:48:21 +01:00
ismaelsadeeq
dff5ad3b99 CValidationInterface: modify the parameter of TransactionAddedToMempool
Create a new struct `NewMempoolTransactionInfo` that will be used as the new parameter of
`TransactionAddedToMempool` callback.
2023-11-22 11:48:21 +01:00
ismaelsadeeq
91532bd382 tx fees, policy: update CBlockPolicyEstimator::processBlock parameter
Update `processBlock` parameter to reference to a vector of `RemovedMempoolTransactionInfo`.
2023-11-22 11:48:21 +01:00
ismaelsadeeq
bfcd401368 CValidationInterface, mempool: add new callback to CValidationInterface
This commit adds a new callback `MempoolTransactionsRemovedForBlock` which notify
its listeners of the transactions that are removed from the mempool because a new
block is connected, along with the block height the transactions were removed.
The transactions are in `RemovedMempoolTransactionInfo` format.

`CTransactionRef`, base fee, virtual size, and height which the transaction was added
to the mempool are all members of the struct called `RemovedMempoolTransactionInfo`.

A struct `NewMempoolTransactionInfo`, which has fields similar to `RemovedMempoolTransactionInfo`,
will be added in a later commit, create a struct `TransactionInfo` with all similar fields.
They can both have a member with type `TransactionInfo`.
2023-11-22 11:48:21 +01:00
ismaelsadeeq
0889e07987 tx fees, policy: cast with static_cast instead of C-Style cast 2023-11-22 11:48:21 +01:00
ismaelsadeeq
a0e3eb7549 tx fees, policy: bugfix: move removeTx into reason != BLOCK condition
If the removal reason of a transaction is BLOCK, then the `removeTx`
boolean argument should be true.

Before this PR, `CBlockPolicyEstimator` have to complete updating the fee stats
before the mempool clears that's why having removeTx call outside reason!= `BLOCK`
in `addUnchecked` was not a bug.

But in a case where the `CBlockPolicyEstimator` update is asynchronous, the mempool might
clear before we update the `CBlockPolicyEstimator` fee stats.
Transactions that are removed for `BLOCK` reasons will also be incorrectly removed from
`CBlockPolicyEstimator` stats as failures.
2023-11-22 11:48:21 +01:00
Hennadii Stepanov
640b450530
Merge bitcoin/bitcoin#28925: ci: Update apt cache
710da28c72 ci: Switch from `apt` to `apt-get` (Hennadii Stepanov)
a6cc059ea5 ci: Update apt cache (Hennadii Stepanov)

Pull request description:

  This PR aims to fix the recent errors in the "test each commit" CI job.

ACKs for top commit:
  maflcko:
    lgtm ACK 710da28c72
  ismaelsadeeq:
    utACK 710da28c72

Tree-SHA512: b42340aea00e80f791000e19791629f27df2da98adefb839cb4389d81b5eee094089ea5092a2d7b56b3990683a72e4d2fa986fc86c823c7245649af37873b790
2023-11-22 10:43:18 +00:00
Hennadii Stepanov
710da28c72
ci: Switch from apt to apt-get 2023-11-22 10:02:08 +00:00
Hennadii Stepanov
a6cc059ea5
ci: Update apt cache 2023-11-22 10:01:19 +00:00
Hennadii Stepanov
daa56f7f66
Merge bitcoin/bitcoin#28905: ci: Avoid toolset ambiguity that MSVC can't handle
91d5bd8ac9 ci: Avoid toolset ambiguity that MSVC can't handle (Hennadii Stepanov)

Pull request description:

  This PR introduces a workaround, which is similar to the one removed in https://github.com/bitcoin/bitcoin/pull/28796, required to work with the new windows-2022 image version [20231115](https://github.com/actions/runner-images/blob/win22/20231115.2/images/windows/toolsets/toolset-2022.json) properly.

  Tested on the following image versions:
  - [20231029.1.0](https://github.com/hebasto/bitcoin/actions/runs/6904313692/job/18784722567)
  - [20231115.2.0](https://github.com/hebasto/bitcoin/actions/runs/6905808606/job/18789398318)

  Fixes https://github.com/bitcoin/bitcoin/issues/28901.

ACKs for top commit:
  maflcko:
    lgtm ACK 91d5bd8ac9 , assuming it fixes the CI failures
  TheCharlatan:
    utACK 91d5bd8ac9
  pablomartin4btc:
    utACK 91d5bd8ac9

Tree-SHA512: 13c325a24e09cdaa26b04a1c8c9968fe3525d1c0c887d42739c51fdb62c184667367cf56d0e7f64ff616b1f62998f28197b95291164418bb29c576b3f738a6a7
2023-11-21 11:07:40 +00:00
fanquake
d752349029
Merge bitcoin/bitcoin#28900: doc: remove mingw-w64 install for "older" systems
656a7e9de6 doc: remove mingw-w64 install for "older" systems (fanquake)

Pull request description:

  Now that we require GCC 10.1+, the posix variant is available on supported systems.

  i.e:
  https://packages.debian.org/bullseye/g++-mingw-w64-x86-64-posix
  https://packages.ubuntu.com/jammy/g++-mingw-w64-x86-64-posix

ACKs for top commit:
  maflcko:
    ACK 656a7e9de6
  BrandonOdiwuor:
    ACK 656a7e9de6
  hebasto:
    ACK 656a7e9de6.

Tree-SHA512: b7d3696ad5d0322c107ced5750d20c40167caaf7d063cf01da5fc12c4086827f4f73185aa5cc9ac170778b0523c0c16cca3b2419b11019da9d30b936ee897e14
2023-11-17 15:38:50 +00:00
Hennadii Stepanov
91d5bd8ac9
ci: Avoid toolset ambiguity that MSVC can't handle
This change is required to work with the new windows-2022 image version
20231115 properly.
2023-11-17 15:15:06 +00:00
fanquake
b2309c47da
Merge bitcoin/bitcoin#28902: doc: Simplify guix install doc, after 1.4 release
fa552e8a4e doc: Simplify guix install doc, after 1.4 release (MarcoFalke)

Pull request description:

  Now that 1.4 is out (for a while), remove the recommendation to build a random commit.

ACKs for top commit:
  fanquake:
    ACK fa552e8a4e
  hebasto:
    ACK fa552e8a4e.

Tree-SHA512: f5642df201ff0e2af8a7ae9660a66920ddbb5f522b3e921f6f4aa7c411ced23afa91bdfe43b943ac012228eebbaad3396df505d00aa8f721a4358f03fda9d8e3
2023-11-17 14:18:58 +00:00
MarcoFalke
fa552e8a4e
doc: Simplify guix install doc, after 1.4 release 2023-11-17 12:45:00 +01:00
fanquake
98b0acda0f
Merge bitcoin/bitcoin#28725: test: refactor: use built-in collection types for type hints (Python 3.9 / PEP 585)
a478c817b2 test: replace `Callable`/`Iterable` with their `collections.abc` alternative (PEP 585) (stickies-v)
4b9afb18e6 scripted-diff: use PEP 585 built-in collection types for verify-binary script (Sebastian Falbesoner)
d516cf83ed test: use built-in collection types for type hints (Python 3.9 / PEP 585) (Sebastian Falbesoner)

Pull request description:

  With Python 3.9 / [PEP 585](https://peps.python.org/pep-0585/), [type hinting has become a little less awkward](https://docs.python.org/3.9/whatsnew/3.9.html#type-hinting-generics-in-standard-collections), as for collection types one doesn't need to import the corresponding capitalized types (`Dict`, `List`, `Set`, `Tuple`, ...) anymore, but can use the built-in types directly (see  https://peps.python.org/pep-0585/#implementation for the full list).

  This PR applies the replacement for all Python scripts (i.e. in the contrib and test folders) for the basic types, i.e.:

  - typing.Dict -> dict
  - typing.List -> list
  - typing.Set  -> set
  - typing.Tuple -> tuple

  For an additional check, I ran mypy 1.6.1 on both master and the PR branch via
  ```
  $ mypy --ignore-missing-imports --explicit-package-bases $(git ls-files "*.py")
  ```
  and verified that the output is identical -- (from the 22 identified problems, most look like false-positives, it's probably worth it to go deeper here and address them in a follow-up though).

ACKs for top commit:
  stickies-v:
    ACK a478c817b2
  fanquake:
    ACK a478c817b2

Tree-SHA512: 6948c905f6abd644d84f09fcb3661d7edb2742e8f2b28560008697d251d77a61a1146ab4b070e65b0d27acede7a5256703da7bf6eb1c7c3a897755478c76c6e8
2023-11-17 11:19:17 +00:00
fanquake
656a7e9de6
doc: remove mingw-w64 install for "older" systems
Now that we require GCC 10.1+, the posix variant is available on
supported systems.

i.e:
https://packages.debian.org/bullseye/g++-mingw-w64-x86-64-posix
https://packages.ubuntu.com/jammy/g++-mingw-w64-x86-64-posix
2023-11-17 10:57:51 +00:00
fanquake
950af7c876
Merge bitcoin/bitcoin#28878: Remove version field from GetSerializeSize
83986f464c Include version.h in fewer places (Anthony Towns)
c7b61fd61b Convert some CDataStream to DataStream (Anthony Towns)
1410d300df serialize: Drop useless version param from GetSerializeSize() (Anthony Towns)
bf574a7501 serialize: drop GetSerializeSizeMany (Anthony Towns)
efa9eb6d7c serialize: Drop nVersion from [C]SizeComputer (Anthony Towns)

Pull request description:

  Drops the version field from `GetSerializeSize()`, simplifying the code in various places. Also drop `GetSerializeSizeMany()` (as just removing the version parameter could result in silent bugs) and remove unnecessary instances of `#include <version.h>`.

ACKs for top commit:
  maflcko:
    ACK 83986f464c 📒
  theuni:
    ACK 83986f464c.

Tree-SHA512: 36617b6dfbb1b4b0afbf673e905525fc6d623d3f568d3f86e3b9d4f69820db97d099e83a88007bfff881f731ddca6755ebf1549e8d8a7762437dfadbf434c62e
2023-11-17 10:56:41 +00:00
fanquake
afd3e99856
Merge bitcoin/bitcoin#28873: fuzz: AutoFile with XOR
faa25718b3 fuzz: AutoFile with XOR (MarcoFalke)
fab5cb9066 fuzz: Reduce LIMITED_WHILE limit for file fuzzing (MarcoFalke)
fa5388fad3 fuzz: Remove FuzzedAutoFileProvider (MarcoFalke)

Pull request description:

  This should help to get fuzz coverage for https://maflcko.github.io/b-c-cov/fuzz.coverage/src/streams.cpp.gcov.html

  Also, remove unused code and fix a timeout bug.

ACKs for top commit:
  dergoegge:
    ACK faa25718b3

Tree-SHA512: 56f1e6fd5cb2b66ffd9a7d9c09c9b8e396be3e7485feb03b35b6bd3c48e624fdaed50b472e4ffec21f09efb5e949d7ee32a13851849c9140b6b4cf25917dd7ac
2023-11-17 10:12:35 +00:00
stickies-v
a478c817b2 test: replace Callable/Iterable with their collections.abc alternative (PEP 585) 2023-11-16 19:12:14 +01:00
fanquake
22025d06e5
Merge bitcoin/bitcoin#28605: Fix typos
43de4d3630 doc: fix typos (Sjors Provoost)

Pull request description:

  This PR fixes typos found by lint-spelling.py using codespell 2.2.6.

  Our CI linter job uses codespell 2.2.5 and found fewer typos that I did locally. In any case it's happy now.

ACKs for top commit:
  pablomartin4btc:
    re ACK 43de4d3630

Tree-SHA512: c032fe86cb49c924a468385653b31f309a9db68c478d70335bba3e65a1ff3826abe80284fe00a090ab5a509e1edbf17e476f6922fb15d055e50f1103dad2ccb0
2023-11-16 10:35:49 +00:00
fanquake
c3735e53ee
Merge bitcoin/bitcoin#28771: tests: Fix LCOV_OPTS to be in the correct position
88e09ac2a1 tests: Fix LCOV_OPTS to be in the correct position (Andrew Chow)

Pull request description:

  `lcov`'s `-a` option takes an argument. With `LCOV_OPTS` immediately after `-a`, the first additional argument becomes the argument to `-a` which is incorrect.

  Also add `LCOV_OPTS` to more `lcov` calls.

ACKs for top commit:
  fanquake:
    ACK 88e09ac2a1

Tree-SHA512: 1ed657c96395bfe882041ded883cb5fa4d04d6ede91f66c319b5bbdd1f88468f8abb2a741dd7898904a78ed7e6c844316f7958ce9e4ccf2dbe666ebec308b7fb
2023-11-16 10:19:05 +00:00
fanquake
04e871d62f
Merge bitcoin/bitcoin#28845: depends: remove PYTHONPATH from config.site
3b19100303 depends: remove PYTHONPATH from config.site (fanquake)

Pull request description:

  We no-longer need this, as we no-longer build python packages.

ACKs for top commit:
  hebasto:
    ACK 3b19100303, this PR effectively reverts no longer needed de619a37fd.

Tree-SHA512: 775354773f83fc98922f1d4ee84d8f1e866fb6fb2a59a3eaf06a7a5f0d846f7dc1b84862c58195dfb91ddfb02b2dc86bee78b51459f91c65a5b1464df9f3c53c
2023-11-16 10:18:06 +00:00
fanquake
6b7bf907f5
Merge bitcoin/bitcoin#28825: fuzz: Minor improvements to tx_package_eval target
6a917918b7 fuzz: allow fake and duplicate inputs in tx_package_eval target (Greg Sanders)
a0626ccdad fuzz: allow reaching MempoolAcceptResult::ResultType::DIFFERENT_WITNESS in tx_package_eval target (Greg Sanders)

Pull request description:

  Exercises `DIFFERENT_WITNESS` by using "blank" WSH() and allowing witness to determine wtxid, and attempts to make invalid/duplicate inputs.

ACKs for top commit:
  dergoegge:
    Coverage looks good to me ACK 6a917918b7

Tree-SHA512: db894f5f5b81c6b454874baf11f296462832285f41ccb09f23c0db92b9abc98f8ecacd72fc8f60dc92cb7947f543a2e55bed2fd210b0e8ca7c7d5389d90b14af
2023-11-16 10:16:02 +00:00
fanquake
eb2ab3de1a
Merge bitcoin/bitcoin#28877: bench: Update nanobench to 4.3.11
fe434a4695 bench: Update nanobench to 4.3.11 (TheCharlatan)

Pull request description:

  The newest version fixes the false positive `* Turbo is enabled, CPU frequency will fluctuate` warning on AMD CPUs. The file was directly taken from the release page: https://github.com/martinus/nanobench/releases/tag/v4.3.11.

  Other changes from the release notes:

  * Check for failures in parseFile(), perf events tweaks by tommi-cujo in https://github.com/martinus/nanobench/pull/84
  * Workaround missing noexcept for std::string move assignment by tommi-cujo in https://github.com/martinus/nanobench/pull/87
  * removed the link by martinus in https://github.com/martinus/nanobench/pull/89
  * Lots of minor cleanups by martinus in https://github.com/martinus/nanobench/pull/85
  * Add linter for version & clang-format. Updated version by martinus in https://github.com/martinus/nanobench/pull/90

ACKs for top commit:
  fanquake:
    ACK fe434a4695 - have not tested.

Tree-SHA512: a8f15e1db1d993673e4b295a3bab22e67ee3c9f3c0bcbef28974fe9ff37dbb741967a526088d5b148c8d25c9d57cd3b844238100c17b23038638787461805678
2023-11-16 09:49:05 +00:00
fanquake
b217b806cb
Merge bitcoin/bitcoin#28884: doc: remove x86_64 build assumption from depends doc
821a8a1125 doc: remove x86_64 build assumption from depends doc (fanquake)

Pull request description:

  This dates from the introduction of depends, and has not been the case for some time now.

ACKs for top commit:
  maflcko:
    lgtm ACK 821a8a1125
  hebasto:
    ACK 821a8a1125.
  theuni:
    ACK 821a8a1125

Tree-SHA512: 640967a3e6dfab495fd733d3379aa916ac7f67e89a92ef6a94c3bea0494dc7921a9d7485e1b90a1beab00548b575cdab8fb08eb9267dcc5e890cc796ae1b6875
2023-11-16 09:41:26 +00:00
fanquake
1ad43f95b8
Merge bitcoin/bitcoin#28881: doc: remove mention of missing bdb being a configure error
30bd4b1e4a doc: remove mention of missing bdb being a configure error (fanquake)

Pull request description:

  This is no-longer the case, unless you're passing additional flags, which is not the case in this example.

ACKs for top commit:
  maflcko:
    lgtm ACK 30bd4b1e4a
  TheCharlatan:
    ACK 30bd4b1e4a
  hebasto:
    ACK 30bd4b1e4a.

Tree-SHA512: b3730546d7ff1f49854b88e710c72c4f6e4b6d238147599d4c4e4adeeb256424c2096635f6c51dcfe2e5a9c1155c1c9915fe03a09c5c38605bee2722756c8f6e
2023-11-16 09:39:56 +00:00
fanquake
1430c4b989
Merge bitcoin/bitcoin#28883: contrib: use a raw string for a regular expression literal that contains backslashes in signet/miner
defdf67765 contrib: use a raw string for a regular expression literal that contains backslashes in signet/miner (muxator)

Pull request description:

  Running `contrib/signet/miner` under python >= 3.12 causes a `SyntaxWarning`. The problem was already present in previous versions, but it only triggered a `DeprecationWarning`, which was not shown by default.

  The change is useful for future-proofing the code base, since future python versions will start to exit with a runtime exception (see the reference given later).

  Command to see the warning at runtime under python3.11 (`DeprecationWarning`, needs "-Walways"):
  ```
  $ python3.11 -Walways ./contrib/signet/miner
  <BASE>/contrib/signet/miner:33: DeprecationWarning: invalid escape sequence '\d'
    RE_MULTIMINER = re.compile("^(\d+)(-(\d+))?/(\d+)$")
  2023-11-15 16:02:49 ERROR Must specify command
  ```

  Command to see the warning at runtime under python3.12 (`SyntaxWarning`, no modifiers needed):
  ```
  $ python3.12 ./contrib/signet/miner
  <BASE>/contrib/signet/miner:33: SyntaxWarning: invalid escape sequence '\d'
    RE_MULTIMINER = re.compile("^(\d+)(-(\d+))?/(\d+)$")
  2023-11-15 16:03:00 ERROR Must specify command
  ```

  Reference (https://docs.python.org/3.8/library/re.html):
  > Regular expressions use the backslash character ('\') [...]. This collides with Python’s usage of the same character for the same purpose in string literals; [...]
  >
  > Also, please note that any invalid escape sequences in Python’s usage of the backslash in string literals now generate a DeprecationWarning and in the future this will become a SyntaxError.
  >
  > The solution is to use Python’s raw string notation for regular expression patterns;

ACKs for top commit:
  maflcko:
    lgtm ACK defdf67765
  ajtowns:
    utACK defdf67765

Tree-SHA512: 81bd4892938e7d40a226ca20b5b61ff2470ad763743528da290271faefc535167b56f44665e2d03ed2607c4f7bc8a3200e7931f98fe28dbaf0d2a842c96549f5
2023-11-16 09:32:03 +00:00
Anthony Towns
83986f464c Include version.h in fewer places 2023-11-16 11:36:22 +10:00
Anthony Towns
c7b61fd61b Convert some CDataStream to DataStream 2023-11-16 11:14:13 +10:00
Anthony Towns
1410d300df serialize: Drop useless version param from GetSerializeSize() 2023-11-16 11:14:13 +10:00
Anthony Towns
bf574a7501 serialize: drop GetSerializeSizeMany 2023-11-16 11:14:10 +10:00
Anthony Towns
efa9eb6d7c serialize: Drop nVersion from [C]SizeComputer
Protocol version is no longer needed to work out the serialized size
of objects so drop that information from CSizeComputer and rename the
class to SizeComputer.
2023-11-16 10:20:30 +10:00
fanquake
821a8a1125
doc: remove x86_64 build assumption from depends doc
This dates from the introduction of depends, and has not been the case
for some time now.
2023-11-15 17:27:55 +00:00
fanquake
0aa014d5a3
Merge bitcoin/bitcoin#28859: guix: update signapple (drop macho & altgraph)
f718a74b12 guix: remove python-macholib (fanquake)
d3cbff16c2 guix: update signapple (fanquake)

Pull request description:

  Update to the latest signapple, which includes https://github.com/achow101/signapple/pull/13.
  Drop python-macholib and python-altgraph.

ACKs for top commit:
  Sjors:
    ACK f718a74b12

Tree-SHA512: 199b2108f2f063b6b0fb5354ac79a30b46e848c923ebe7d02f7d7d3f08749817a1f6b4c14d21658fd2f2d68f8be1698e1999edf7e2366b1cae3bf2709a665e30
2023-11-15 15:18:08 +00:00
fanquake
108462139b
Merge bitcoin/bitcoin#28438: Use serialization parameters for CTransaction
a0c254c13a Drop CHashWriter (Anthony Towns)
c94f7e5b1c Drop OverrideStream (Anthony Towns)
6e9e4e6130 Use ParamsWrapper for witness serialization (Anthony Towns)

Pull request description:

  Choose whether witness is included in transaction serialization via serialization parameter rather than the stream version. See #25284 and #19477 for previous context.

ACKs for top commit:
  maflcko:
    re-ACK a0c254c13a 🐜
  theuni:
    ACK a0c254c13a

Tree-SHA512: 8fd5cadfd84c5128e36c34a51fb94fdccd956280e7f65b7d73c512d6a9cdb53cdd3649de99ffab5322bd34be26cb95ab4eb05932b3b9de9c11d85743f50dcb13
2023-11-15 15:16:19 +00:00
muxator
defdf67765 contrib: use a raw string for a regular expression literal that contains backslashes in signet/miner
Running the miner under python >= 3.12 causes a SyntaxWarning. The problem was
already present in previous versions, but it only triggered a
DeprecationWarning, which was not shown by default.

The change is useful for future-proofing the code base, since future python
versions will start to exit with a runtime exception (see the reference given
later).

Command to see the warning at runtime under python3.11 (DeprecationWarning,
needs "-Walways"):
    $ python3.11 -Walways ./contrib/signet/miner
    <BASE>/contrib/signet/miner:33: DeprecationWarning: invalid escape sequence '\d'
      RE_MULTIMINER = re.compile("^(\d+)(-(\d+))?/(\d+)$")
    2023-11-15 16:02:49 ERROR Must specify command

Command to see the warning at runtime under python3.12 (SyntaxWarning, no
modifiers needed):
    $ python3.12 ./contrib/signet/miner
    <BASE>/contrib/signet/miner:33: SyntaxWarning: invalid escape sequence '\d'
      RE_MULTIMINER = re.compile("^(\d+)(-(\d+))?/(\d+)$")
    2023-11-15 16:03:00 ERROR Must specify command

Reference ( https://docs.python.org/3.8/library/re.html ):
    Regular expressions use the backslash character ('\') [...]. This collides
    with Python’s usage of the same character for the same purpose in string
    literals; [...]

    Also, please note that any invalid escape sequences in Python’s usage of the
    backslash in string literals now generate a DeprecationWarning and in the
    future this will become a SyntaxError.

    The solution is to use Python’s raw string notation for regular expression
    patterns;
2023-11-15 15:55:20 +01:00
fanquake
30bd4b1e4a
doc: remove mention of missing bdb being a configure error
This is no-longer the case, unless you're passing additional flags,
which is not the case in this example.
2023-11-15 13:34:50 +00:00
fanquake
a73715e5a4
Merge bitcoin/bitcoin#28865: test: migrate to some per-symbol ubsan suppressions
fd30e9688e test: migrate to some per-symbol ubsan suppressions (fanquake)

Pull request description:

  Now that the symbolizer should be hanging around (#28814), migrate some file-wide suppressions to be symbol specific. Should assist in catching new issues that may otherwise go unnoticed due to file-wide suppression.

  Only tested (so far) on aarch64 using the native ASAN & FUZZ CI.

ACKs for top commit:
  maflcko:
    lgtm ACK fd30e9688e
  dergoegge:
    utACK fd30e9688e (if CI is green)

Tree-SHA512: fbc44464d22813969dd4d1cdeab00042fa45f0af9bf1aed4fd3b688dc7b3c377a7c0f5f0c0a37ba65b649cfb5c7ff8ab2774500fe182d702c4340ca19f08479f
2023-11-15 09:57:46 +00:00
TheCharlatan
fe434a4695
bench: Update nanobench to 4.3.11 2023-11-14 20:22:12 +01:00
MarcoFalke
faa25718b3
fuzz: AutoFile with XOR 2023-11-14 17:41:54 +01:00
MarcoFalke
fab5cb9066
fuzz: Reduce LIMITED_WHILE limit for file fuzzing
A higher limit is not needed, and only leads to timeouts, see for
example the buffered_file one in
https://github.com/bitcoin/bitcoin/issues/28812#issue-1981386486
2023-11-14 17:41:49 +01:00
MarcoFalke
fa5388fad3
fuzz: Remove FuzzedAutoFileProvider
The code is clearer without it.

This is also needed for a future commit.
2023-11-14 17:41:26 +01:00
fanquake
3b19100303
depends: remove PYTHONPATH from config.site
We no-longer need this, as we no-longer build python packages.

Effectively reverts de619a37fd.
2023-11-14 16:28:38 +00:00
fanquake
fd30e9688e
test: migrate to some per-symbol ubsan suppressions
Tested on aarch64 using the ASAN CI job. Currently unable to test on
x86_64 due to AppArmor & podman issues.
2023-11-14 15:52:55 +00:00
fanquake
830583eb9d
Merge bitcoin/bitcoin#28858: doc: rewrite explanation for -par=
d799ea26ed doc: rewrite explanation for -par= (fanquake)

Pull request description:

  The negative bound for script threads comes from the machine which generates the man pages, so may only be correct for that machine. Any other placeholder value will also be wrong for some machines. Fix this be removing the value. This also fixes help2man incorrectly bolding the value, as if it were a paramater.

  Closes #28850.

ACKs for top commit:
  maflcko:
    lgtm ACK d799ea26ed
  theStack:
    ACK d799ea26ed

Tree-SHA512: 2eec0086faf4cc64bbf46b22949662f84d8546d2322c3d507fc44a4e1f64d228a2901af4fa4535c0771e3e14600be8308fc5dbd407b66ae6ae4f8878d8372c0a
2023-11-14 15:45:04 +00:00
fanquake
8992a34ee4
Merge bitcoin/bitcoin#28857: test, refactor: Magic bytes array followup
1e5b86171e test: Add test for array serialization (TheCharlatan)
d49d198840 refactor: Initialize magic bytes in constructor initializer (TheCharlatan)

Pull request description:

  This is a followup-PR for #28423

  * Initialize magic bytes in constructor
  * Add a small unit test for serializing arrays.

ACKs for top commit:
  sipa:
    utACK 1e5b86171e
  maflcko:
    lgtm ACK 1e5b86171e

Tree-SHA512: 0f58d2332dc501ca9fd419f40ed4f977c83dce0169e9a0eee1ffc9f8daa2d2ef7e7df18205ba076f55d90ae6c4a20d2b51ab303150d38470a962bcc58a66f6e7
2023-11-14 15:44:12 +00:00
fanquake
fb85bb2776
Merge bitcoin/bitcoin#28783: build: remove -bind_at_load usage
3c61c60b90 build: Add an old hack to remove bind_at_load from libtool. (Cory Fields)
45257601da build: remove -bind_at_load usage (fanquake)

Pull request description:

  This is deprecated on macOS:
  ```bash
  ld: warning: -bind_at_load is deprecated on macOS
  ```
  and likely redundant anyways, given the behaviour of dyld3.

  Unfortunately libtool is still injecting a `-bind_at_load`, because it's version check is broken:
  ```bash
  # Don't allow lazy linking, it breaks C++ global constructors
  # But is supposedly fixed on 10.4 or later (yay!).
  if test CXX = "$tagname"; then
    case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
      10.[0123])
        func_append compile_command " $wl-bind_at_load"
        func_append finalize_command " $wl-bind_at_load"
      ;;
    esac
  fi
  ```
  so this adds another change to strip them out at the end of configure.

  Note that anywhere the ld64 warnings are being emitted, we are already not adding this flag to our hardened ldflags, because of `-Wl,-fatal_warnings`.

ACKs for top commit:
  theuni:
    utACK 3c61c60b90.
  hebasto:
    ACK 3c61c60b90, tested on macOS Sonoma 14.1.1 (23B81, Apple M1) and Ubuntu 23.10 (cross-compiling for macOS). Also I've verified the actual diff in the `libtool` script.

Tree-SHA512: 98e6a095dc2d2409f8ec3b9d462e0db3643d7873d7903a12f8acd664829e7e84e797638556fa42ca8ebc1003f13a38fe9bb8a2a50cecfa991155da818574bf08
2023-11-14 09:47:36 +00:00
fanquake
1fbeeed23a
Merge bitcoin/bitcoin#28781: depends: latest config.guess & config.sub
49a92579c7 build: latest config.sub in depends (fanquake)
ced0435a71 build: latest config.guess in depends (fanquake)

Pull request description:

  Before we make any local modifications (i.e #28733) pull the latest files from upstream.

ACKs for top commit:
  TheCharlatan:
    ACK 49a92579c7

Tree-SHA512: fbbe0d6ef72a196a652467af0550b38da23b932fe68da4965a9b0dc4795db9c869969db98f660cd360f6af3a7659b46c25e3fd398e0ef127dae71726b9a915a6
2023-11-14 09:29:09 +00:00
Anthony Towns
a0c254c13a Drop CHashWriter 2023-11-14 08:45:32 +10:00