--- Log opened Wed Mar 15 00:00:11 2023 00:04 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 00:05 -!- brunoerg [~brunoerg@187.183.43.117] has joined #bitcoin-core-pr-reviews 00:09 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 252 seconds] 00:10 -!- brunoerg [~brunoerg@187.183.43.117] has quit [Ping timeout: 252 seconds] 00:16 -!- brunoerg [~brunoerg@187.183.43.117] has joined #bitcoin-core-pr-reviews 00:21 -!- brunoerg [~brunoerg@187.183.43.117] has quit [Ping timeout: 256 seconds] 00:22 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 00:30 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 00:40 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 00:45 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 00:47 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 00:50 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 00:51 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 00:55 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 265 seconds] 01:01 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 01:05 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 01:06 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 250 seconds] 01:07 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 01:10 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 01:11 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 246 seconds] 01:20 -!- chipxxx [~chip@2001:8a0:f620:6500:8f6d:c640:c292:171c] has quit [Ping timeout: 252 seconds] 01:22 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 01:23 -!- __gotcha [~Thunderbi@94.105.118.205.dyn.edpnet.net] has joined #bitcoin-core-pr-reviews 01:26 -!- chipxxx [~chip@2001:8a0:f620:6500:8f6d:c640:c292:171c] has joined #bitcoin-core-pr-reviews 01:26 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 256 seconds] 01:30 -!- chipxxx [~chip@2001:8a0:f620:6500:8f6d:c640:c292:171c] has quit [Remote host closed the connection] 01:31 -!- chip_x [~chip@2001:8a0:f620:6500:8f6d:c640:c292:171c] has joined #bitcoin-core-pr-reviews 01:33 -!- __gotcha [~Thunderbi@94.105.118.205.dyn.edpnet.net] has quit [Ping timeout: 248 seconds] 01:34 -!- martinus [~martinus@212095005131.public.telering.at] has quit [Quit: Leaving] 01:34 -!- martinus [~martinus@212095005131.public.telering.at] has joined #bitcoin-core-pr-reviews 01:38 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 01:38 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 01:43 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 01:43 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 250 seconds] 01:45 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 01:49 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 265 seconds] 01:55 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 01:55 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 02:00 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 265 seconds] 02:00 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 264 seconds] 02:07 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 02:07 -!- __gotcha [~Thunderbi@94.105.118.205.dyn.edpnet.net] has joined #bitcoin-core-pr-reviews 02:11 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 246 seconds] 02:12 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 02:17 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 02:18 -!- brunoerg [~brunoerg@187.183.43.117] has joined #bitcoin-core-pr-reviews 02:22 -!- brunoerg [~brunoerg@187.183.43.117] has quit [Ping timeout: 252 seconds] 02:24 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 02:29 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 02:31 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 246 seconds] 02:33 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 02:45 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 02:50 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 03:01 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 03:06 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 03:16 -!- brunoerg [~brunoerg@187.183.43.117] has joined #bitcoin-core-pr-reviews 03:17 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 03:18 -!- gloria [~gloria@80.169.165.18] has joined #bitcoin-core-pr-reviews 03:19 -!- gloria [~gloria@80.169.165.18] has quit [Client Quit] 03:20 -!- brunoerg [~brunoerg@187.183.43.117] has quit [Ping timeout: 246 seconds] 03:23 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 03:33 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 03:35 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 03:38 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 265 seconds] 03:40 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 03:50 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 03:52 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 03:55 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 248 seconds] 03:57 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 04:08 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 04:12 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 04:18 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 04:22 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 260 seconds] 04:25 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 04:29 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 04:33 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 246 seconds] 04:43 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 04:51 -!- brunoerg [~brunoerg@187.183.43.117] has joined #bitcoin-core-pr-reviews 04:55 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 04:55 -!- brunoerg [~brunoerg@187.183.43.117] has quit [Ping timeout: 248 seconds] 05:00 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 260 seconds] 05:01 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 05:06 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 248 seconds] 05:13 -!- b_101 [~robert@185.242.5.35] has quit [Ping timeout: 260 seconds] 05:15 -!- b_101 [~robert@185.242.5.35] has joined #bitcoin-core-pr-reviews 05:19 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 05:24 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 264 seconds] 05:25 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 05:37 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 05:41 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 05:44 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Remote host closed the connection] 05:45 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 05:50 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 248 seconds] 05:55 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 06:00 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 260 seconds] 06:11 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 06:16 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 06:19 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 06:23 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 246 seconds] 06:24 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 06:29 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 265 seconds] 06:29 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 06:35 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 06:39 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 246 seconds] 06:41 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 06:46 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 264 seconds] 06:48 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 06:49 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 06:52 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 06:54 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 06:57 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 264 seconds] 06:58 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 06:59 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 07:02 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [Ping timeout: 246 seconds] 07:03 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 07:03 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 07:07 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has joined #bitcoin-core-pr-reviews 07:08 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 268 seconds] 07:20 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 07:25 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 07:28 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 07:30 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 07:32 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 248 seconds] 07:34 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 248 seconds] 07:46 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 07:51 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 260 seconds] 07:56 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 08:00 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 08:04 -!- pakaro [~quassel@142.157.222.64] has joined #bitcoin-core-pr-reviews 08:12 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 08:17 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 268 seconds] 08:27 -!- pablomartin [~pablomart@89.38.69.17] has joined #bitcoin-core-pr-reviews 08:29 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 08:34 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 08:34 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 08:38 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 08:43 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 08:47 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 264 seconds] 08:58 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 08:59 -!- effexzi [uid474242@id-474242.ilkley.irccloud.com] has joined #bitcoin-core-pr-reviews 09:01 -!- kevkevin [~kevkevin@c-98-226-43-69.hsd1.il.comcast.net] has joined #bitcoin-core-pr-reviews 09:02 < pakaro> ping 09:02 < kevkevin> pong 09:03 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 09:04 -!- kevkevin [~kevkevin@c-98-226-43-69.hsd1.il.comcast.net] has quit [Client Quit] 09:04 -!- kevkevin [~kevkevin@c-98-226-43-69.hsd1.il.comcast.net] has joined #bitcoin-core-pr-reviews 09:05 -!- pakaro2 [~pakaro2@142.157.222.64] has joined #bitcoin-core-pr-reviews 09:06 -!- jon_atack [~jonatack@user/jonatack] has quit [Quit: WeeChat 3.8] 09:08 -!- pakaro [~quassel@142.157.222.64] has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.] 09:08 -!- pakaro [~quassel@142.157.222.64] has joined #bitcoin-core-pr-reviews 09:09 < pakaro> There is a meeting today? Was supposed to start 10 minutes ago? 09:10 < pakaro> daylight savings 09:10 < pakaro> ...right 09:13 -!- pakaro2 [~pakaro2@142.157.222.64] has quit [Quit: Connection closed] 09:15 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 09:19 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 260 seconds] 09:28 -!- jonatack [~jonatack@user/jonatack] has joined #bitcoin-core-pr-reviews 09:31 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 09:35 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 256 seconds] 09:48 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 09:50 -!- abubakarsadiq [~abubakars@197.210.52.50] has joined #bitcoin-core-pr-reviews 09:50 < stickies-v> yeah the meeting's always in UTC time (5PM) pakaro so it does switch around a bit depending on where you are 09:51 < stickies-v> if your calendar supports it, best to change the meeting timezone to UTC for that reason 09:51 < stickies-v> starting in 9 minutes 09:53 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 09:53 -!- DaveBeer [~DaveBeer@ip-62-245-124-60.bb.vodafone.cz] has joined #bitcoin-core-pr-reviews 09:58 < pakaro> thx stickies-v 10:00 < stickies-v> #startmeeting 10:00 < LarryRuane_> hi 10:00 < DaveBeer> hi 10:00 < effexzi> Hello every1 10:00 < abubakarsadiq> hello 10:00 < stickies-v> welcome everyone! Today we're looking at #27006, authored by furszy. The notes and questions are available on https://bitcoincore.reviews/27006 10:00 < pakaro> hi 10:01 -!- jbes [~jbes@46-117-157-95.bb.netvision.net.il] has joined #bitcoin-core-pr-reviews 10:01 < stickies-v> anyone joining us for the first time today? even if you're just lurking, feel free to say hi! 10:02 < jbes> hello 10:02 < pablomartin> hi!... ill be just lurking, didnt have time to check the pr for today, sorry... 10:02 < stickies-v> no problem! always welcome to just lurk around 10:02 < stickies-v> who got the chance to review the PR or read the notes? (y/n) 10:03 < pakaro> y 10:03 < DaveBeer> y, read notes & questions, went through code once 10:03 < pakaro> tACK - compiled, ran bitcoind, unit tests, functional tests without bdb nor usdt-trace. All passed. I got a setup error when I tried to run sharedlock_tests on its own, i didn't spend much/anytime figuring that part out though. 10:03 < abubakarsadiq> I read the notes and briefly look at the code 10:04 < LarryRuane_> y for most part, but wow this is complex stuff with all the layers of code, derived classes, macros, etc! (sync.h mainly) 10:04 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 10:04 < LarryRuane_> (and also the use of templates) 10:04 < stickies-v> for those who looked at the PR: would you give it a Concept ACK, approach ACK, tested ACK, or NACK? What was your review approach? 10:05 < stickies-v> pakaro: interesting, but the sharedlock_tests passed when running it with test_runner.py? 10:05 < LarryRuane_> definitely concept ACK, close to code ACK but I must study more 10:05 < pakaro> stickies-v yes, let me recheck that now 10:06 < LarryRuane_> stickies-v: would you say it's useful for reviewers to build using clang? (so the annotations are checked)? 10:06 < stickies-v> LarryRuane_: yes definitely quite a few layers of complexity. It looks very verbose at first but I suppose it does make using the mutexes quite a bit more straightforward 10:06 < LarryRuane_> yes the RAII aspect of the locking (that we do in practice) is very cool 10:07 < stickies-v> mmm good question. definitely never hurts to do that! but CI should also catch those problems (normally) 10:07 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Read error: Connection reset by peer] 10:07 < stickies-v> alright let's start with building some understanding. a lot of abstract concepts here, so I think it won't hurt to dive a bit deeper 10:08 < DaveBeer> concept ACK, for code ACK I would be concerned with global variables usage, but I'm not familiar with bitcoin core codebase much as of yet and maybe global variables are reasonable here (I understand the PR doesn't change this approach and is as good as prior solution) 10:08 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 10:08 < stickies-v> SharedLock is added as a new mutex type to complement the UniqueLock we already have. Why does a UniqueLock not suffice here? 10:08 -!- abubakarsadiq [~abubakars@197.210.52.50] has quit [Ping timeout: 252 seconds] 10:09 < DaveBeer> we want to allow multiple threads access in read only mode, while maintaining exclusive access for writers 10:09 < stickies-v> DaveBeer: if I understand the PR comments historically, the initial implementation actually didn't use a global mutex variable, but because there are so many CBlockIndex objects this was the new approach chosen: https://github.com/bitcoin/bitcoin/pull/27006#discussion_r1092197196 10:09 -!- abubakarsadiq [~abubakars@197.210.77.153] has joined #bitcoin-core-pr-reviews 10:09 < LarryRuane_> for example one of the things i'm confused by is that `UniqueLock` is templated https://github.com/bitcoin/bitcoin/blob/8c4958bd4c06026dc108bc7f5f063d1f389d279b/src/sync.h#L151 but i don't see the angle brackets where it is used, why aren't those needed? 10:09 < LarryRuane_> (and of course the new `SharedLock` is the same) 10:10 < DaveBeer> stickies-v: thanks for the background, I'll have a look at it 10:11 < LarryRuane_> i.e. it's used here: https://github.com/bitcoin/bitcoin/blob/8c4958bd4c06026dc108bc7f5f063d1f389d279b/src/sync.h#L258 but there is no template argument given 10:11 -!- hey [~hey@197.210.52.50] has joined #bitcoin-core-pr-reviews 10:11 < LarryRuane_> (sorry if i'm sidetracking too much, feel free to ignore!) 10:12 < pakaro> stickies-v nvm, problem was PEBKAC [problem exists between keyboard and computer] 10:12 < stickies-v> LarryRuane_: great question: the MutexType is deduced from when the lock is constructed: a lock is always constructed ON a mutex: https://github.com/bitcoin/bitcoin/blob/8c4958bd4c06026dc108bc7f5f063d1f389d279b/src/sync.h#L258 10:12 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 260 seconds] 10:12 < stickies-v> perhaps it's good to first clarify what the difference is (in cpp terms) between a lock and a mutex? 10:12 < stickies-v> who can give that an ELI5? 10:12 < LarryRuane_> oh i see, thanks, those deduced types are kinda tricky! 10:14 < DaveBeer> mutex is the actual object being locked, while lock is RAII wrapper manipulating the underlying mutex 10:14 < LarryRuane_> a mutex is the lowest-level syncronization primitive, just prevents two threads from running the protected ranges of code at the same time ... locks are higher-level constructs that _use_ a mutex 10:15 < stickies-v> DaveBeer LarryRuane_: a pretty smart 5 year old, but that sounds about right 10:16 < stickies-v> in simpler terms: a mutex is an object that we use to help control access to one or multiple resources. a mutex can have one or multiple locks, and whoever has the lock(s) can access the underlying resources 10:16 < stickies-v> (hope i didn't simplify it too much) 10:16 -!- Tobses [~Tobses@197.210.29.246] has joined #bitcoin-core-pr-reviews 10:16 < LarryRuane_> haha i know, that's the best i could do! ... so like you can see there's no templating or anything here https://en.cppreference.com/w/cpp/thread/mutex or here https://en.cppreference.com/w/cpp/thread/shared_mutex (these are the low-level primitives) 10:17 < LarryRuane_> so there's only those 2 types of mutexes, right? 10:17 < LarryRuane_> (regular (non-shared) and shared) 10:18 < stickies-v> well there's also the RecursiveMutex (which `::cs_main` is an instance of) 10:18 < DaveBeer> couple more, see https://en.cppreference.com/w/cpp/header/mutex 10:18 < stickies-v> ahh nice one DaveBeer! 10:18 < LarryRuane_> stickies-v: can a particular mutex have more than one lock associated with it at the same time? i think so, right? 10:19 < stickies-v> that's kinda the heart of the question here - who's got an idea? 10:20 < DaveBeer> mutex can have any number of locks associated with it (associated with meaning ready to work with, not being locked at the same time) 10:20 < LarryRuane_> oh i see, there are a few types listed here https://en.cppreference.com/w/cpp/thread (scroll down to Mutual exclusion) 10:21 < LarryRuane_> (oops @DaveBeer already found a better link) 10:22 < DaveBeer> LarryRuane_: actually your link also includes the shared_mutex, which is in its own header (I linked header which does not include sahred_mutex) 10:22 < LarryRuane_> DaveBeer: "mutex can have any number of locks associated with it" -- I think you're right, multiple threads can be inside a `LOCK(::cs_main)` for example, and all of those are separate locks, but all refer to a single mutex 10:23 < stickies-v> "multiple threads can be inside a `LOCK(::cs_main)`" isnt' the whole point of LOCK that there can't be multiple threads accessing it at the same time? 10:23 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 10:24 < LarryRuane_> i may be confused here, but yes, you're correct, but multiple threads can be waiting at the same time (and each wait is a separate lock (?)) 10:24 < DaveBeer> they are all inside LOCK(...) trying to accessing it, but only one succeeds, I think that's how LarryRuane_ meant it 10:25 < stickies-v> okay, makes sense - sorry. I think the term "lock" is quite overloaded so that doensn't make it easier 10:25 -!- abubakar1adiq [~abubakars@197.210.52.50] has joined #bitcoin-core-pr-reviews 10:25 -!- hey [~hey@197.210.52.50] has quit [Quit: Connection closed] 10:26 -!- hey [~hey@197.210.76.19] has joined #bitcoin-core-pr-reviews 10:26 -!- abubakarsadiq [~abubakars@197.210.77.153] has quit [Ping timeout: 255 seconds] 10:26 < stickies-v> so this PR adds the `SharedMutex` definition (based on std::shared_mutex) 10:26 < LarryRuane_> stickies-v: i was surprised this didn't already exist, tbh 10:26 < stickies-v> the interesting thing about a shared mutex is that it can have both shared and exclusive locks, whereas an exclusive mutex can have just exclusive locks 10:26 < stickies-v> (same!) 10:27 < pakaro> +1 LarryRuane_ RW locks have until now, not been a part of Core at all?? 10:27 < stickies-v> so then the next conceptual question is: if the whole point of a mutex is to prevent multiple threads from accessing the same data and messing everything up for everyone... what's the point of allowing a mutex to have shared locks?! 10:28 < DaveBeer> Read vs Write usecases, reads (and only reads) can be shared, write must be exclusive 10:28 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 268 seconds] 10:28 < pakaro> To allow read access? 10:28 < jbes> only read access? 10:29 < DaveBeer> it is safe to read memory location from multiple threads as long as it is not being written at the same time 10:29 < stickies-v> exactly - it's not necessarily the only use case, but probably the most common one? 10:29 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 10:30 < LarryRuane_> yes i think in some other projects it's actually called read-write locks (rather than shared-exclusive) 10:30 < pakaro> If a read-lock take hold of a resource, it can allow other read-locks to also hold the resource, but it will deny a write-lock, is that right? 10:30 -!- abubakar1adiq is now known as abubakar 10:30 < DaveBeer> +1 pakaro 10:30 < stickies-v> pakaro: yes, indeed. an exclusive lock can only be acquired if there are no other locks (shared or exclusive) acquired 10:30 < LarryRuane_> i think the "shared, exclusive" terminology is preferred because it's more general 10:30 < abubakar> +1 pakaro 10:30 < stickies-v> and a shared lock can only be acquired if there are no exclusive locks acquired 10:31 < LarryRuane_> one thing other projects have is the ability to "upgrade" a lock from shared to exclusive, but i don't think we have that in bitcoin core 10:31 < stickies-v> and then the last sub-question on the conceptual part: why is this PR now introducing the shared mutex and lock into bitcoin core? 10:32 < LarryRuane_> you might wonder, why not just drop the shared lock and acquire the exclusive lock ... you can but things could change during that interval, so anything you've cached would be invalid 10:32 < jbes> whats the difference between shared lock and exclusive? 10:33 < LarryRuane_> stickies-v: for performance? multiple threads may want to read the block (and undo) files concurrently, and there's no reason to prevent this 10:33 < abubakar> to increase performance, reducing starvation so that there will be less use of cs_main. 10:33 < stickies-v> jbes: I just answered that in the 10 lines above - lmk if anything's not clear there? 10:33 < LarryRuane_> abubakar: +1, yes, also reduce contention on cs_main 10:34 < jbes> thanks 10:35 < stickies-v> LarryRuane_: yeah accessing block data concurrently is what I was looking for. i/o operations typically benefit most from concurrency, so this seems like a pretty nice win at first sight 10:35 < LarryRuane_> and i guess currently (without this PR), `cs_main` is held during the disk read? That could take quite a long time! 10:35 < stickies-v> (we could've reduced contention on cs_main using good ol' UniqueLock too, I think?) 10:36 < stickies-v> so it seems to me like the SharedLock is kinda orthogonal to the cs_main discussion? 10:36 < LarryRuane_> stickies-v: yes i was thinking that also, this PR really combines two things that could have been done separately: having a separate lock (from cs_main), and making it a shared lock ... but it's good to do both 10:36 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 10:37 < DaveBeer> yes stickies-v, that's my understanding as well, first improvement is reducing ::cs_main contention, second (after splitting this usecase to new dedicated mutex) is to also utilize RW locks 10:38 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 10:38 < stickies-v> +1 (those are also good comments to leave on the PR when you review it - helps the author to craft a more helpful PR description) 10:38 < stickies-v> i'll launch the next question already, but as always - we can keep talking about previous questions too 10:39 < stickies-v> `nFile`, `nDataPos` and `nUndoPos` change from being guarded by `::cs_main` to being guarded by `g_cs_blockindex_data`. Why is it that we lock exactly these 3 variables with `g_cs_blockindex_data`? What would be the concerns and benefits of using a different mutex for each of those 3 variables? 10:39 < stickies-v> (link: https://github.com/bitcoin-core-review-club/bitcoin/compare/657e3086ad8171f799a7eb4226c6d1c2dd562a39...acddd4204654812a0e741e04a758be0f362c5ccb#diff-05137bf4d07f31a6cc237b1dd772e0b38bc2a60610a7ca86827e98fc126e8407L166-R175) 10:40 < DaveBeer> all 3 variables contribute to single state which must be guarded as whole 10:40 < DaveBeer> they are not independent 10:40 < LarryRuane_> DaveBeer: +1, if they were separately locked, one might be updated from one thread while another updated from another thread, into an inconsistent state 10:41 < jbes> beginner q, what Pos stands for in the variables names? 10:41 < stickies-v> yeah, we could use 3 mutexes and acquire locks on all of them but... that would not be very efficient or readable 10:41 < stickies-v> jbes: position! 10:41 < LarryRuane_> jbes: that's the byte offset within the file (stands for "position", not really a very helpful name) 10:42 < stickies-v> they show us where in the file that the block data can be found 10:42 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 10:43 < stickies-v> Do you expect this PR to have any visible impact on performance? If so, for which process(es) (in a very general sense) and by how much (order of magnitude)? Were you able to verify/benchmark this in practice? 10:43 < LarryRuane_> and in case anyone's not aware, the `nFile` integer relates to the block file name, so if `nFile` is 19, that corresponds to `datadir/blocks/blk00019.dat` 10:44 -!- Talkless [~Talkless@mail.dargis.net] has joined #bitcoin-core-pr-reviews 10:44 < DaveBeer> since we are already going through the variables meaning, what is nUndoPos? I have no clue. 10:45 < pakaro> is the byte-offset for nDataPos and UndoPos [which i'm assuming associate with blockxxxx.dat and revxxxx.dat respectively] the same? 10:45 < jbes> performance will be improved if you have a cpu that can can utilize multi threading I guess.. 10:45 < stickies-v> DaveBeer: the blk.dat files store the serialized blocks, but we also store the undo data to "reverse" the impact of a block onto the UTXO set in case of a reorg etc 10:45 < stickies-v> that data is stored in the rev.dat files, and is what nUndoPos refers to 10:45 < LarryRuane_> there are certain RPCs that read the block files (if the node isn't pruned), like if `txindex` is enabled, and the RPC server is multi-threaded, so those could proceed in parallel (better performance)? 10:45 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 10:46 < stickies-v> jbes: does this PR introduce any new threads? 10:46 < LarryRuane_> yes so `nUndoPos` is the byte offset of the undo data for a particular block within a `revxxxx.dat` file 10:46 < stickies-v> pakaro: no, it is not - if you inspect the blk and rev files you'll see they are different sizes, so that wouldn't quite work (and also the reasonw e have separate variables for them) 10:47 < DaveBeer> thanks stickies-v and LarryRuane_ 10:48 < LarryRuane_> pakaro: but one thing to note is that if a particular block is in `blk00123.dat`, then its undo data is in `rev00123.dat` (for example) .. and I think the blocks are in the same order across those 2 files (but the block and undo data are different sizes, blocks are much bigger usually) 10:48 < jbes> stickies-v I thought that was(one of) the point? accessing the data via multiple threads that have one state(thats why mutex?) 10:48 < stickies-v> LarryRuane_: yeah RPC (well, and REST) is the first thing that came to my mind too because the HTTP server uses multiple workers. for example, I think the `getblock` method could now really benefit from batch RPC requests since *most* (not all) of that logic is now no longer exclusively locked to cs_main 10:50 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 10:50 < stickies-v> jbes: this PR does not introduce any new threads, I think! but it does allow existing multithreaded processes that were previously contended with cs_main to become more efficient. you weren't wrong, just wanted to challenge that a bit :-) 10:51 < jbes> thanks for clarifying 10:51 < LarryRuane_> there are no new threads, other than in the unit test :) 10:52 < stickies-v> (the challenge being that using a shared mutex does not magically introduce more multithreading - it just can make existing multithreading more efficient) 10:52 < LarryRuane_> the unit test, `sharedlock_tests.cpp` is a great way to see how these locks actually work 10:52 < LarryRuane_> it's very easy to understand 10:53 < stickies-v> +1, some tests are easier to understand than others but i found these to be particularly helpful, thanks for pointing that out LarryRuane_ 10:53 < stickies-v> re performance, there's also this PR (also by PR author) that aims to introduce multiple threads to construct blockfilter index: https://github.com/bitcoin/bitcoin/pull/26966 10:53 < stickies-v> and that could of course also greatly benefit from this improvement 10:55 < LarryRuane_> stickies-v: i did have a question if you don't mind... I noticed that there are "getters" for these `CBlockIndex` variables you mentioned, but they are still public instead of private.. just wondering why the PR doesn't make them private? 10:55 < LarryRuane_> i actually tried that, but got compile errors because some code, such as in `txdb.cpp`, doesn't use the getters, maybe that could be a follow-up PR? 10:57 < stickies-v> yeah I think he didn't update all references to those members just to make the PR easier to get merged? 10:57 < LarryRuane_> stickies-v: +1 sounds likely 10:58 < stickies-v> offering the new API now allows us to gradually phase out direct access to those members whenever we need to touch that code 10:58 < stickies-v> haven't looked at the frequency but doesn't seem like an unreasonable approach, also from a merge conflict perspective 10:58 < stickies-v> last quick-fire question: 10:58 < stickies-v> With this PR, does the number of times that a mutex is acquired increase, stay constant, or decrease - or does it depend on the program flow? 10:59 < DaveBeer> stays constant imo 10:59 < LarryRuane_> my impression is, stays the same 10:59 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 11:00 < pakaro> if the question were the maximum number of simultaneous mutexes held, that would increase, but the number of times total should remain constant 11:01 < stickies-v> I didn't count, but my impression is that it goes up? previously we could (and often did) just acquire a single cs_main lock for a bunch of operations, whereas now for example in `MakeBlockInfo()` we acquire a lock twice, first by calling `index->GetFileNum();` and then again by calling `index->GetFileNum();` directly after 11:01 < stickies-v> https://github.com/bitcoin/bitcoin/pull/27006/files#diff-31e9d8f2b9c86cc0bdae5ea810e11ba7109ef6763e0572e80714f626f97e5f39R18-R20 11:02 -!- Tobses [~Tobses@197.210.29.246] has quit [Quit: Connection closed] 11:02 < abubakar> but without write access so that help increase performance,I think. 11:02 < stickies-v> of course, even though there's a cost associated with acquiring a lock on a mutex, it can pale very very quickly in comparison to having multiple threads run concurrently, so this need not necessarily be a huge concern 11:03 < stickies-v> yes abubakar - absolutely! 11:03 < LarryRuane_> ouch, doesn't that open a timing window? what we were talking about earlier, those should be fetched atomically, right? 11:03 < DaveBeer> ah yes true, you are right stickies-v 11:03 < stickies-v> LarryRuane_: but they're read-only operations? 11:03 < DaveBeer> actually +10 LarryRuane_, I think that is possible problem 11:04 < stickies-v> OH. i see what you mean now 11:04 < LarryRuane_> i don't think that matters, couldn't nFile and pos both change just after we sample nFile but before we sample the pos? 11:04 < stickies-v> mmm. good point, that seems like a problem indeed 11:04 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 265 seconds] 11:04 < stickies-v> nice - an actionable review club! 11:05 < stickies-v> alright, we're a bit over time already, so i'll wrap it up here 11:05 < LarryRuane_> you know, just thinking, if those variables really are all related, maybe there should be a getter than returns all three atomically (fetched under one lock operation) 11:05 < LarryRuane_> stickies-v: thanks! very fun and helpful review club! 11:05 < stickies-v> thank you everyone for attending and for the discussion - hope our collective understanding about locks, mutexes, concurrency and cs_main has improved a bit - and hope that furszy gets some helpful feedback on his PR! 11:05 < pablomartin> thanks stickies-v! thanks all! session was very well presented, quite knowledgeable and interesting! 11:05 < stickies-v> (LarryRuane_ and we already have a setter for those three, so...) 11:05 < DaveBeer> thanks stickies-v and furszy 11:06 < pakaro> thanks everyone, thanks stickies-v 11:06 < stickies-v> #endmeeting 11:06 < abubakar> thanks stickies-v for hosting :) yeah it does. 11:08 -!- pakaro [~quassel@142.157.222.64] has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.] 11:08 -!- pakaro [~quassel@142.157.222.64] has joined #bitcoin-core-pr-reviews 11:09 < DaveBeer> LarryRuane_: it might still not be a problem in greater context of code which I don't have in my head, but simply looking at the diff, info.file_number and info.data_pos in previous code were set consistently from single state protected by ::cs_main, after the change that is no longer the case, so unless there is something higher up the stack 11:09 < DaveBeer> dealing with that, info.file_number and info.data_pos might be assigned both from different states and therefore be inconsistent 11:09 < DaveBeer> also +1 for the idea to provide getter returning the whole triplet 11:11 < LarryRuane_> I just added a comment to the PR 11:11 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 11:16 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 260 seconds] 11:17 -!- abubakar [~abubakars@197.210.52.50] has quit [Quit: Lost terminal] 11:22 -!- pakaro [~quassel@142.157.222.64] has quit [Ping timeout: 260 seconds] 11:24 -!- DaveBeer [~DaveBeer@ip-62-245-124-60.bb.vodafone.cz] has quit [Quit: Connection closed] 11:26 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 11:28 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 11:30 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 11:31 -!- hey [~hey@197.210.76.19] has quit [Quit: Connection closed] 11:35 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 11:38 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 11:42 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 11:45 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 11:49 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 11:49 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 11:51 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Read error: Connection reset by peer] 11:51 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 11:56 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 12:01 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 12:06 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 12:17 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 12:21 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 12:23 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 12:25 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 12:28 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 12:33 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 12:33 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 12:38 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 12:43 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 12:45 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 12:48 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 12:50 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 12:52 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 12:54 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 12:57 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 12:58 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 12:59 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 13:01 -!- Talkless [~Talkless@mail.dargis.net] has quit [Quit: Konversation terminated!] 13:02 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 13:04 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 13:08 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 13:09 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 13:15 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 13:15 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 13:17 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 13:20 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 13:23 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 13:24 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 13:25 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 13:28 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 268 seconds] 13:30 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 268 seconds] 13:30 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 13:35 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 13:41 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 13:46 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 248 seconds] 13:58 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 14:00 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 14:02 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 14:04 -!- grettke [~grettke@184.55.131.155] has quit [Ping timeout: 250 seconds] 14:09 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 14:14 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 14:16 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 14:21 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 14:24 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 14:30 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 14:43 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 14:48 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Read error: Connection reset by peer] 14:49 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 14:55 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 14:57 -!- brunoerg [~brunoerg@2804:14c:3bfb:8a:3510:d8c7:e5fb:8bc9] has quit [] 15:01 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 15:06 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 15:09 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 15:14 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 260 seconds] 15:26 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 15:31 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 264 seconds] 15:42 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 15:45 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 15:46 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 15:50 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 15:51 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 15:52 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 15:56 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 15:57 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Read error: Connection reset by peer] 15:57 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 16:02 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 16:04 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 16:09 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 16:09 -!- effexzi [uid474242@id-474242.ilkley.irccloud.com] has quit [Quit: Connection closed for inactivity] 16:20 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 16:25 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 16:30 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 16:32 -!- grettke [~grettke@184.55.131.155] has quit [Remote host closed the connection] 16:33 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 16:36 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 16:41 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 16:52 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 16:53 -!- grettke [~grettke@184.55.131.155] has quit [Quit: grettke] 16:55 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 16:57 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 17:06 -!- __gotcha [~Thunderbi@94.105.118.205.dyn.edpnet.net] has quit [Remote host closed the connection] 17:08 -!- __gotcha [~Thunderbi@94.105.118.205.dyn.edpnet.net] has joined #bitcoin-core-pr-reviews 17:09 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 17:14 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 17:25 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 17:30 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 17:31 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 17:32 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 17:35 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 17:37 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 17:37 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 17:39 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 17:42 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 17:43 -!- grettke [~grettke@184.55.131.155] has quit [Quit: grettke] 17:43 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 17:45 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 17:50 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 17:52 -!- __gotcha [~Thunderbi@94.105.118.205.dyn.edpnet.net] has quit [Remote host closed the connection] 17:53 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 17:55 -!- __gotcha [~Thunderbi@94.105.118.205.dyn.edpnet.net] has joined #bitcoin-core-pr-reviews 17:56 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 17:57 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 18:02 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 18:08 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 18:13 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 18:18 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 18:21 -!- BUSY [~BUSY@user/busy] has joined #bitcoin-core-pr-reviews 18:23 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 18:24 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 18:28 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 18:33 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 18:39 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 18:43 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 18:44 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 18:49 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 18:53 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 18:54 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 18:59 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 18:59 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 19:03 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 19:09 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 19:12 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 19:14 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 19:17 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 19:23 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 19:25 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 19:27 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 19:30 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 19:32 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 19:33 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 19:38 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 19:38 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 19:43 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has quit [Remote host closed the connection] 19:43 -!- ghost43 [~ghost43@gateway/tor-sasl/ghost43] has joined #bitcoin-core-pr-reviews 19:48 -!- __gotcha [~Thunderbi@94.105.118.205.dyn.edpnet.net] has quit [Remote host closed the connection] 19:49 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 19:49 -!- __gotcha [~Thunderbi@94.105.118.205.dyn.edpnet.net] has joined #bitcoin-core-pr-reviews 19:53 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 246 seconds] 19:55 -!- b_101 [~robert@185.242.5.35] has quit [Ping timeout: 264 seconds] 19:55 -!- b_101_ [~robert@185.242.5.35] has joined #bitcoin-core-pr-reviews 20:05 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 20:10 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 20:22 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 20:22 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 20:26 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 20:32 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 20:36 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 20:40 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 248 seconds] 20:42 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 20:44 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 20:46 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 20:50 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 20:52 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 20:57 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 21:02 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 21:05 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 21:07 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 21:09 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 21:19 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 21:24 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 21:25 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 21:29 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 21:39 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 21:43 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 21:44 -!- grettke [~grettke@184.55.131.155] has quit [Client Quit] 21:47 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 268 seconds] 21:49 -!- pablomartin [~pablomart@89.38.69.17] has quit [Ping timeout: 255 seconds] 21:49 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 21:51 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 21:54 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 21:55 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 21:56 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 21:59 -!- andrew_m_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 21:59 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 22:02 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 22:03 -!- andrew_m_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 255 seconds] 22:09 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 22:14 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 268 seconds] 22:18 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 22:23 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 22:27 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 22:29 -!- grettke [~grettke@184.55.131.155] has quit [Quit: grettke] 22:33 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 22:34 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 22:39 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 22:41 -!- grettke [~grettke@184.55.131.155] has joined #bitcoin-core-pr-reviews 22:51 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 22:55 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 256 seconds] 22:58 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 23:02 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 250 seconds] 23:03 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 23:08 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 268 seconds] 23:10 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 23:15 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 248 seconds] 23:27 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 23:33 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 276 seconds] 23:43 -!- chip__ [~chip@2001:8a0:f620:6500:8f6d:c640:c292:171c] has joined #bitcoin-core-pr-reviews 23:44 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has joined #bitcoin-core-pr-reviews 23:46 -!- chip_x [~chip@2001:8a0:f620:6500:8f6d:c640:c292:171c] has quit [Ping timeout: 260 seconds] 23:49 -!- grettke [~grettke@184.55.131.155] has quit [Quit: grettke] 23:50 -!- andrew_mo_ [~andrew_mo@149.36.48.137] has quit [Ping timeout: 265 seconds] --- Log closed Thu Mar 16 00:00:12 2023