📝 TheCharlatan opened a pull request: "build: Fix kernel static lib component install"
(https://github.com/bitcoin/bitcoin/pull/31078)
Fixes the installation of the pkgconfig file and the static library when installing only the `Kernel` component.
This is a followup to fix #30835 and #30814, which were merged shortly after one another, but are interrelated. Can be tested with:
```
cmake -B build -DBUILD_SHARED_LIBS=OFF -DBUILD_KERNEL_LIB=ON
cmake --build build --target bitcoinkernel
cmake --install build --component Kernel
```
(https://github.com/bitcoin/bitcoin/pull/31078)
Fixes the installation of the pkgconfig file and the static library when installing only the `Kernel` component.
This is a followup to fix #30835 and #30814, which were merged shortly after one another, but are interrelated. Can be tested with:
```
cmake -B build -DBUILD_SHARED_LIBS=OFF -DBUILD_KERNEL_LIB=ON
cmake --build build --target bitcoinkernel
cmake --install build --component Kernel
```
🤔 hebasto reviewed a pull request: "build: Fix kernel static lib component install"
(https://github.com/bitcoin/bitcoin/pull/31078#pullrequestreview-2364230778)
Concept ACK.
(https://github.com/bitcoin/bitcoin/pull/31078#pullrequestreview-2364230778)
Concept ACK.
⚠️ Phoenix1969 opened an issue: "several vulnerabilities identified."
(https://github.com/bitcoin/bitcoin/issues/31079)
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Current behaviour
1. Memory Management
Potential Vulnerability: Bitcoin Core is written primarily in C++, which can lead to memory management vulnerabilities (e.g., buffer overflows, memory leaks).
Improvement: Ensure that critical components like cryptographic functions, wallet code, and networking code use safe memory allocation patterns. For instance:
Audit the use of malloc() and free() for possible
...
(https://github.com/bitcoin/bitcoin/issues/31079)
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Current behaviour
1. Memory Management
Potential Vulnerability: Bitcoin Core is written primarily in C++, which can lead to memory management vulnerabilities (e.g., buffer overflows, memory leaks).
Improvement: Ensure that critical components like cryptographic functions, wallet code, and networking code use safe memory allocation patterns. For instance:
Audit the use of malloc() and free() for possible
...
📝 willcl-ark opened a pull request: "fees: document non-monotonic estimation edge case"
(https://github.com/bitcoin/bitcoin/pull/31080)
Closes: https://github.com/bitcoin/bitcoin/issues/11800
In scenarios where data is available for higher targets but not for lower ones, this method *may* return lower fee rates for higher confirmation targets. This could occur if `estimateCombinedFee` returns no valid data (`-1`) for some estimates for a low target, but **does** return valid data for a higher target.
Users of this function should be aware of this potential, if unlikely, inconsistency in behaviour in data-sparse scenarios.
(https://github.com/bitcoin/bitcoin/pull/31080)
Closes: https://github.com/bitcoin/bitcoin/issues/11800
In scenarios where data is available for higher targets but not for lower ones, this method *may* return lower fee rates for higher confirmation targets. This could occur if `estimateCombinedFee` returns no valid data (`-1`) for some estimates for a low target, but **does** return valid data for a higher target.
Users of this function should be aware of this potential, if unlikely, inconsistency in behaviour in data-sparse scenarios.
✅ willcl-ark closed an issue: "several vulnerabilities identified."
(https://github.com/bitcoin/bitcoin/issues/31079)
(https://github.com/bitcoin/bitcoin/issues/31079)
💬 diivvy commented on issue "Bitcoin Core "not opened" after software update to macOS Sequoia 15.0.1 (24A348)":
(https://github.com/bitcoin/bitcoin/issues/31069#issuecomment-2408698108)
@jonatack which version of bitcoin core are you using?
(https://github.com/bitcoin/bitcoin/issues/31069#issuecomment-2408698108)
@jonatack which version of bitcoin core are you using?
💬 sipa commented on issue "Bitcoin Core "not opened" after software update to macOS Sequoia 15.0.1 (24A348)":
(https://github.com/bitcoin/bitcoin/issues/31069#issuecomment-2408698932)
@diivvy Did you seem the notes about running Bitcoin Core on macOS in the Bitcoin Core 28.0 release notes?
(https://github.com/bitcoin/bitcoin/issues/31069#issuecomment-2408698932)
@diivvy Did you seem the notes about running Bitcoin Core on macOS in the Bitcoin Core 28.0 release notes?
⚠️ tuttheking81 opened an issue: "Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.2.3 to 1.4.2."
(https://github.com/bitcoin/bitcoin/issues/31081)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.2.3 to 1.4.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/webpack/loader-utils/releases">loader-utils's releases</a>.</em></p>
<blockquote>
<h2>v1.4.2</h2>
<h3><a href="https://github.com/webpack/loader-utils/compare/v1.4.1...v1.4.2">1.4.2</a> (2022-11-11)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>ReDoS problem (<a href="https://github-redirect.dependabot.com/webpack/loader-utils/issues/226
...
(https://github.com/bitcoin/bitcoin/issues/31081)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.2.3 to 1.4.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/webpack/loader-utils/releases">loader-utils's releases</a>.</em></p>
<blockquote>
<h2>v1.4.2</h2>
<h3><a href="https://github.com/webpack/loader-utils/compare/v1.4.1...v1.4.2">1.4.2</a> (2022-11-11)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>ReDoS problem (<a href="https://github-redirect.dependabot.com/webpack/loader-utils/issues/226
...
⚠️ tuttheking81 opened an issue: "- Fixed a minor bug that incorrectly printed the wrong status message to the user during remote verification."
(https://github.com/bitcoin/bitcoin/issues/31082)
- Fixed a minor bug that incorrectly printed the wrong status message to the user during remote verification.
_Originally posted by @swaroop-osec in https://github.com/Ellipsis-Labs/solana-verifiable-build/pull/53_
_Originally posted by @tuttheking81 in https://github.com/crypto-org-chain/cronos/issues/1426_
(https://github.com/bitcoin/bitcoin/issues/31082)
- Fixed a minor bug that incorrectly printed the wrong status message to the user during remote verification.
_Originally posted by @swaroop-osec in https://github.com/Ellipsis-Labs/solana-verifiable-build/pull/53_
_Originally posted by @tuttheking81 in https://github.com/crypto-org-chain/cronos/issues/1426_
💬 rebroad commented on pull request "p2p: When close to the tip, download blocks in parallel from additional peers to prevent stalling":
(https://github.com/bitcoin/bitcoin/pull/29664#issuecomment-2408766991)
> > I'm still not sure why it failed, tried to bump a mocktime with the last push, but poking in the dark since it doesn't fail locally for me...
>
> Hopefullly fixed now, I believe that there was a missing sync in the added test.
>
> > Rather than the crude 10 minute timeout - why not actually check if the block is being downloaded from the chosen peer - i.e. work out the throughput and make a decision based on this (compared to typical throughput from other peers)?
>
> I'm not sure wh
...
(https://github.com/bitcoin/bitcoin/pull/29664#issuecomment-2408766991)
> > I'm still not sure why it failed, tried to bump a mocktime with the last push, but poking in the dark since it doesn't fail locally for me...
>
> Hopefullly fixed now, I believe that there was a missing sync in the added test.
>
> > Rather than the crude 10 minute timeout - why not actually check if the block is being downloaded from the chosen peer - i.e. work out the throughput and make a decision based on this (compared to typical throughput from other peers)?
>
> I'm not sure wh
...
📝 willcl-ark opened a pull request: "doc: add doxygen for m_args in tests"
(https://github.com/bitcoin/bitcoin/pull/31083)
Closes: #25055
Add a doxygen comment to the `m_args` member in the unit test framework, clarifying its purpose and providing usage guidelines.
(https://github.com/bitcoin/bitcoin/pull/31083)
Closes: #25055
Add a doxygen comment to the `m_args` member in the unit test framework, clarifying its purpose and providing usage guidelines.
💬 l0rinc commented on pull request "Don't zero-after-free `DataStream`: Faster IBD on some configurations":
(https://github.com/bitcoin/bitcoin/pull/30987#issuecomment-2408875704)
I reran it on the same platform until 840000 with 1GB dbcache with the latest commits.
<details>
<summary>benchmark</summary>
```bash
hyperfine \
--runs 1 \
--export-json /mnt/my_storage/ibd_full-zero_after_free_allocator_change.json \
--parameter-list COMMIT 1e096b30da808d6b0691f5cde14c529e1c85ff1b,906e67b95157fd557438c37b3085cf5dec2ae135 \
--prepare 'git checkout {COMMIT} && git clean -fxd && git reset \
--hard && cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_UTIL=OFF -DBUILD_
...
(https://github.com/bitcoin/bitcoin/pull/30987#issuecomment-2408875704)
I reran it on the same platform until 840000 with 1GB dbcache with the latest commits.
<details>
<summary>benchmark</summary>
```bash
hyperfine \
--runs 1 \
--export-json /mnt/my_storage/ibd_full-zero_after_free_allocator_change.json \
--parameter-list COMMIT 1e096b30da808d6b0691f5cde14c529e1c85ff1b,906e67b95157fd557438c37b3085cf5dec2ae135 \
--prepare 'git checkout {COMMIT} && git clean -fxd && git reset \
--hard && cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_UTIL=OFF -DBUILD_
...
💬 l0rinc commented on pull request "validation: write chainstate to disk every hour":
(https://github.com/bitcoin/bitcoin/pull/30611#issuecomment-2408917989)
I redid the benchmarks on an SSD with 100-120 second range:
* (before) 5e90501abe test: chainstate write test for periodic chainstate flush
* (write every 50-70 minutes) ffc9df87a0 validation: add randomness to periodic write interval
* (write every 100-120 minutes) f5e7b1508a Increase DATABASE_WRITE_INTERVAL MIN/MAX to 100/120
<details>
<summary>benchmark</summary>
```bash
hyperfine \
--runs 1 \
--export-json /mnt/my_storage/ibd_full-write-chainstate-every-hour.json \
--parameter-
...
(https://github.com/bitcoin/bitcoin/pull/30611#issuecomment-2408917989)
I redid the benchmarks on an SSD with 100-120 second range:
* (before) 5e90501abe test: chainstate write test for periodic chainstate flush
* (write every 50-70 minutes) ffc9df87a0 validation: add randomness to periodic write interval
* (write every 100-120 minutes) f5e7b1508a Increase DATABASE_WRITE_INTERVAL MIN/MAX to 100/120
<details>
<summary>benchmark</summary>
```bash
hyperfine \
--runs 1 \
--export-json /mnt/my_storage/ibd_full-write-chainstate-every-hour.json \
--parameter-
...
💬 furszy commented on pull request "bench: add support for custom data directory":
(https://github.com/bitcoin/bitcoin/pull/31000#discussion_r1798442580)
I do think that referencing upper-level binaries in lower-level framework code isn't ideal, and duplicating a single line for an argument that rarely changes behavior is harmless. Especially when the small deduplication comes with other unnecessary stuff and isn't truly a duplication as the help text is customized for benchmark binary users. But, that said, we're already breaking the first point elsewhere in `setup_common.h`, so np. Will re-touch a bit your suggestion and push it.
(https://github.com/bitcoin/bitcoin/pull/31000#discussion_r1798442580)
I do think that referencing upper-level binaries in lower-level framework code isn't ideal, and duplicating a single line for an argument that rarely changes behavior is harmless. Especially when the small deduplication comes with other unnecessary stuff and isn't truly a duplication as the help text is customized for benchmark binary users. But, that said, we're already breaking the first point elsewhere in `setup_common.h`, so np. Will re-touch a bit your suggestion and push it.
✅ furszy closed a pull request: "[WIP] p2p: send not_found msgs for unknown, pruned or unwilling to share blocks"
(https://github.com/bitcoin/bitcoin/pull/30385)
(https://github.com/bitcoin/bitcoin/pull/30385)
💬 danielabrozzoni commented on pull request "rest: Support transaction broadcast in REST interface":
(https://github.com/bitcoin/bitcoin/pull/31065#discussion_r1798526862)
I wanted to keep the API easier by passing only the transaction hex in the body, instead of asking for a whole JSON with optional `maxfeerate`/`maxburnamount` (same parameters as sendrawtransaction), and without the ability to set the maxfeerate, having zero (=suppress the check) is better than having the default max fee rate (otherwise you wouldn't be able to broadcast a very high-paying transaction even if you really wanted to).
Additionally, I think most people that would use this API woul
...
(https://github.com/bitcoin/bitcoin/pull/31065#discussion_r1798526862)
I wanted to keep the API easier by passing only the transaction hex in the body, instead of asking for a whole JSON with optional `maxfeerate`/`maxburnamount` (same parameters as sendrawtransaction), and without the ability to set the maxfeerate, having zero (=suppress the check) is better than having the default max fee rate (otherwise you wouldn't be able to broadcast a very high-paying transaction even if you really wanted to).
Additionally, I think most people that would use this API woul
...
💬 1440000bytes commented on pull request "rest: Support transaction broadcast in REST interface":
(https://github.com/bitcoin/bitcoin/pull/31065#discussion_r1798552649)
I don't have a strong opinion either.
(https://github.com/bitcoin/bitcoin/pull/31065#discussion_r1798552649)
I don't have a strong opinion either.
👍 1440000bytes approved a pull request: "rest: Support transaction broadcast in REST interface"
(https://github.com/bitcoin/bitcoin/pull/31065#pullrequestreview-2364985834)
utACK https://github.com/bitcoin/bitcoin/pull/31065/commits/dff67a815c2780ce5328d65a77508d29d606c364
(https://github.com/bitcoin/bitcoin/pull/31065#pullrequestreview-2364985834)
utACK https://github.com/bitcoin/bitcoin/pull/31065/commits/dff67a815c2780ce5328d65a77508d29d606c364
📝 Av32000 opened a pull request: "doc: Add xz-utils to the general dependencies for windows build"
(https://github.com/bitcoin/bitcoin/pull/31084)
The `xz-utils` package is not always installed by default on WSL. So when compiling bitcoin core for windows following the [doc](https://github.com/bitcoin/bitcoin/blob/master/doc/build-windows.md) the compilation of `qt` causes a critical error. `xz-utils` must then be installed afterwards. The bug creates a folder `/bitcoin/depends/work/build/x86_64-w64-mingw32/qt` which blocks the compilation process. You need to manually delete this folder to continue compiling.
`xz-utils`, installed by d
...
(https://github.com/bitcoin/bitcoin/pull/31084)
The `xz-utils` package is not always installed by default on WSL. So when compiling bitcoin core for windows following the [doc](https://github.com/bitcoin/bitcoin/blob/master/doc/build-windows.md) the compilation of `qt` causes a critical error. `xz-utils` must then be installed afterwards. The bug creates a folder `/bitcoin/depends/work/build/x86_64-w64-mingw32/qt` which blocks the compilation process. You need to manually delete this folder to continue compiling.
`xz-utils`, installed by d
...
👍 Patres7771 approved a pull request: "doc: Add xz-utils to the general dependencies for windows build"
(https://github.com/bitcoin/bitcoin/pull/31084#pullrequestreview-2364994460)
****
(https://github.com/bitcoin/bitcoin/pull/31084#pullrequestreview-2364994460)
****