Bitcoin Core Github
44 subscribers
120K links
Download Telegram
💬 sr-gi commented on pull request "refactor prep for package rbf":
(https://github.com/bitcoin/bitcoin/pull/30072#discussion_r1612181759)
Oh sorry, this was left on my first pass, which I never submitted 😆
💬 apulsifer commented on issue "LevelDB read failure: Corruption: block checksum mismatch":
(https://github.com/bitcoin/bitcoin/issues/30159#issuecomment-2127853991)
> Once per week is a lot and if this was a broader problem, I'd assume that more people were complaining.

It could just be that the memory pressure is uncovering the problem. Of course, any machine can experience memory pressure at times, but one thing that's unique is that those machines starting hard paging to SSD for about 20 seconds after each new block arrives.
💬 davidgumberg commented on pull request "ci: add markdown link check job":
(https://github.com/bitcoin/bitcoin/pull/30034#discussion_r1612189326)
Nit: It would be nice to have a message that briefly describes and motivates the lint check as elsewhere

e.g. from `lint_std_filesystem`
```rust
if found {
Err(r#"
^^^
Direct use of std::filesystem may be dangerous and buggy. Please include <util/fs.h> and use the
fs:: namespace, which has unsafe filesystem functions marked as deleted.
"#
.to_string())
```
💬 kcalvinalvin commented on pull request "Testnet4 including PoW difficulty adjustment fix":
(https://github.com/bitcoin/bitcoin/pull/29775#issuecomment-2127862043)
> I don't think we should see the lack of a testnet3 BIP as an argument against this.

Not even a BIP but some document that specifies testnet4 besides just a PR that still might get changed.

I think in 2024 we can agree that there's more than just Bitcoin Core and asking other implementations to "read the Bitcoin Core codebase" is a ridiculous ask.
💬 laanwj commented on pull request "net: Replace libnatpmp with built-in PCP+NATPMP implementation":
(https://github.com/bitcoin/bitcoin/pull/30043#discussion_r1612195743)
From what i understand, the error signalling and many of the flags and operations in the `rt_msghdr` are used with `PF_ROUTE` sockets, interactively. `sysctl` stores a read-only copy of the routing table data so that non-root users can access it.
Graned, it's kind of a weird API.
💬 davidgumberg commented on pull request "ci: add markdown link check job":
(https://github.com/bitcoin/bitcoin/pull/30034#issuecomment-2127907853)
crACK https://github.com/bitcoin/bitcoin/pull/30034/commits/82c5f9531021c76180fa34fa9cbd243ad1c994f3

I tested by manually breaking relative and absolute offline links and verifying that the lint runner catches them.

Some notes:

- At present, mlc does not check for anchor link validity, but likely will in the future. (https://github.com/becheran/mlc/issues/31)

For example:
```diff
-Verification of [scripted diffs](/doc/developer-notes.md#scripted-diffs).
+Verification of [
...
💬 theuni commented on pull request "util: add BitSet":
(https://github.com/bitcoin/bitcoin/pull/30160#discussion_r1612232560)
`std::bitset` throws for these if pos is out of range.

Maybe add `Assume()`s? Or were you trying to keep the header self-contained?
💬 apulsifer commented on issue "LevelDB read failure: Corruption: block checksum mismatch":
(https://github.com/bitcoin/bitcoin/issues/30159#issuecomment-2127922118)
> Could you explain the paging in a bit more detail?

The machines page pretty hard to SSD for about 20 seconds after each new block arrives. That info comes from "sar -d 10", which I logged for a while when I was setting up the first machine.

> Is the node constantly being bombarded with lots of simultaneous RPC calls (which ones?) or is some other interface used?

None of these machines has at this point serviced a single RPC call (I'm still trying to get things set up). No other inter
...
💬 theuni commented on pull request "util: add BitSet":
(https://github.com/bitcoin/bitcoin/pull/30160#discussion_r1612240218)
I know you like dense code, but...

I suspect function names would make reviewing uses of this easier than operators. Especially for the non-obvious ones like `&&` that `std::bitset` doesn't support.

I know that personally I'd have an easier time reviewing `a.intersects(b)`.
💬 epiccurious commented on pull request "doc: Update mentions of generating bitcoin.conf":
(https://github.com/bitcoin/bitcoin/pull/30154#discussion_r1612244540)
Agreed. Resolved with aef43a3a996618d581e0a16f7fc5e842708e83c9.
💬 davidgumberg commented on pull request "doc: update mention of generating bitcoin.conf":
(https://github.com/bitcoin/bitcoin/pull/30154#issuecomment-2127946115)
You should squash this into a single commit and update the PR description
💬 maflcko commented on issue "LevelDB read failure: Corruption: block checksum mismatch":
(https://github.com/bitcoin/bitcoin/issues/30159#issuecomment-2127953334)
I think calling the RPC `gettxoutsetinfo muhash` on all nodes (when they are synced to the same block) and it matches for all, then the chainstate leveldb at that point in time is probably fine. I presume all failures happened in the `/bdata/bitcoin-data/chainstate/` leveldb?
💬 maflcko commented on pull request "ci: add markdown link check job":
(https://github.com/bitcoin/bitcoin/pull/30034#issuecomment-2127974812)
> * That being said, this holds for all of the existing linter dependencies, and this dependency is optional and I am not an expert in security.

Right, the pull here does not change that. I'd say, it is best to only run the linters locally in a sandbox, or at least skip the optional dependencies.
💬 jonatack commented on pull request "net: add ASMap info in `getrawaddrman` RPC":
(https://github.com/bitcoin/bitcoin/pull/30062#discussion_r1612272793)
Why is `connman` passed by reference, and not reference to const? It isn't modified.
💬 jonatack commented on pull request "net: add ASMap info in `getrawaddrman` RPC":
(https://github.com/bitcoin/bitcoin/pull/30062#discussion_r1612273177)
Same comment here as https://github.com/bitcoin/bitcoin/pull/30062/files#r1612272793
💬 jonatack commented on pull request "net: add ASMap info in `getrawaddrman` RPC":
(https://github.com/bitcoin/bitcoin/pull/30062#discussion_r1612276581)
Using `auto` here requires looking up `GetMappedAS` to know the type. Using the actual type in this case would have been clearer to the reader. The conditional could also have been simpler, though that's arguably a style nit.

```diff
- const auto mapped_as{connman.GetMappedAS(info)};
- if (mapped_as != 0) {
+ const uint32_t mapped_as{connman.GetMappedAS(info)};
+ if (mapped_as) {
```
💬 jonatack commented on pull request "net: add ASMap info in `getrawaddrman` RPC":
(https://github.com/bitcoin/bitcoin/pull/30062#discussion_r1612276973)
Same comment here as https://github.com/bitcoin/bitcoin/pull/30062/files#r1612276581.
💬 maflcko commented on pull request "build: LLD based macOS toolchain":
(https://github.com/bitcoin/bitcoin/pull/21778#issuecomment-2127983803)
I presume macos-cross compilation on risv64 metal still fails? If it is expected to pass now, I can re-try this.
💬 jonatack commented on pull request "net: add ASMap info in `getrawaddrman` RPC":
(https://github.com/bitcoin/bitcoin/pull/30062#discussion_r1612279756)
Here and in the other new help below, the reason for the optional nature of this field could perhaps be mentioned (as simply as this ", if present", or perhaps in more detail).

```suggestion
{RPCResult::Type::NUM, "mapped_as", /*optional=*/true, "The ASN mapped to the IP of this peer per our current ASMap, if present"},
```
💬 LarryRuane commented on pull request "improve MallocUsage() accuracy":
(https://github.com/bitcoin/bitcoin/pull/28531#issuecomment-2128007110)
Your patch is much better, @theStack, thanks! It's simpler and doesn't need that weird `sleep`. Force-pushed your patch. If it passes CI, I think this is the way to go. I had tried something similar, but I didn't think to make the sending of that extra (smaller) transaction conditional based on available mempool space.