Testing Bitcoin Core 29.0 Release Candidates (tests)

Host: janb84  -  PR authors: janb84 , arejula27 , musaHaruna , Prabhat1308

Notes

  • Major versions of Bitcoin Core are released every 6-8 months. See the Life Cycle documentation for full details.

  • When all of the PRs for a release have been merged, Release Candidate 1 (rc1) is tagged. The rc is then tested. If any issues are found, fixes are merged into the branch and a new rc is tagged. This continues until no major issues are found in an rc, and that rc is then considered to be the final release version.

  • To ensure that users don’t experience issues with the new software, it’s essential that the rcs are thoroughly tested. This special review club meeting is for people who want to help with that vital review process.

  • This Bitcoin Core Release Candidate Testing Guide provides guidance for testing the release candidate.

  • The guide is just to get you started on testing, so feel free to read the Release Notes and bring ideas of other things you’d like to test!

Meeting Log

  117:00 <janb84> #startmeeting
  217:00 <janb84> hi
  317:00 <arejula27> hi :D
  417:00 <emzy> hi
  517:00 <kevkevin_> hi
  617:00 <dzxzg> hi
  717:00 <janb84> Hello everyone,
  817:00 <janb84> Welcome to the Bitcoin Review Club meeting! Today, we will be discussing the Release Testing Guide for the upcoming 29.0 release. These guides are essential for assisting people in testing the release candidates across various systems and environments. This time, we, the students of the 2025 Chaincode Labs Boss program, have had the privilege of writing it.
  917:00 <janb84> Typically, the Review Club focuses on discussing a pull request (PR), but this time we will be reviewing the Release Testing Guide.
 1017:00 <janb84> You can find it here:
 1117:00 <janb84> https://github.com/bitcoin-core/bitcoin-devwiki/wiki/29.0-Release-Candidate-Testing-Guide
 1217:01 <janb84> Just a reminder to please be mindful of the review club meeting conventions:
 1317:01 <janb84> Do not ask to ask a question, just ask!
 1417:01 <janb84> The host moderates, not lead, just jump in :)
 1517:01 <janb84> With that out of the way, let’s start !
 1617:01 <janb84> Did everyone get a chance already to test v29 (and use our guide)? How about a quick y/n from everyone!
 1717:01 <dzxzg> n
 1817:01 <emzy> n
 1917:02 <emzy> I just did the build.
 2017:02 <janb84> That is a good start :)
 2117:02 <janb84> Any trouble doing that ? was it clear how to do it from the guide ?
 2217:04 <dzxzg> it seems like there is a small issue with setting the v29 bin when building from source (https://github.com/bitcoin-core/bitcoin-devwiki/wiki/29.0-Release-Candidate-Testing-Guide#v29-from-source)
 2317:04 <emzy> I actualy did not use the guide. Not the first time I'm doing it.
 2417:04 <janb84> ah cool cool
 2517:04 <dzxzg> should be "export BINARY_PATH_29=$RC_TEST_DIR/bitcoin/build/bin" after a recent change
 2617:05 <janb84> yeah that is a good point @dzxzg
 2717:05 <dzxzg> otherwise built and checked the versions and everything looks good (y)
 2817:06 <janb84> I have made a note of this issue, but if you come across any other issues please make a comment to the issue list :)
 2917:07 <janb84> https://github.com/bitcoin/bitcoin/issues/32026
 3017:07 <janb84> Libnatpmp was replaced with a custom implementation of PCP and NAT-PMP. This supports automatic IPv4 port forwarding as well as IPv6 pinholing. We are interested in all test outcome, Please describe how to test this.
 3117:11 <dzxzg> I ran the following command: bitcoind29 -signet -natpmp=1 -debug=net and looked for logging output about pcp in my terminal, as described in the testing guide
 3217:12 <janb84> haha yeah thats it @dzxzg , kinda stupid question from me but it is a starter
 3317:12 <dzxzg> I ran this command: cat $DATA_DIR_29/signet/debug.log | grep "pcp"  to grep for lines about pcp
 3417:12 <janb84> But once you have started the node like that how can one check if the node is reachable
 3517:14 <emzy> I think I have the feature off on my router. Getting this: pcp: Mapping failed with result NOT_AUTHORIZED (code 2)
 3617:15 <dzxzg> I see this after my node requests port mapping "[net:warning] pcp: Could not send request: Operation not permitted (1)"  looks like it doesn't work on my network!
 3717:16 <janb84> @emzy correct ! looks like pnp is not enabled
 3817:16 <janb84> or pcp
 3917:16 <janb84> These testcases are also very valuable ! the developers would love to know if you could setup a connection and if PNP is enabled by default.
 4017:16 <janb84> Please if you are able to do so create a comment here: https://github.com/bitcoin/bitcoin/issues/31663
 4117:17 <janb84> They would also like the know the route brand/model
 4217:18 <janb84> Does anyone has IpV6 enabled on their network ?
 4317:21 <emzy> Yes
 4417:22 <arejula27> In the RPC updated methods, **mainnet** and **regtest** are used. Is it okay, or would it be better to test all methods only on **regtest**?
 4517:22 <emzy> I have a FRITZ!Box 7530 AX. But I changed a lot of settinge :)
 4617:23 <janb84> @emzy do you get any feedback on ipv6 pinholing being succesful ?
 4717:26 <janb84> @dzxzg is the connection issues related to PCP test? or just a coincedence ?
 4817:27 <emzy> ipv4 pcp seems to work now, that I allowed it: "[net:info] portmap: Added mapping pcp:87.x.x.x:38333 -> 192.168.99.114:38333 (for 120s)"
 4917:28 <dzxzg> I think it's just a coincidence, firefox garbage collecting my web.libera.chat tab :)
 5017:28 <emzy> looks like the "pcp: Mapping failed with result NOT_AUTHORIZED (code 2)" is from ipv6
 5117:28 <janb84> @emzy even if you have changed a lot of settings, i think it's valueble to create a comment to share these findings
 5217:28 <emzy> ok, will do.
 5317:29 <dzxzg> I'll share my router and settings in that issue as well
 5417:30 <emzy> is there a way to see the active mappings? It could be that just one of my ipv6 are NOT_AUTHORIZED
 5517:31 <janb84> that's a good question @emzy i do not know.
 5617:32 <emzy> from the log, it seems only the ipv4 pcp was working.
 5717:32 <dzxzg> emzy: not sure if there's any rpc command for that, but you can see the mappings that get set using: `cat $DATA_DIR_29/regtest/debug.log | grep -i "pcp"`
 5817:33 <janb84> @emzy the ai tells me you would be able to see that in your Fritzbox, Network settings -> View active connections
 5917:37 <emzy> Looks more it is at: Internet > Permit Access > Port Sharing. I can see the ipv4 pcp there.
 6017:37 <emzy> I'm a networking guy. But the Fritzbox is made for normal people. Hard to use for me :)
 6117:37 <janb84> @emzy AI.. so yeah :') But glad you found it
 6217:38 <emzy> I will look into it. And make a comment about it.
 6317:38 <janb84> @emzy thanks
 6417:39 <janb84> The issue also mentions that one can test if the mapping is successful by using nn
 6517:39 <janb84> nc -v -n -z <redacted> 8444
 6617:40 <janb84> ofc replace redacted with external ip and port with the correct port
 6717:42 <janb84> Does anyone of you have a question about the guide ? or some remarks or missing something. We did not know how to create a test for the Ephemeral dust feature, if one of you would have a clue please create a comment in the feedback issue
 6817:43 <emzy> just tested to connect my local node. It works from a public node!
 6917:43 <emzy> in ipv4 nbwl2 2 24 24 0 34 1 1 15 70016/Satoshi:27.1.0(@emzy)/
 7017:44 <janb84> @emzy nice ! thats a great result !
 7117:44 <emzy> in ipv4 nbwl2 2 22 22 13 1 1 2 15 178.63.87.163:44900
 7217:45 <emzy> nice
 7317:47 <janb84> @dzxzg thank you for also creating a comment about your PCP findings !
 7417:48 <janb84> Any questions ? if not I will wrap up this meeting in 5 minutes.
 7517:53 <janb84> Thank you all for joining and actively participating! If you have any feedback, please leave a comment here:
 7617:53 <janb84> https://github.com/bitcoin/bitcoin/issues/32026
 7717:53 <dzxzg> None from me, I have to drop but thanks to all who wrote the testing guide and thank you janb84 for hosting!
 7817:53 <janb84> Thanks once again!
 7917:53 <janb84> #endmeeting