Bitcoin Core Github
44 subscribers
121K links
Download Telegram
📝 glozow opened a pull request: "functional test: tx orphan handling"
(https://github.com/bitcoin/bitcoin/pull/28199)
I was doing some mutation testing (through reckless refactoring) locally and found some specific behaviors in orphan handling that weren't picked up by tests. Adding some of these test cases now can maybe help with reviewing refactors like #28031.

- Parent requests aren't sent immediately. A delay is added and the requests are filtered by AlreadyHaveTx before they are sent, which means you can't use fake orphans to probe precise arrival timing of a tx.
- Parent requests include all that are
...
💬 MarcoFalke commented on pull request "ci: Move ASan USDT to persistent_worker":
(https://github.com/bitcoin/bitcoin/pull/28161#issuecomment-1662036818)
> Tbh, I'd feel much more confident and comfortable knowing that some sponsors publicly pledged to cover all related costs.

Ok, I'll try to encourage the sponsor to publicly identify themselves, but I wonder what you worry about? If you are worried about the sponsor walking away, I can assure you that there are currently three (3) willing sponsors in line. Also, while it isn't free, running Linux is extremely cheap compared to Windows/macOS.

If you have any alternative ideas, it would be g
...
💬 hebasto commented on pull request "ci: Move ASan USDT to persistent_worker":
(https://github.com/bitcoin/bitcoin/pull/28161#issuecomment-1662057512)
> > Tbh, I'd feel much more confident and comfortable knowing that some sponsors publicly pledged to cover all related costs.
>
> Ok, I'll try to encourage the sponsor to publicly identify themselves

Sorry for being misunderstood. I don't want to force current sponsors to any additional actions.

> ... but I wonder what you worry about?

Sustainability.

> Also, while it isn't free, running Linux is extremely cheap compared to Windows/macOS.

I don't think so. In June, total Linux
...
👍 hebasto approved a pull request: "ci: Move ASan USDT to persistent_worker"
(https://github.com/bitcoin/bitcoin/pull/28161#pullrequestreview-1558764134)
ACK fa474397b5d4235efdfc5a5ddce2d637234548a7, I have reviewed the code and it looks OK.
💬 hebasto commented on pull request "ci: Move ASan USDT to persistent_worker":
(https://github.com/bitcoin/bitcoin/pull/28161#discussion_r1281752846)
Might it be more straightforward to define `BPFCC_PACKAGE` in `ci\test_imagefile`?

Running `FILE_ENV="./ci/test/00_setup_env_native_asan.sh" ./ci/test_run_all.sh` locally skips `interface_usdt_*.py` tests.
💬 MarcoFalke commented on pull request "ci: Move ASan USDT to persistent_worker":
(https://github.com/bitcoin/bitcoin/pull/28161#issuecomment-1662066525)
> > Also, while it isn't free, running Linux is extremely cheap compared to Windows/macOS.
>
> I don't think so. In June, total Linux tasks cost was the biggest one followed by Windows.

You are quoting Linux costs that Cirrus CI "sells". The goal of this pull request is to use Linux "sold" by someone else. (There are many professional companies that offer Linux boxes. If you are unsure, you can use your favourite search engine to get typical competitive pricing on Linux boxes.)
💬 MarcoFalke commented on pull request "ci: Move ASan USDT to persistent_worker":
(https://github.com/bitcoin/bitcoin/pull/28161#discussion_r1281795401)
> Running `FILE_ENV="./ci/test/00_setup_env_native_asan.sh" ./ci/test_run_all.sh` locally skips `interface_usdt_*.py` tests.

The goal of this pull request is not to change any behavior locally. If you are interested in changing the behavior, a separate issue or pull request would be good.
💬 dergoegge commented on pull request "test: tx orphan handling":
(https://github.com/bitcoin/bitcoin/pull/28199#issuecomment-1662073675)
Concept ACK

Good to have these tests prior to refactoring
💬 hebasto commented on pull request "ci: Move ASan USDT to persistent_worker":
(https://github.com/bitcoin/bitcoin/pull/28161#issuecomment-1662076765)
> > > Also, while it isn't free, running Linux is extremely cheap compared to Windows/macOS.
> >
> >
> > I don't think so. In June, total Linux tasks cost was the biggest one followed by Windows.
>
> You are quoting Linux costs that Cirrus CI "sells".

Yes. We have to cope with new Cirrus's offers.

> The goal of this pull request is to use Linux "sold" by someone else.

Using someone's else resource equals to not using Cirrus provided resources.

> (There are many professional c
...
fanquake closed an issue: "Add support for all networks in `deserialize_v2` in test_framework"
(https://github.com/bitcoin/bitcoin/issues/27140)
🚀 fanquake merged a pull request: "test: cover addrv2 anchors by adding TorV3 to CAddress in messages.py"
(https://github.com/bitcoin/bitcoin/pull/27452)
💬 dergoegge commented on pull request "fuzz: Generate with random libFuzzer settings":
(https://github.com/bitcoin/bitcoin/pull/28178#issuecomment-1662089886)
> 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.

This sounds reasonable but also quite rare. Could you give me an example of a theoretical target where this could happen?

Are there any other projects that do this (e.g. oss-fuzz)?

> I don't think we've seen such a bug in reality, so I am happy to close this pull.

On a general note, I think it is fine to add to/improve on our fuzzing tool
...
💬 MarcoFalke commented on pull request "fuzz: Generate with random libFuzzer settings":
(https://github.com/bitcoin/bitcoin/pull/28178#issuecomment-1662115396)
> Are there any other projects that do this (e.g. oss-fuzz)?

IIRC oss-fuzz did that with AFL build time settings, but removed it again because it would turn up bugs intermittently/non-deterministically. I don't think they do it for libFuzzer runtime settings, but I found this, which claims that exponential search is turned into linear search.

```
oss-fuzz]$ git grep -W -I use_value_profile
projects/java-example/ExampleValueProfileFuzzer.java=public class ExampleValueProfileFuzzer {
pr
...
💬 vasild commented on pull request "Relay own transactions only via short-lived Tor or I2P connections":
(https://github.com/bitcoin/bitcoin/pull/27509#discussion_r1281768350)
_moving discussion from https://github.com/bitcoin/bitcoin/pull/27509#issuecomment-1659008138_

> 2. Rapidly sending multiple transactions "...incremented the number of connections to open from 20 to 25..." this number grows rapidly and decreases slowly (especially on signet) I wonder if it should max out at some point or reduce the tx:relay-peer ratio from 5:1 to just 1:1

`MAX_SENSITIVE_RELAY_CONNECTIONS` (64) is supposed to cap it. Did it exceed 64?
💬 vasild commented on pull request "Relay own transactions only via short-lived Tor or I2P connections":
(https://github.com/bitcoin/bitcoin/pull/27509#discussion_r1281830292)
_moving discussion from https://github.com/bitcoin/bitcoin/pull/27509#issuecomment-1659008138_

> 3. Restarting the node and reloading the wallet logged messages about pushing the unbroadcast TXs to the mempool, but I do not think any sensitive-relay connections were triggered to deliver those. Eventually I tried sending another new TX and then, even though only 5 sensitive connections were being opened for that one new TX, over time those connections were used for some of the backlog ("preten
...
💬 fanquake commented on pull request "guix: use GCC 12.3.0 to build releases":
(https://github.com/bitcoin/bitcoin/pull/27897#issuecomment-1662118575)
Rebased on master.
Updated the time-machine to current Guix master.
Fixed macOS builds by retaining GCC 10 in it's manifest. This seems like the most straight-forward way to proceed here, given this code is going to be removed soon in any case (and GCC isn't used for the bitcoind builds).

There is currently a non-determinism issue (`x86_64` vs `aarch64`) with the `powerpc64le-linux-gnu` build.
💬 furszy commented on pull request "rpc: getblockfrompeer, introduce fetch from "any" functionality":
(https://github.com/bitcoin/bitcoin/pull/27836#issuecomment-1662121821)
Work moved to #27837. Closing.
furszy closed a pull request: "rpc: getblockfrompeer, introduce fetch from "any" functionality"
(https://github.com/bitcoin/bitcoin/pull/27836)
💬 jamesob commented on pull request "test: tx orphan handling":
(https://github.com/bitcoin/bitcoin/pull/28199#issuecomment-1662122993)
Concept ACK, looks like some great additional coverage.
💬 vasild commented on pull request "Relay own transactions only via short-lived Tor or I2P connections":
(https://github.com/bitcoin/bitcoin/pull/27509#issuecomment-1662136231)
`2541f09439...6e6f83b0f7`: rebase due to conflicts and address some suggestions and issues. Also ditch `UseSensitiveRelay()` and use `m_opts.sensitiverelayowntx` directly.