Testing Bitcoin Core 23.0 Release Candidates (tests)

Host: stickies-v

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 has a tutorial for testing the release candidate.

    • It is recommended to go through the โ€œPreparationโ€ steps ahead of the meeting, especially if you want to compile from source.
    • The testing guide relies on the tools jq and watch, which are not installed by default on each platform. For example on macOS, you can install these ahead of time using brew install. Alternatively, you can also modify the instructions to avoid using these tools as they are not strictly necessary and/or can be replaced by other tools.
    • For one of the tests, we try to connect over CJDNS. If you have not used this before, you could save some time by going through the instructions and configuring this ahead of the meeting.
  • 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

  113:00 <stickies-v> #startmeeting
  213:00 <glozow> hiโ€™
  313:00 <jaonoctus> hello!
  413:00 <brunoerg> hi
  513:00 <ccdle12> hi
  613:00 <svav> Hi
  713:00 <hernanmarino_> hello !
  813:00 <stickies-v> welcome to a special edition of the review club everyone!
  913:00 <justin_> hey :)
 1013:00 <monlovesmango> hey
 1113:00 <danielabrozzoni> hi ๐Ÿ™‚
 1213:00 <noc_> hi
 1313:01 <larryruane> hi
 1413:01 <kouloumos> hi
 1513:01 <lightlike> hi
 1613:01 <GucciPoet> Hi guys, I am honored to be here for my first meeting. You guys are all Legends!!! I'm here to learn and grow as a developer. nice to meet everyone!
 1713:01 <josibake> hi
 1813:01 <brunoerg> GucciPoet: welcome!
 1913:01 <stickies-v> welcome GucciPoet, we're glad to have you hear! do we have any other people joining for the first time?
 2013:01 <jaonoctus> GucciPoet: welcome!
 2113:01 <stickies-v> *here, ouch
 2213:01 <emzy> hi
 2313:02 <stickies-v> with the upcoming release of bitcoin core v23.0, today we'll be going through the testing guide that tests some of the changes introduced in this version
 2413:02 <stickies-v> you can find the meeting notes (incl link to the guide) here: https://bitcoincore.reviews/v23-rc-testing
 2513:03 <stickies-v> the guide is meant as a *starting point* to get you going and cover some of the important changes. it's crucial that enough people test different paths of the software, so after the hour is over - go nuts and try to break things!
 2613:03 <stickies-v> (and please report your findings)
 2713:03 <stickies-v> before we start, could you please share which OS you're using and whether you'll be compiling from source or using the precompiled binaries?
 2813:03 <stickies-v> macOS 12.3 (arm64) / compiled from source
 2913:04 <danielabrozzoni> I'm on NixOS 21.11, compiled from source
 3013:04 <brunoerg> macOS 12.0 / compiled from source
 3113:04 <emzy> macOS 12.3 / compiled from source
 3213:04 <ccdle12> nix + ubuntu / compiled from source
 3313:04 <monlovesmango> macOS 11.2 (arm64) / precompiled binaries
 3413:04 <jaonoctus> Ubuntu on Windows hehe, 5.10.16.3-microsoft-standard-WSL2 / compiled from source
 3513:04 <kouloumos> macOS 10.15.7 / compiled from source
 3613:04 <josibake> pop_os 21 (ubuntu) / compiled from source
 3713:05 <hernanmarino_> Linux 64 bits / compiled from source
 3813:05 <GucciPoet> macOS 10.15.6/ compiled from source
 3913:05 <stickies-v> jaonoctus great to see some windows users too, please don't hold back on running the windows build if you have time!
 4013:05 <larryruane> Linux 64 Ubuntu 21.10, compiling from source
 4113:06 <jaonoctus> stickies-v: surething, will do l8r
 4213:06 <stickies-v> looks like most people are quite comfortable with compiling from source, but feel free to use the binaries too if you run into any compilation problems
 4313:07 <stickies-v> so let's get started and get our environment setup, as per https://github.com/bitcoin-core/bitcoin-devwiki/wiki/23.0-Release-Candidate-Testing-Guide#preparation
 4413:07 <ls55> Fedora 35 / compiled from source
 4513:07 <stickies-v> we'll give a few minutes for people to get their release candidate, but no need to wait on everyone else if you'd like to start working through the sections or have questions
 4613:07 <larryruane> don't have to rabbit-hole but i'm having trouble compiling from source (i haven't seen this before): `/usr/bin/ld: /g/db4/lib/libdb_cxx-4.8.a(os_yield.o): in function '__os_yield':`
 4713:07 <larryruane> `os_yield.c:(.text+0x79): undefined reference to pthread_yield`
 4813:08 <larryruane> i think it may be because i'm on ubuntu 21.10, which may be too new to be supported(?)
 4913:08 <josibake> larryruane: looks related to bdb
 5013:09 <josibake> larryruane: try setting the --without-bdb flag in configure?
 5113:09 <larryruane> ok will do, thanks (i was compiling with BDB)
 5213:09 <glozow> larryruane: maybe just try a autogen, configure, make again? ๐Ÿ˜…
 5313:10 <stickies-v> the build process should become a bit smoother for everyone as we're moving away from bdb, which is nice!
 5413:10 <stickies-v> alright if you run into any issues with compiling or running the binaries do shout for help, but let's move on to the first test
 5513:11 <stickies-v> just to make sure everything boots alright, we're doing a quick wallet test in the GUI: https://github.com/bitcoin-core/bitcoin-devwiki/wiki/23.0-Release-Candidate-Testing-Guide#testing-the-gui
 5613:11 <brunoerg> great
 5713:13 <jaonoctus> gui is working here :)
 5813:13 <josibake> anyone else successfully build cjdns from source? im getting an error
 5913:14 <ls55> Yes, I did. Can you describe the error ?
 6013:14 <larryruane> glozow: josibake: (building without dbd worked, thanks)
 6113:14 <monlovesmango> gui works for me. small question, why can't you load wallet backup files from gui? can that be done from command line? (sorry im new)
 6213:14 <stickies-v> TIL Qt is pronounced "cute" instead of "cutie". What a day!
 6313:15 <emzy> I did only a basic GUI test like sync, receive and send. Worked.
 6413:15 <jaonoctus> stickies-v: fr? TIL+1
 6513:15 <stickies-v> that's a great question monlovesmango, and no need to apologize! does anyone have an answer?
 6613:15 <larryruane> GUI starts up for me too, looks good!
 6713:15 <brunoerg> GUI working here!
 6813:16 <stickies-v> jaonoctus: https://en.wikipedia.org/wiki/Qt_(software)
 6913:16 <hernanmarino_> GUI working. Syncing , sending and receiving working too
 7013:16 <monlovesmango> for cjdns I ended up using homebrew (brew install sjdns) and it seemed to be running, but also couldn't get cjdns IBD to work
 7113:16 <glozow> monlovesmango: see https://github.com/bitcoin-core/gui/pull/471
 7213:16 <monlovesmango> glozow: thanks!!
 7313:16 <larryruane> would someone like to post a signet address here? i'll send to it using "cute" (haha, qt)
 7413:17 <ls55> There is a PR that allows users to restore GUI wallet backup from GUI
 7513:17 <GucciPoet> Everything loaded, created wallet..works
 7613:17 <danielabrozzoni> larryruane (IRC): tb1qa6shvf2p8nvfz30a9ykepq8l8ue9258kntu9kv ๐Ÿ™‚
 7713:18 <josibake> no issues with the gui, nice that descriptors are default now :)
 7813:18 <emzy> tb1p8w0fx4h63mmxxhc6az8s7qugtqzrvyrtmjtz9agx958e4x5x5j9ql0xgme
 7913:18 <stickies-v> can't say no to free coin, yes please larryruane tb1q8cjpapvzyayxkhqnmjcfx8stshtl5gtdv3czu5
 8013:18 <monlovesmango> I will try to test that pr after this :)
 8113:18 <hernanmarino_> emzy: i 'll send you some sats
 8213:18 <emzy> ^ taproot address
 8313:18 <danielabrozzoni> Sats received, thanks!
 8413:19 <larryruane> danielabrozzoni: sent (0.4)
 8513:19 <stickies-v> monlovesmango re CJDNS did you try the ping6 command from the guide to check you're connected?
 8613:19 <emzy> hernanmarino_: thx. I see the TX
 8713:20 <hernanmarino_> emzy : great
 8813:20 <stickies-v> alright looks like the GUI is working well for everyone, time to move on to a slightly tricker test
 8913:20 <monlovesmango> stickies-v: yes and couldn't get ping6 to work for anything but localhost. but i realized that my router wasn't setup for ip6 so waiting for bf to stop working to try again
 9013:20 <danielabrozzoni> I had troubles with cjdns as well... cjdroute started without errors, but pinging wouldn't work
 9113:21 <larryruane> emzy: sent to you (0.1 to ...xgme)
 9213:21 <emzy> WOW I got a second TX with 0.1
 9313:21 โ€” emzy feels signet rich ;)
 9413:21 <stickies-v> so far most nodes have been running on the default port of 8333, but there is an ongoing effort to make it more feasible to run on most available ports, including #23542 which removes Core's very strong preference to only connect to peers running on the default port
 9513:22 <stickies-v> since there's randomness involved the test in https://github.com/bitcoin-core/bitcoin-devwiki/wiki/23.0-Release-Candidate-Testing-Guide#testing-non-default-ports can take a very short or a very long time, so don't panic if it takes a while!
 9613:23 <monlovesmango> this one passed for me. but the monitoring script had some weird output in the 'Currently connected outbound peers:' report section
 9713:23 <stickies-v> what was the weird output?
 9813:24 <jaonoctus1> thanx @amitiuttarwar for that PR #22618
 9913:24 <larryruane> stickies-v: sent 0.15 to ...czu5 (all my sends have been using gui)
