Bitcoin Core Github
44 subscribers
120K links
Download Telegram
💬 vasild commented on pull request "rpc: add 'getnetmsgstats' RPC":
(https://github.com/bitcoin/bitcoin/pull/28926#discussion_r1417282448)
I realized that this can be done in a simpler way - if the stats are put in a map and `""` used for the aggregated dimensions. See commit b7c56affe9 `rpc: make it possible to aggregate the result in getnetmsgstats` from [`vasild/getnetmsgstats`](https://github.com/vasild/bitcoin/commits/getnetmsgstats).
📝 dergoegge opened a pull request: "wip: Split fuzz binary"
(https://github.com/bitcoin/bitcoin/pull/29010)
Closes #28971

* Split each harness into it's own file
* Support compiling individual harness through `CPPFLAGS="-DFUZZ_HARNESS=<harness name>"`
* Build individual binaries

The cumulative size of the individual binaries (compiled with LTO) is 3.6GB vs 14GB when search and replacing `std::getenv("FUZZ")` (like we do in oss-fuzz).

TODOs:
- [ ] Introduce option for building individual binaries
- [ ] Deal with `test/fuzz/{tx_pool, tx_package_eval, deserialize}.cpp`
- [ ] One harness per
...
💬 dergoegge commented on pull request "wip: Split fuzz binary":
(https://github.com/bitcoin/bitcoin/pull/29010#issuecomment-1842946104)
cc @maflcko

turns out we can actually keep the map if we just don't add all the harness functions into it
💬 dergoegge commented on pull request "fuzz: p2p: Detect peer deadlocks":
(https://github.com/bitcoin/bitcoin/pull/29009#issuecomment-1842958846)
Should we do the same for `process_message`? would need to change it to use `ProcessMessagesOnce` as well.
👍 fanquake approved a pull request: "ci: Use Ubuntu 24.04 Noble for asan,tsan,tidy,fuzz"
(https://github.com/bitcoin/bitcoin/pull/28992#pullrequestreview-1767679627)
ACK fad2392c5861a88a87cb8a03d2fc9773e178feb8
🚀 fanquake merged a pull request: "ci: Use Ubuntu 24.04 Noble for asan,tsan,tidy,fuzz"
(https://github.com/bitcoin/bitcoin/pull/28992)
💬 dergoegge commented on pull request "fuzz: rule-out too deep derivation paths in descriptor parsing targets":
(https://github.com/bitcoin/bitcoin/pull/28832#issuecomment-1842974001)
Could you add the exception for the `scriptpubkeyman` harness as well?

https://github.com/bitcoin/bitcoin/blob/d85491404352c8b20bd7c317c129dca0763aead2/src/wallet/test/fuzz/scriptpubkeyman.cpp#L54-L56
📝 fanquake opened a pull request: "[26.x] Backports"
(https://github.com/bitcoin/bitcoin/pull/29011)
Backports for 26.x. Currently:
* https://github.com/bitcoin/bitcoin/pull/28992
💬 fanquake commented on pull request "ci: Use Ubuntu 24.04 Noble for asan,tsan,tidy,fuzz":
(https://github.com/bitcoin/bitcoin/pull/28992#issuecomment-1842974602)
Will be backported in #29011.
💬 brunoerg commented on pull request "test: create deterministic addrman in the functional tests":
(https://github.com/bitcoin/bitcoin/pull/29007#discussion_r1417402704)
In 964e1a8faec984df2799171bc2a9268a3765fbca: Any specific reason to increase the number of added addresses here?
💬 furszy commented on pull request "wallet: skip BnB when SFFO is enabled":
(https://github.com/bitcoin/bitcoin/pull/28994#discussion_r1417404342)
Tracepoints are OS level hooks that are not part of the software by default. Logging is about keeping the history of events that occurred along the software lifetime. This does not only involve errors, it also involves information about the soft activity.
Unlike logging, which can be enabled on-the-fly by simply calling an RPC command, users cannot enable tracepoints on their node without recompiling the software with a specific flag. Which requires compiling knowledge, forces the user to shutd
...
💬 0xB10C commented on pull request "test: create deterministic addrman in the functional tests":
(https://github.com/bitcoin/bitcoin/pull/29007#discussion_r1417424421)
This was lowered to 1 tried and 1 new in https://github.com/bitcoin/bitcoin/pull/23084 as more than one address meant the test could sporadically fail if there's a collision.

@stratospher, I think, if you want to make this clearer, you could have this commit be a revert of https://github.com/bitcoin/bitcoin/commit/5825b34783545f9470d5ab94b87c918980715675 or note it in the commit message.
💬 brunoerg commented on pull request "test: create deterministic addrman in the functional tests":
(https://github.com/bitcoin/bitcoin/pull/29007#discussion_r1417428585)
Thanks, @0xB10C. An explanation in the commit message would be valuable.
💬 maflcko commented on pull request "wip: Split fuzz binary":
(https://github.com/bitcoin/bitcoin/pull/29010#issuecomment-1843018335)
Nice, but I am not sure if we want to go down to route to put everyone back into the makefile hell, because this will just make writing new fuzz tests bloaty and impossible to maintain/review (Who is going to read those repetitive and ugly 1k LOC of build code). (Unrelated: Not even sure how this will interact with cmake)

It seems easier to just put a one-line bash command into the readme to achieve the same, for anyone that needs it (oss-fuzz, fuzz-introspector, afl-lto, etc ...).

Happy
...
💬 maflcko commented on pull request "fuzz: p2p: Detect peer deadlocks":
(https://github.com/bitcoin/bitcoin/pull/29009#issuecomment-1843021831)
> Should we do the same for `process_message`? would need to change it to use `ProcessMessagesOnce` as well.

Happy to review a pull request, or happy to include any patch here, that compiles, if someone writes it.
🚀 fanquake merged a pull request: "rpc: fix getrawtransaction segfault"
(https://github.com/bitcoin/bitcoin/pull/29003)
fanquake closed an issue: "getrawtransaction xxxxxx.... 2 causes a segfault"
(https://github.com/bitcoin/bitcoin/issues/28986)
💬 dergoegge commented on pull request "wip: Split fuzz binary":
(https://github.com/bitcoin/bitcoin/pull/29010#issuecomment-1843034078)
I split the harnesses into individual files so that we can use the file list in `src/test/fuzz` as the harness list. It should be possible to use that to have a loop (?) in the makefile to build each binary instead of the hard-coded list I have here (I haven't figured out how to do that yet). If that works, adding a new fuzz harness becomes easier as no makefile would need to be edited.
💬 fanquake commented on pull request "rpc: fix getrawtransaction segfault":
(https://github.com/bitcoin/bitcoin/pull/29003#issuecomment-1843040475)
Added to #29011 for backporting to 26.x.