Bitcoin Core Github
44 subscribers
121K links
Download Telegram
🤔 theStack reviewed a pull request: "blockstorage: Drop legacy -txindex check"
(https://github.com/bitcoin/bitcoin/pull/28195#pullrequestreview-1556965654)
Concept ACK

There are still two instances where blocks_path can be used (sometimes it's quite annoying that python also allows single quote strings):
```
test/functional/feature_pruning.py: self.prunedir = os.path.join(self.nodes[2].chain_path, 'blocks', '')
test/functional/wallet_backup.py: shutil.rmtree(os.path.join(self.nodes[2].chain_path, 'blocks'))
```
With my very limited sed skills, I'd just add another line
`sed -i 's|].chain_path, 'blocks'|].blocks_path|g' $(
...
💬 MarcoFalke commented on pull request "p2p: Drop m_recently_announced_invs bloom filter":
(https://github.com/bitcoin/bitcoin/pull/27675#discussion_r1280656421)
> The sequence number isn't incremented until TransactionAddedToMempool() fires later.

Doesn't that mean there are races? (There is no guarantee that `TransactionAddedToMempool()` will always run in the near future)?

Basically, I am wondering what happens if you reorder `t=2` and `t=3` in your example.
💬 Sjors commented on pull request "validation: log which peer sent us a header":
(https://github.com/bitcoin/bitcoin/pull/27826#issuecomment-1660344850)
Rebased!
💬 dergoegge commented on pull request "fuzz: Generate with random libFuzzer settings":
(https://github.com/bitcoin/bitcoin/pull/28178#issuecomment-1660350895)
I think I'd prefer continuing to use the defaults but I also don't use the runner much for generating, so no super strong opinion. I would assume that the defaults are based on data/heuristics and probably work well most of the time, so maybe make this optional?

> Sometimes a libFuzzer setting like -use_value_profile=1 helps [0], sometimes it hurts [1].
> By picking a random value, it is ensured that at least some of the runs will have the beneficial configuration set.

Wouldn't this only
...
💬 MarcoFalke commented on pull request "fuzz: Generate with random libFuzzer settings":
(https://github.com/bitcoin/bitcoin/pull/28178#issuecomment-1660386703)
Except for `mutate_depth`, 70% of the time the default value is used for each setting. Happy to change `mutate_depth` as well, which would mean in `.7**3` runs you get a "vanilla" libfuzzer.

I'd say the main goal here is to prevent a case where a bug isn't found at all (or only after a "outlier" long time) due to the default settings. I don't think we've seen such a bug in reality, so I am happy to close this pull.

Regardless, `max_len` should probably be considered separate, where the goa
...
💬 MarcoFalke commented on pull request "util: Teach AutoFile how to XOR":
(https://github.com/bitcoin/bitcoin/pull/28060#issuecomment-1660402481)
@jamesob Mind doing a re-ACK (trivial). Otherwise I wonder if anything is left to be done here? Is this waiting on someone's NACK or ACK?
💬 MarcoFalke commented on pull request "blockstorage: XOR blocksdir *.dat files":
(https://github.com/bitcoin/bitcoin/pull/28052#issuecomment-1660405202)
Rebased on the latest #https://github.com/bitcoin/bitcoin/pull/28060
💬 Sjors commented on pull request "rpc, wallet: addhdseed, infer seed when importing descriptor with xpub ":
(https://github.com/bitcoin/bitcoin/pull/23544#issuecomment-1660421353)
This is very out of date and it's not on my priority list at the moment. Happy to review if someone else takes it over.
Sjors closed a pull request: "rpc, wallet: addhdseed, infer seed when importing descriptor with xpub "
(https://github.com/bitcoin/bitcoin/pull/23544)
💬 ajtowns commented on pull request "p2p: Drop m_recently_announced_invs bloom filter":
(https://github.com/bitcoin/bitcoin/pull/27675#discussion_r1280715228)
> Doesn't that mean there are races? (There is no guarantee that `TransactionAddedToMempool()` will always run in the near future)?

The mempool value is incremented when TrAddedTMP is queued, not when it's eventually run -- the increment happens first, then the result of the increment is passed through and queued up. So I don't think there's any racy here.

> Perhaps it makes sense to use `m_pool.GetSequence() + 1` here?

I think it would make more sense to change `info_for_relay`?

```
...
💬 Sjors commented on pull request "Improve display address handling for external signer":
(https://github.com/bitcoin/bitcoin/pull/24313#discussion_r1280721691)
I switched to using util::Result in my last rebase a few months ago.
💬 MarcoFalke commented on pull request "Improve display address handling for external signer":
(https://github.com/bitcoin/bitcoin/pull/24313#discussion_r1280757943)
Pretty sure this is wrong, as you are not checking `!res.value()`. (Previously it threw, now it silently continues. Now it only throws when no `ExternalSignerScriptPubKeyMan` is available.)

This can be fixed non-confusingly by using `Result<void>`
💬 glozow commented on pull request "p2p: Drop m_recently_announced_invs bloom filter":
(https://github.com/bitcoin/bitcoin/pull/27675#discussion_r1280759603)
> Doesn't that mean there are races? (There is no guarantee that TransactionAddedToMempool() will always run in the near future)?

I meant `TransactionAddedToMempool` event happening, not the validation interface clients' callbacks. IIUC the event firing on main signals (which calls `GetAndIncrementSequence()`) happens in validation before `ProcessTransaction` returns:
https://github.com/bitcoin/bitcoin/blob/e5a9f2fb62dc4db6cad21b2997d96a881ea64125/src/validation.cpp#L1234

The queued callb
...
👍 jamesob approved a pull request: "util: Teach AutoFile how to XOR"
(https://github.com/bitcoin/bitcoin/pull/28060#pullrequestreview-1557204259)
reACK fa633aa6906f3b130b691568bcd20b2b76bb1cbb ([`jamesob/ackr/28060.4.MarcoFalke.util_add_xorfile`](https://github.com/jamesob/bitcoin/tree/ackr/28060.4.MarcoFalke.util_add_xorfile))

Tiny diff since last review; moving `ftell` out of a loop.


<details><summary>Range-diff</summary>

```diff
6: faebf00dbf ! 6: fa633aa690 streams: Teach AutoFile how to XOR
@@ src/streams.cpp: void AutoFile::ignore(size_t nSize)
+ throw std::ios_base::failure("AutoFile::write: writ
...
💬 pinheadmz commented on pull request "ci: Move ASan USDT to persistent_worker":
(https://github.com/bitcoin/bitcoin/pull/28161#issuecomment-1660491860)
concept ACK

I read the linked cirrus guide about persistent workers, everything makes sense with these changes. Two questions:
1. Is the persistent worker hosted by you? Are there any documented details about it?
2. Why does the `previous releases` task need persistent worker?
💬 MarcoFalke commented on pull request "Silent Payments: Implement BIP352":
(https://github.com/bitcoin/bitcoin/pull/28122#issuecomment-1660492118)
Needs rebase
💬 MarcoFalke commented on pull request "refactor: Use util::Result class for wallet loading":
(https://github.com/bitcoin/bitcoin/pull/25722#issuecomment-1660494465)
Maybe mark as draft for as long as CI is red and this is based on something else?
🤔 furszy reviewed a pull request: "p2p: make block download logic aware of limited peers threshold"
(https://github.com/bitcoin/bitcoin/pull/28120#pullrequestreview-1557211930)
> What would be bad is if all our current peers were limited, and we wouldn't try to request the needed blocks from anyone, but also wouldn't try to exchange them for better peers, so that we would be stuck.

Right now, this will hardly happen. The reason is `CheckForStaleTipAndEvictPeers`. The logic is as follows:

When the node doesn't update the tip for a period longer than 30 minutes (`TipMayBeStale()`), it triggers the extra outbound connection process. Which instructs the net layer to
...
💬 MarcoFalke commented on pull request "blockstorage: Drop legacy -txindex check":
(https://github.com/bitcoin/bitcoin/pull/28195#issuecomment-1660503311)
Thanks, fixed up the scripted-diff
💬 glozow commented on pull request "p2p: Drop m_recently_announced_invs bloom filter":
(https://github.com/bitcoin/bitcoin/pull/27675#discussion_r1280780213)
Ah I didn't see the last message.

> I think it would make more sense to change info_for_relay?

sounds good to me