10013:24 <emzy> I also got a nonstandard port peer. Was after about 15 minutes.
10113:24 <danielabrozzoni> I had a weird output as well but stickies-v fixed it ~6 hours ago ๐Ÿ˜€ See https://github.com/bitcoin/bitcoin/issues/24706#issuecomment-1082971761
10213:25 <monlovesmango> id column had: /tmp/23-rc-test/connection_monitoring.sh: line 3: /bitcoin-cli: No such file or directory
10313:26 <stickies-v> it looks like you didn't set your $BINARY_PATH properly then, because it's pointing to your $DATA_DIR instead
10413:26 <emzy> monlovesmango: yes you have to set export BINARY_PATH=$(pwd)/src also
10513:26 <stickies-v> well it's not necessarily pointing to your DATA_DIR but I suppose it was pointing to somewhere wrong
10613:26 <monlovesmango> danielabrozzoni: ok cool ill try again
10713:27 <monlovesmango> i was using precompiled binary in downloads folder, so BINARY_PATH=/Users/monica/Downloads/bitcoin-23.0rc2/bin/
10813:27 <emzy> I assume BINARY_PATH is just not set. Had the same problem.
10913:27 <stickies-v> can anyone explain why we couldn't speed up this test by having everyone here run their node on a non-default port and then see if we're able to connect to it?
11013:28 <stickies-v> emzy monlovesmango yeah just run echo $BINARY_PATH and see if that points to your binary dir
11113:28 <larryruane> in case anyone's not aware, you can send yourself some signet funds from the faucet here: https://signet.bc-2.jp/ (i just did that and the gui detected the incoming payment)
11213:29 <josibake> stickies-v: this isn't really testing if we can/cant connect on non-default ports, rather its testing that addrman connects to non-defaults when we become aware of them, right?
11313:29 <josibake> previously, we had a strong preference for connecting to nodes on the default port (8333)
11413:29 <monlovesmango> stickies-v: echo $BINARY_PATH looks ok. i'll try again later and post results
11513:30 <glozow> josibake: yep. testing automatic, not manual, connections to non-default ports
11613:30 <stickies-v> josibake indeed! manual connections were possible already
11713:30 <stickies-v> (automatic connections too, but extremely rare)
11813:31 <stickies-v> from the monitoring script, i'm curious what's everyone's AddrMan non-default to default ratio?
11913:31 <stickies-v> and if you connected to a non-default peer, what's your ratio of connection attempts made?
12013:31 <monlovesmango> monitoring script is working now!
12113:32 <stickies-v> my AddrMan ratio is 4.57%, and connection attempts currently at 4.82% (but not yet finished)
12213:32 <emzy> stickies-v: I had 5%
12313:33 <monlovesmango> AddrMan: 5.14%, connection attempts: 6.12%
12413:34 <stickies-v> Test successful: connected to non-default peer on "139.162.22.75:18222" whooo I passed!
12513:36 <stickies-v> "It does not necessarily mean 5% of our peers are non-default, since e.g. there could be biases like non-default nodes being less reliable than default nodes."
12613:36 <stickies-v> Does anyone have any ideas as to what kind of biases that could be?
12713:37 <danielabrozzoni> While running the test, I sometimes get a `error code: -29 Node not found in connected nodes`... is it normal?
12813:38 <stickies-v> danielabrozzoni yes this happens sporadically when the peer already disconnects by itself right before we run the disconnectnode command
12913:38 <emzy> I also got that.
13013:38 <danielabrozzoni> Ah, makes sense, thanks ๐Ÿ™‚
13113:40 <stickies-v> I'm not sure if everyone found their non-default peer already, but as we don't have that much time left I'd suggest we move on to CJDNS next
13213:40 <svav> I just ran bitcoin-23.0rc2-win64-setup.exeย  and the Welcome Window has really small text and is hard to read ...
13313:40 <josibake> was able
13413:40 <stickies-v> https://github.com/bitcoin-core/bitcoin-devwiki/wiki/23.0-Release-Candidate-Testing-Guide#testing-cjdns
13513:40 <josibake> to get a non-default peer! kudos on the script stickies-v
13613:41 <stickies-v> does anyone have any ideas why we'd bother adding CJDNS when we already have Tor and I2P?
13713:41 <stickies-v> (or before that, can anyone briefly summarize what CJDNS is about?)
13813:41 <stickies-v> yay josibake !
13913:42 <sipa> more mechanisms for combatting partitioning helps :)
14013:42 <stickies-v> svav that's good to know, would you be able to briefly check if there's already an issue for that and create one otherwise? https://github.com/bitcoin/bitcoin/issues
14113:43 <monlovesmango> from the little I could understand, cjdns is like a homegrown network of vpns...?
14213:44 <stickies-v> sipa yeah absolutely! And if you look at this from an adversarial angle, we need to make sure to have alternatives. If our privacy depends on just one network, it would be easier to bring down. With support for multiple privacy networks, we have much more resiliency
14313:45 <GucciPoet> agreed
14413:45 <josibake> from the little reading on cjdns , it appears it was originally designed to be used as a mesh network. not sure if this was part of the motivation for adding it, but seems like that could also be very useful for bitcoin
14513:46 <sipa> i'm not sure privacy is really the argument here... being on more networks sounds strictly worse for privacy
14613:46 <sipa> but privacy isn't the only concern
14713:46 <svav> stickies-v ok I will do that
14813:47 <svav> How do I stop the IBD on Windows, because I don't have room for the whole download on this computer?
14913:47 <stickies-v> (note: it's always useful to look at the PR when trying to understand the reasons for implementing a change, there's often a healthy discussion. For example, see https://github.com/bitcoin/bitcoin/pull/23077 for CJDNS)
15013:48 <stickies-v> I barely know anything on CJDNS myself so I'm also just asking the questions here haha, can't give too much answers
15113:48 <emzy> I think more networks helps against eclipse attacks.
15213:48 <josibake> svav: its fine to let it run while you are working through the guide. you can delete the tmp datadir when you are done
15313:48 <svav> oh ok thanks josibake
15413:48 <stickies-v> svav you can stop it with `$BINARY_PATH/bitcoin-cli -datadir=$DATA_DIR stop`
15513:49 <josibake> emzy: correct, which is why its not recommended to run only tor, or only i2p, or only cjdns. very few nodes using those networks makes it easier to eclipse
15613:49 <stickies-v> how's everyone getting along with setting up CJDNS? any issues with pinging the sample peer?
15713:49 <stickies-v> ping6 fc32:17ea:e415:c3bf:9808:149d:b5a2:c9aa
15813:52 <josibake> stickies-v: still running into compile errors for cjsdns, but ill finish the cjdns testing steps later once i get this figured out
15913:52 <danielabrozzoni> I can't ping the sample peer โ˜น๏ธ
16013:53 <stickies-v> josibake are there no binaries available or ubuntu?
16113:53 <lightlike> josibake: i'm not sure if tor-only is still a problem today, since there has been such a huge increase in available peers.
16213:53 <stickies-v> danielabrozzoni did you add a couple of peers from hyperboria-peers and then restart your cdjroute? (note: you have to run it with sudo!)
16313:55 <danielabrozzoni> So, I added IPv4 peers only, as I run into trouble when adding IPv6 peers (but I don't have a IPv6 IP, so I guess it makes sense)
16413:55 <danielabrozzoni> And then yeah, I restarted with sudo, but no luck
16513:55 <danielabrozzoni> It shows no error when starting, the log looks fine
16613:56 <josibake> lightlike: good point!
16713:56 <danielabrozzoni> And if I `ip a s` I can see `tun0:` and my `fc` IPv6 address
16813:57 <stickies-v> (note if anyone wants to connect to my node, i should be reachable on [fc21:1b4f:01f0:24ba:2e40:e4b9:f200:81cf]:8333 )
16913:57 <stickies-v> if you launch bitcoind with -listen=1 flag, you should be able to receive incoming connections too (assuming that your port is open)
17013:58 <stickies-v> feel free to post your ipv6 address here so people can try and connect to you!
17113:58 <danielabrozzoni> I'll just ask on the cjdns IRC later tonight ๐Ÿ™‚
17213:58 <stickies-v> (you can find this at the top of your cjdroute.conf file)
17313:58 <stickies-v> yeah sorry danielabrozzoni I have no idea :|
17413:58 <danielabrozzoni> Ahah no worries ๐Ÿ˜€
17514:00 <stickies-v> well, looks like we're at the end of the meeting already, thank you for attending everyone!
17614:00 <josibake> thanks for writing the guide and hosting, stickies-v!
17714:01 <danielabrozzoni> Thanks stickies-v ๐Ÿ™‚
17814:01 <monlovesmango> thank you!!!!!
17914:01 <stickies-v> feel free to hang around longer if you've not finished with the guide, it's easier to fix things together
18014:01 <GucciPoet> Thank you guys!
18114:01 <stickies-v> #endmeeting