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
andwatch
, which are not installed by default on each platform. For example on macOS, you can install these ahead of time usingbrew 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
1 | 13:00 | <stickies-v> #startmeeting |
2 | 13:00 | <glozow> hiโ |
3 | 13:00 | <jaonoctus> hello! |
4 | 13:00 | <brunoerg> hi |
5 | 13:00 | <ccdle12> hi |
6 | 13:00 | <svav> Hi |
7 | 13:00 | <hernanmarino_> hello ! |
8 | 13:00 | <stickies-v> welcome to a special edition of the review club everyone! |
9 | 13:00 | <justin_> hey :) |
10 | 13:00 | <monlovesmango> hey |
11 | 13:00 | <danielabrozzoni> hi ๐ |
12 | 13:00 | <noc_> hi |
13 | 13:01 | <larryruane> hi |
14 | 13:01 | <kouloumos> hi |
15 | 13:01 | <lightlike> hi |
16 | 13: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! |
17 | 13:01 | <josibake> hi |
18 | 13:01 | <brunoerg> GucciPoet: welcome! |
19 | 13:01 | <stickies-v> welcome GucciPoet, we're glad to have you hear! do we have any other people joining for the first time? |
20 | 13:01 | <jaonoctus> GucciPoet: welcome! |
21 | 13:01 | <stickies-v> *here, ouch |
22 | 13:01 | <emzy> hi |
23 | 13: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 |
24 | 13:02 | <stickies-v> you can find the meeting notes (incl link to the guide) here: https://bitcoincore.reviews/v23-rc-testing |
25 | 13: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! |
26 | 13:03 | <stickies-v> (and please report your findings) |
27 | 13: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? |
28 | 13:03 | <stickies-v> macOS 12.3 (arm64) / compiled from source |
29 | 13:04 | <danielabrozzoni> I'm on NixOS 21.11, compiled from source |
30 | 13:04 | <brunoerg> macOS 12.0 / compiled from source |
31 | 13:04 | <emzy> macOS 12.3 / compiled from source |
32 | 13:04 | <ccdle12> nix + ubuntu / compiled from source |
33 | 13:04 | <monlovesmango> macOS 11.2 (arm64) / precompiled binaries |
34 | 13:04 | <jaonoctus> Ubuntu on Windows hehe, 5.10.16.3-microsoft-standard-WSL2 / compiled from source |
35 | 13:04 | <kouloumos> macOS 10.15.7 / compiled from source |
36 | 13:04 | <josibake> pop_os 21 (ubuntu) / compiled from source |
37 | 13:05 | <hernanmarino_> Linux 64 bits / compiled from source |
38 | 13:05 | <GucciPoet> macOS 10.15.6/ compiled from source |
39 | 13: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! |
40 | 13:05 | <larryruane> Linux 64 Ubuntu 21.10, compiling from source |
41 | 13:06 | <jaonoctus> stickies-v: surething, will do l8r |
42 | 13: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 |
43 | 13: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 |
44 | 13:07 | <ls55> Fedora 35 / compiled from source |
45 | 13: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 |
46 | 13: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':` |
47 | 13:07 | <larryruane> `os_yield.c:(.text+0x79): undefined reference to pthread_yield` |
48 | 13:08 | <larryruane> i think it may be because i'm on ubuntu 21.10, which may be too new to be supported(?) |
49 | 13:08 | <josibake> larryruane: looks related to bdb |
50 | 13:09 | <josibake> larryruane: try setting the --without-bdb flag in configure? |
51 | 13:09 | <larryruane> ok will do, thanks (i was compiling with BDB) |
52 | 13:09 | <glozow> larryruane: maybe just try a autogen, configure, make again? ๐ |
53 | 13:10 | <stickies-v> the build process should become a bit smoother for everyone as we're moving away from bdb, which is nice! |
54 | 13: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 |
55 | 13: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 |
56 | 13:11 | <brunoerg> great |
57 | 13:13 | <jaonoctus> gui is working here :) |
58 | 13:13 | <josibake> anyone else successfully build cjdns from source? im getting an error |
59 | 13:14 | <ls55> Yes, I did. Can you describe the error ? |
60 | 13:14 | <larryruane> glozow: josibake: (building without dbd worked, thanks) |
61 | 13: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) |
62 | 13:14 | <stickies-v> TIL Qt is pronounced "cute" instead of "cutie". What a day! |
63 | 13:15 | <emzy> I did only a basic GUI test like sync, receive and send. Worked. |
64 | 13:15 | <jaonoctus> stickies-v: fr? TIL+1 |
65 | 13:15 | <stickies-v> that's a great question monlovesmango, and no need to apologize! does anyone have an answer? |
66 | 13:15 | <larryruane> GUI starts up for me too, looks good! |
67 | 13:15 | <brunoerg> GUI working here! |
68 | 13:16 | <stickies-v> jaonoctus: https://en.wikipedia.org/wiki/Qt_(software) |
69 | 13:16 | <hernanmarino_> GUI working. Syncing , sending and receiving working too |
70 | 13: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 |
71 | 13:16 | <glozow> monlovesmango: see https://github.com/bitcoin-core/gui/pull/471 |
72 | 13:16 | <monlovesmango> glozow: thanks!! |
73 | 13:16 | <larryruane> would someone like to post a signet address here? i'll send to it using "cute" (haha, qt) |
74 | 13:17 | <ls55> There is a PR that allows users to restore GUI wallet backup from GUI |
75 | 13:17 | <GucciPoet> Everything loaded, created wallet..works |
76 | 13:17 | <danielabrozzoni> larryruane (IRC): tb1qa6shvf2p8nvfz30a9ykepq8l8ue9258kntu9kv ๐ |
77 | 13:18 | <josibake> no issues with the gui, nice that descriptors are default now :) |
78 | 13:18 | <emzy> tb1p8w0fx4h63mmxxhc6az8s7qugtqzrvyrtmjtz9agx958e4x5x5j9ql0xgme |
79 | 13:18 | <stickies-v> can't say no to free coin, yes please larryruane tb1q8cjpapvzyayxkhqnmjcfx8stshtl5gtdv3czu5 |
80 | 13:18 | <monlovesmango> I will try to test that pr after this :) |
81 | 13:18 | <hernanmarino_> emzy: i 'll send you some sats |
82 | 13:18 | <emzy> ^ taproot address |
83 | 13:18 | <danielabrozzoni> Sats received, thanks! |
84 | 13:19 | <larryruane> danielabrozzoni: sent (0.4) |
85 | 13:19 | <stickies-v> monlovesmango re CJDNS did you try the ping6 command from the guide to check you're connected? |
86 | 13:19 | <emzy> hernanmarino_: thx. I see the TX |
87 | 13:20 | <hernanmarino_> emzy : great |
88 | 13:20 | <stickies-v> alright looks like the GUI is working well for everyone, time to move on to a slightly tricker test |
89 | 13: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 |
90 | 13:20 | <danielabrozzoni> I had troubles with cjdns as well... cjdroute started without errors, but pinging wouldn't work |
91 | 13:21 | <larryruane> emzy: sent to you (0.1 to ...xgme) |
92 | 13:21 | <emzy> WOW I got a second TX with 0.1 |
93 | 13:21 | โ emzy feels signet rich ;) |
94 | 13: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 |
95 | 13: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! |
96 | 13:23 | <monlovesmango> this one passed for me. but the monitoring script had some weird output in the 'Currently connected outbound peers:' report section |
97 | 13:23 | <stickies-v> what was the weird output? |
98 | 13:24 | <jaonoctus1> thanx @amitiuttarwar for that PR #22618 |
99 | 13:24 | <larryruane> stickies-v: sent 0.15 to ...czu5 (all my sends have been using gui) |
100 | 13:24 | <emzy> I also got a nonstandard port peer. Was after about 15 minutes. |
101 | 13: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 |
102 | 13:25 | <monlovesmango> id column had: /tmp/23-rc-test/connection_monitoring.sh: line 3: /bitcoin-cli: No such file or directory |
103 | 13:26 | <stickies-v> it looks like you didn't set your $BINARY_PATH properly then, because it's pointing to your $DATA_DIR instead |
104 | 13:26 | <emzy> monlovesmango: yes you have to set export BINARY_PATH=$(pwd)/src also |
105 | 13:26 | <stickies-v> well it's not necessarily pointing to your DATA_DIR but I suppose it was pointing to somewhere wrong |
106 | 13:26 | <monlovesmango> danielabrozzoni: ok cool ill try again |
107 | 13:27 | <monlovesmango> i was using precompiled binary in downloads folder, so BINARY_PATH=/Users/monica/Downloads/bitcoin-23.0rc2/bin/ |
108 | 13:27 | <emzy> I assume BINARY_PATH is just not set. Had the same problem. |
109 | 13: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? |
110 | 13:28 | <stickies-v> emzy monlovesmango yeah just run echo $BINARY_PATH and see if that points to your binary dir |
111 | 13: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) |
112 | 13: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? |
113 | 13:29 | <josibake> previously, we had a strong preference for connecting to nodes on the default port (8333) |
114 | 13:29 | <monlovesmango> stickies-v: echo $BINARY_PATH looks ok. i'll try again later and post results |
115 | 13:30 | <glozow> josibake: yep. testing automatic, not manual, connections to non-default ports |
116 | 13:30 | <stickies-v> josibake indeed! manual connections were possible already |
117 | 13:30 | <stickies-v> (automatic connections too, but extremely rare) |
118 | 13:31 | <stickies-v> from the monitoring script, i'm curious what's everyone's AddrMan non-default to default ratio? |
119 | 13:31 | <stickies-v> and if you connected to a non-default peer, what's your ratio of connection attempts made? |
120 | 13:31 | <monlovesmango> monitoring script is working now! |
121 | 13:32 | <stickies-v> my AddrMan ratio is 4.57%, and connection attempts currently at 4.82% (but not yet finished) |
122 | 13:32 | <emzy> stickies-v: I had 5% |
123 | 13:33 | <monlovesmango> AddrMan: 5.14%, connection attempts: 6.12% |
124 | 13:34 | <stickies-v> Test successful: connected to non-default peer on "139.162.22.75:18222" whooo I passed! |
125 | 13: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." |
126 | 13:36 | <stickies-v> Does anyone have any ideas as to what kind of biases that could be? |
127 | 13:37 | <danielabrozzoni> While running the test, I sometimes get a `error code: -29 Node not found in connected nodes`... is it normal? |
128 | 13:38 | <stickies-v> danielabrozzoni yes this happens sporadically when the peer already disconnects by itself right before we run the disconnectnode command |
129 | 13:38 | <emzy> I also got that. |
130 | 13:38 | <danielabrozzoni> Ah, makes sense, thanks ๐ |
131 | 13: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 |
132 | 13:40 | <svav> I just ran bitcoin-23.0rc2-win64-setup.exeย and the Welcome Window has really small text and is hard to read ... |
133 | 13:40 | <josibake> was able |
134 | 13:40 | <stickies-v> https://github.com/bitcoin-core/bitcoin-devwiki/wiki/23.0-Release-Candidate-Testing-Guide#testing-cjdns |
135 | 13:40 | <josibake> to get a non-default peer! kudos on the script stickies-v |
136 | 13:41 | <stickies-v> does anyone have any ideas why we'd bother adding CJDNS when we already have Tor and I2P? |
137 | 13:41 | <stickies-v> (or before that, can anyone briefly summarize what CJDNS is about?) |
138 | 13:41 | <stickies-v> yay josibake ! |
139 | 13:42 | <sipa> more mechanisms for combatting partitioning helps :) |
140 | 13: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 |
141 | 13:43 | <monlovesmango> from the little I could understand, cjdns is like a homegrown network of vpns...? |
142 | 13: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 |
143 | 13:45 | <GucciPoet> agreed |
144 | 13: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 |
145 | 13:46 | <sipa> i'm not sure privacy is really the argument here... being on more networks sounds strictly worse for privacy |
146 | 13:46 | <sipa> but privacy isn't the only concern |
147 | 13:46 | <svav> stickies-v ok I will do that |
148 | 13:47 | <svav> How do I stop the IBD on Windows, because I don't have room for the whole download on this computer? |
149 | 13: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) |
150 | 13: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 |
151 | 13:48 | <emzy> I think more networks helps against eclipse attacks. |
152 | 13: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 |
153 | 13:48 | <svav> oh ok thanks josibake |
154 | 13:48 | <stickies-v> svav you can stop it with `$BINARY_PATH/bitcoin-cli -datadir=$DATA_DIR stop` |
155 | 13: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 |
156 | 13:49 | <stickies-v> how's everyone getting along with setting up CJDNS? any issues with pinging the sample peer? |
157 | 13:49 | <stickies-v> ping6 fc32:17ea:e415:c3bf:9808:149d:b5a2:c9aa |
158 | 13: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 |
159 | 13:52 | <danielabrozzoni> I can't ping the sample peer โน๏ธ |
160 | 13:53 | <stickies-v> josibake are there no binaries available or ubuntu? |
161 | 13: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. |
162 | 13: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!) |
163 | 13: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) |
164 | 13:55 | <danielabrozzoni> And then yeah, I restarted with sudo, but no luck |
165 | 13:55 | <danielabrozzoni> It shows no error when starting, the log looks fine |
166 | 13:56 | <josibake> lightlike: good point! |
167 | 13:56 | <danielabrozzoni> And if I `ip a s` I can see `tun0:` and my `fc` IPv6 address |
168 | 13: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 ) |
169 | 13: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) |
170 | 13:58 | <stickies-v> feel free to post your ipv6 address here so people can try and connect to you! |
171 | 13:58 | <danielabrozzoni> I'll just ask on the cjdns IRC later tonight ๐ |
172 | 13:58 | <stickies-v> (you can find this at the top of your cjdroute.conf file) |
173 | 13:58 | <stickies-v> yeah sorry danielabrozzoni I have no idea :| |
174 | 13:58 | <danielabrozzoni> Ahah no worries ๐ |
175 | 14:00 | <stickies-v> well, looks like we're at the end of the meeting already, thank you for attending everyone! |
176 | 14:00 | <josibake> thanks for writing the guide and hosting, stickies-v! |
177 | 14:01 | <danielabrozzoni> Thanks stickies-v ๐ |
178 | 14:01 | <monlovesmango> thank you!!!!! |
179 | 14:01 | <stickies-v> feel free to hang around longer if you've not finished with the guide, it's easier to fix things together |
180 | 14:01 | <GucciPoet> Thank you guys! |
181 | 14:01 | <stickies-v> #endmeeting |