Bitcoin Core Github
44 subscribers
122K links
Download Telegram
⚠️ fanquake opened an issue: "natpmp: quiet down unconditional logging"
(https://github.com/bitcoin/bitcoin/issues/33301)
Mentioned by @mzumsande here: https://github.com/bitcoin/bitcoin/issues/31663#issuecomment-3249980322

> I see unconditional log messages [net:warning] pcp: Could not receive response: Connection refused (111) every 5 minutes (in an environment where PCP is expected to not work), and it's a bit spammy. How about a exponential backoff, similar to how it's done in torcontrol.cpp?

cc @darosior @instagibbs
πŸ’¬ rkrux commented on pull request "wallet: Identify transactions spending 0-value outputs, and add tests for anchor outputs in a wallet":
(https://github.com/bitcoin/bitcoin/pull/33268#discussion_r2321381955)
Fair point, this suggestion was not correct.

The intent of the suggestion was more for the cosmetic angle so that the reader doesn't wonder why a standalone RPC is here without the presence of an assertion or usage of the returned value. Maybe there is an opportunity to introduce an `assert_no_rpc_error` helper here but need not be done now.
πŸ“ willcl-ark opened a pull request: "ci: disable cirrus cache in 32bit arm job"
(https://github.com/bitcoin/bitcoin/pull/33302)
Add an optional matrix field allowing opt-out of configuring cirrus GHA cache when not using cirrus runners.

This is not needed for the cirruslabs/[save|restore]-cache actions, as they automatically fallback based on runner type.

Addresses https://github.com/bitcoin/bitcoin/issues/31965#issuecomment-3252638785
πŸ’¬ willcl-ark commented on issue "Revisiting us self-hosting parts of our CI":
(https://github.com/bitcoin/bitcoin/issues/31965#issuecomment-3252703194)
Opened https://github.com/bitcoin/bitcoin/pull/33302 which should sort this out.
πŸ’¬ rkrux commented on pull request "wallet: Identify transactions spending 0-value outputs, and add tests for anchor outputs in a wallet":
(https://github.com/bitcoin/bitcoin/pull/33268#discussion_r2321395587)
```
const [Params = <char[15], int>]] [fromme] RescanFromTime: Rescanning last 7 blocks
```

Ah, I see now that last 7 blocks are rescanned and 10 blocks are generated previously - so the transaction is indeed not rescanned.

Maybe the following diff for clarity:
```diff
- # Mock time forward and generate blocks so that the import does not rescan the transaction
+ # Mock time forward and generate enough blocks so that the import does not rescan the transaction
```
πŸ’¬ hodlinator commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2321395923)
Missing `return ` here.

This will lead to `ReadRawTransaction()` being called anyway and in my testing it returns an empty vector, which we then discover on line 533 and on the next line we try to use `req` again but internal pointers have been reset to null by the line of this comment, leading to a crash.
πŸ’¬ purpleKarrot commented on pull request "cmake: Inherit WERROR setting for secp256k1 build":
(https://github.com/bitcoin/bitcoin/pull/33297#issuecomment-3252744634)
I am going to NACK every PR that adds even more `-Werror`. 30f642952cb5bf39479bdbe467b3950f0d09324a was a mistake and should be reverted. The correct approach to this is [`CMAKE_COMPILE_WARNING_AS_ERROR`](https://cmake.org/cmake/help/latest/variable/CMAKE_COMPILE_WARNING_AS_ERROR.html).

Yes, that requires CMake 3.24 and we allow 3.22 as the minimum. It does not matter. Just accept that the setting will have no effect on Ubuntu 22.04. :man_shrugging:

cc @hebasto
πŸ“ maflcko opened a pull request: "ci: Checkout latest merged pulls"
(https://github.com/bitcoin/bitcoin/pull/33303)
Currently, the `actions/checkout@v5` checks out pull requests merged against master, which is what we want.

However, sometimes, it checks out ancient/stale merge commits. For example:

* https://github.com/bitcoin/bitcoin/actions/runs/17458152407/job/49579638898?pr=29641#step:9:914 compiles with IPC=ON, even though latest master is at ed2ff3c63d83e275b0785a695fa4db38870abf1a
* https://github.com/bitcoin/bitcoin/pull/32989#issuecomment-3133536724 (example explained in comment)

This is pr
...
πŸ’¬ maflcko commented on pull request "ci: disable cirrus cache in 32bit arm job":
(https://github.com/bitcoin/bitcoin/pull/33302#discussion_r2321455669)
?

`any || true`, will just be `true`, no?

Also, the error looks the same, so this has no effect?
πŸ’¬ maflcko commented on pull request "CI: silent merge check":
(https://github.com/bitcoin/bitcoin/pull/33145#issuecomment-3252845186)
concept ack, but I don't have the slightest idea if this is even possible (or how) with GHA
πŸš€ fanquake merged a pull request: "net, pcp: handle multi-part responses and filter for default route while querying default gateway"
(https://github.com/bitcoin/bitcoin/pull/32159)
βœ… maflcko closed a pull request: "test: Fix CLI_MAX_ARG_SIZE issues"
(https://github.com/bitcoin/bitcoin/pull/33243)
πŸ’¬ maflcko commented on pull request "test: Fix CLI_MAX_ARG_SIZE issues":
(https://github.com/bitcoin/bitcoin/pull/33243#issuecomment-3252941074)
(+GHA ci)
πŸ“ maflcko reopened a pull request: "test: Fix CLI_MAX_ARG_SIZE issues"
(https://github.com/bitcoin/bitcoin/pull/33243)
`CLI_MAX_ARG_SIZE` has many edge case issues:

* It seems to be lower on some systems, but it is unknown how to reproduce locally: https://github.com/bitcoin/bitcoin/pull/33079#issuecomment-3139957274
* `MAX_ARG_STRLEN` is a limit per arg, but we probably want "The maximum length of [all of] the arguments": See https://www.man7.org/linux/man-pages/man3/sysconf.3.html, section `ARG_MAX - _SC_ARG_MAX`.
* It doesn't account for the additional args added by the `bitcoin` command later on: https:
...
βœ… maflcko closed an issue: "integer sanitizer warning, when running with -natpmp=1 enabled"
(https://github.com/bitcoin/bitcoin/issues/33245)
πŸ’¬ romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2321612373)
Thanks! Fixed in 91408755df...961f94b293.
πŸ’¬ hebasto commented on pull request "cmake: Inherit WERROR setting for secp256k1 build":
(https://github.com/bitcoin/bitcoin/pull/33297#issuecomment-3253238601)
> [30f6429](https://github.com/bitcoin/bitcoin/commit/30f642952cb5bf39479bdbe467b3950f0d09324a) was a mistake...

Here is some historical context.

When migrating the build system from Autotools to CMake, there was a unanimous expectation that, at least initially, we should aim for 100% build option compatibility. That commit introduced CMake’s counterpart to Autotools’ `--enable-werror`:https://github.com/bitcoin/bitcoin/blob/6e62b705328f4a52875a1dd3bfb63fbba8586a01/configure.ac#L284-L289
πŸ’¬ sipa commented on pull request "Add functional test for IPC interface":
(https://github.com/bitcoin/bitcoin/pull/33201#issuecomment-3253250540)
@Sjors Thanks for checking. I'll leave it as a follow-up.
πŸ’¬ hebasto commented on pull request "cmake: Inherit WERROR setting for secp256k1 build":
(https://github.com/bitcoin/bitcoin/pull/33297#issuecomment-3253260402)
> Yes, that requires CMake 3.24 and we allow 3.22 as the minimum. It does not matter. Just accept that the setting will have no effect on Ubuntu 22.04. πŸ€·β€β™‚οΈ

That seems acceptable to me, as none of the CI jobs use CMake older that 3.24. And when someone sets `CMAKE_COMPILE_WARNING_AS_ERROR` with an older CMake, it issues a warning:
```
CMake Warning:
Manually-specified variables were not used by the project:

CMAKE_COMPILE_WARNING_AS_ERROR


```
πŸ’¬ stickies-v commented on pull request "ci: Checkout latest merged pulls":
(https://github.com/bitcoin/bitcoin/pull/33303#issuecomment-3253266431)
If I understand correctly - the expected behaviour for `actions/checkout@v5` for `pull_request` is to checkout a temporary merge commit onto the merge branch, which should be re-evaluated every time the workflow is reran (e.g. a manual trigger), which is what we want to avoid silent merge conflicts. But you've observed that in some cases, the merge branch (`GITHUB_REF`) is stale. Do you know why that is happening, and is this an upstream bug? I've browsed the documentation and https://github.com
...