ChanServ changed the topic of #bitcoin-core-dev to: Bitcoin Core development discussion and commit log | Feel free to watch, but please take commentary and usage questions to #bitcoin | Channel logs: http://www.erisian.com.au/bitcoin-core-dev/, http://gnusha.org/bitcoin-core-dev/ | Weekly Meeting Thursday @ 14:00 UTC | Meeting topics http://gnusha.org/bitcoin-core-dev/proposedmeetingtopics.txt
brunoerg has quit [Ping timeout: 256 seconds]
AaronvanW has quit [Remote host closed the connection]
TracaChang has quit [Remote host closed the connection]
TracaChang has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
Guest87 has joined #bitcoin-core-dev
AaronvanW has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 252 seconds]
<bitcoin-git> [bitcoin] Aminkavoos opened pull request #29104: 23.x (master...23.x) https://github.com/bitcoin/bitcoin/pull/29104
szkl has quit [Quit: Connection closed for inactivity]
brunoerg has joined #bitcoin-core-dev
AaronvanW has quit [Ping timeout: 252 seconds]
szkl has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 256 seconds]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 255 seconds]
Guest87 has quit [Quit: Client closed]
jonatack has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 252 seconds]
realies has quit [Quit: ~]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 264 seconds]
AaronvanW has joined #bitcoin-core-dev
szkl has quit [Quit: Connection closed for inactivity]
piku has joined #bitcoin-core-dev
AaronvanW has quit [Ping timeout: 252 seconds]
<bitcoin-git> [bitcoin] achow101 closed pull request #29104: 23.x (master...23.x) https://github.com/bitcoin/bitcoin/pull/29104
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 260 seconds]
kevkevin has joined #bitcoin-core-dev
kevkevin has quit [Ping timeout: 255 seconds]
rbatty has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 245 seconds]
piku has quit [Quit: Leaving]
cmirror has quit [Remote host closed the connection]
cmirror has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 268 seconds]
PaperSword has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
szkl has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 252 seconds]
AaronvanW has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
not_reserved has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 260 seconds]
TallTim has quit [Remote host closed the connection]
TallTim_ has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 256 seconds]
AaronvanW has quit [Ping timeout: 276 seconds]
dviola has quit [Quit: WeeChat 4.1.2]
hardtotell2 has joined #bitcoin-core-dev
hardtotell has quit [Ping timeout: 260 seconds]
hardtotell2 is now known as hardtotell
hardtotell has quit [Ping timeout: 276 seconds]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 255 seconds]
hardtotell has joined #bitcoin-core-dev
hardtotell has quit [Ping timeout: 260 seconds]
salvatoshi has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 264 seconds]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 268 seconds]
hardtotell has joined #bitcoin-core-dev
conman has quit [Remote host closed the connection]
AaronvanW has joined #bitcoin-core-dev
Guyver2 has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 240 seconds]
<bitcoin-git> [bitcoin] fanquake closed pull request #29101: Explain what the wallet password does (master...thanos-107) https://github.com/bitcoin/bitcoin/pull/29101
brunoerg has joined #bitcoin-core-dev
<gleb> DrahtBot asks me for review right after i submitted review comments.... weird. https://github.com/bitcoin/bitcoin/pull/28538#event-11274140167
brunoerg has quit [Ping timeout: 255 seconds]
adiabat_ has quit [Remote host closed the connection]
not_reserved has quit [Quit: Client closed]
<glozow> gleb: drahty's just funny like that sometimes
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 260 seconds]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 245 seconds]
freesprung512 has joined #bitcoin-core-dev
freesprung51 has quit [Ping timeout: 276 seconds]
freesprung512 is now known as freesprung51
brunoerg has joined #bitcoin-core-dev
TallTim_ is now known as TallTim
freesprung51 has quit [Ping timeout: 276 seconds]
brunoerg has quit [Ping timeout: 264 seconds]
brunoerg has joined #bitcoin-core-dev
___nick___ has joined #bitcoin-core-dev
___nick___ has quit [Client Quit]
___nick___ has joined #bitcoin-core-dev
conman has joined #bitcoin-core-dev
<bitcoin-git> [bitcoin] fanquake pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/3695ecbf680a...925a750d99bc
<bitcoin-git> bitcoin/master ff896d2 fanquake: contrib: drop GCC MAX_VERSION to 4.3.0 in symbol-check
<bitcoin-git> bitcoin/master 925a750 fanquake: Merge bitcoin/bitcoin#28844: contrib: drop GCC MAX_VERSION to 4.3.0 in sym...
<bitcoin-git> [bitcoin] fanquake merged pull request #28844: contrib: drop GCC MAX_VERSION to 4.3.0 in symbol-check (master...libgcc_4_3_0) https://github.com/bitcoin/bitcoin/pull/28844
<bitcoin-git> [bitcoin] fanquake pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/925a750d99bc...4b94578fd856
<bitcoin-git> bitcoin/master fa769d3 MarcoFalke: fuzz: Limit p2p fuzz targets to MAX_PROTOCOL_MESSAGE_LENGTH
<bitcoin-git> bitcoin/master 4b94578 fanquake: Merge bitcoin/bitcoin#29079: fuzz: Limit p2p fuzz targets to MAX_PROTOCOL_...
<bitcoin-git> [bitcoin] fanquake merged pull request #29079: fuzz: Limit p2p fuzz targets to MAX_PROTOCOL_MESSAGE_LENGTH (master...2312-fuzz-limit-p2p-) https://github.com/bitcoin/bitcoin/pull/29079
<bitcoin-git> [bitcoin] fanquake pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/4b94578fd856...c840dea27edf
<bitcoin-git> bitcoin/master fa87a20 MarcoFalke: build: Bump guix time-machine to unlock riscv64 metal
<bitcoin-git> bitcoin/master c840dea fanquake: Merge bitcoin/bitcoin#29078: build: Bump guix time-machine to unlock riscv...
<bitcoin-git> [bitcoin] fanquake merged pull request #29078: build: Bump guix time-machine to unlock riscv64 metal (master...2312-riscv64-metal-) https://github.com/bitcoin/bitcoin/pull/29078
<bitcoin-git> [bitcoin] SatoshiNT0 opened pull request #29106: bitcoin (master...master) https://github.com/bitcoin/bitcoin/pull/29106
<bitcoin-git> [bitcoin] fanquake closed pull request #29106: bitcoin (master...master) https://github.com/bitcoin/bitcoin/pull/29106
boris has joined #bitcoin-core-dev
boris- has quit [Ping timeout: 260 seconds]
<bitcoin-git> [bitcoin] kristapsk opened pull request #29107: Fix spelling errors (master...fix-spelling) https://github.com/bitcoin/bitcoin/pull/29107
jon_atack has joined #bitcoin-core-dev
jonatack has quit [Ping timeout: 264 seconds]
qxs has quit [Ping timeout: 240 seconds]
bitdex has quit [Quit: = ""]
qxs has joined #bitcoin-core-dev
<bitcoin-git> [bitcoin] fanquake pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/c840dea27edf...eef19c4ce2f8
<bitcoin-git> bitcoin/master b2fc7a2 dergoegge: [fuzz] Improve fuzzing stability for minisketch harness
<bitcoin-git> bitcoin/master eef19c4 fanquake: Merge bitcoin/bitcoin#29064: fuzz: Improve fuzzing stability for minisketc...
<bitcoin-git> [bitcoin] fanquake merged pull request #29064: fuzz: Improve fuzzing stability for minisketch harness (master...2023-12-fuzz-stability-minisketch) https://github.com/bitcoin/bitcoin/pull/29064
<bitcoin-git> [bitcoin] maflcko opened pull request #29108: refactor: Replace ALWAYS_FALSE with false (master...2312-false-) https://github.com/bitcoin/bitcoin/pull/29108
test_ has joined #bitcoin-core-dev
<bitcoin-git> [bitcoin] maflcko closed pull request #29108: refactor: Replace ALWAYS_FALSE with false (master...2312-false-) https://github.com/bitcoin/bitcoin/pull/29108
AaronvanW has quit [Remote host closed the connection]
flooded has joined #bitcoin-core-dev
AaronvanW has joined #bitcoin-core-dev
qxs has quit [Remote host closed the connection]
qxs has joined #bitcoin-core-dev
test_ has quit [Ping timeout: 264 seconds]
AaronvanW has quit [Remote host closed the connection]
AaronvanW has joined #bitcoin-core-dev
qxs has quit [Remote host closed the connection]
qxs has joined #bitcoin-core-dev
<fanquake> Time for us to turn the MSVC functional tests back off?
<fanquake> They were recently re-enabled in #29059
<gribble> https://github.com/bitcoin/bitcoin/issues/29059 | Revert "ci: Only run functional tests on windows in master" by hebasto · Pull Request #29059 · bitcoin/bitcoin · GitHub
<fanquake> However are clearly still just failing sporadically. See #29090
<gribble> https://github.com/bitcoin/bitcoin/issues/29090 | ci: feature_proxy failing in MSVC job · Issue #29090 · bitcoin/bitcoin · GitHub
<fanquake> Same random timeouts, different tests etc
AaronvanW has quit [Ping timeout: 264 seconds]
kevkevin has joined #bitcoin-core-dev
not_reserved has joined #bitcoin-core-dev
kevkevin has quit [Ping timeout: 268 seconds]
<bitcoin-git> [bitcoin] glozow pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/eef19c4ce2f8...dd391944dc2d
<bitcoin-git> bitcoin/master 8dec9c5 ismaelsadeeq: wallet, mempool: propagete `checkChainLimits` error message to wallet
<bitcoin-git> bitcoin/master dd39194 glozow: Merge bitcoin/bitcoin#28863: wallet, mempool: propagete `checkChainLimits`...
<bitcoin-git> [bitcoin] glozow merged pull request #28863: wallet, mempool: propagete `checkChainLimits` error message to wallet (master...11-2023-prograte-checkPackageLimit-error-up) https://github.com/bitcoin/bitcoin/pull/28863
<vasild> https://github.com/bitcoin/bitcoin/blob/eef19c4ce2f85118e439a0d3165f46075c20ca1f/src/validation.h#L883 is cs_main guarding just the pointer m_active_chainstate or also the object that the pointer points to?
<vasild> or also keeping the pointer/object in consistency with other variables?
<sipa> vasild: my guess is that it's protecting all of those things
<sipa> but the annotation on that pointer is just about the pointer itself
<sipa> the pointer points to the object contained in either the m_ibd_chainstate or m_snapshot_chainstate unique_ptrs, and those are also annotated to be protected by cs_main
<vasild> what about https://github.com/bitcoin/bitcoin/blob/eef19c4ce2f85118e439a0d3165f46075c20ca1f/src/validation.cpp#L5715-L5720 ChainstateManager::ActiveChainstate() which returns the object to a caller that may not own cs_main? That's unsafe.
<sipa> i'm wrong; Chainstate has its own internal mutex (Chainstate::m_chainstate_mutex)
<vasild> wrong about what?
<sipa> i'm wrong in my guess that cs_main protects all of the things you listed; it seems to only protect the pointers, as the objects internally have their own mutex
<jamesob> vasild: yes, cs_main is repurposed to protect both the pointer m_active_chainstate and a lot of the chainstate content itself (e.g. coinscache contents)
<sipa> jamesob: what does m_chainstate_mutex protect then?
<jamesob> e.g. see the `CoinsTip()1 annotation
<vasild> so cs_main is guarding just the pointer?
<vasild> otherwise it is unsafe to do anything with the return value of ChainstateManager::ActiveChainstate()
kevkevin has joined #bitcoin-core-dev
<jamesob> sipa: m_chainstate_mutex is pretty mysterious; as far as I can remember/guess, it's used to get around the fact that you can't go into ActivateBestChain holding cs_main but you still need a mutex at that point. Reading now to refresh my cache...
<jamesob> it also looks as though it's used to mutex calling ABC() and InvalidateBlock() - but on the whole it isn't used for very much, which makes its very general name confusing
<jamesob> but the headline here is: basically everything relating to Chainstate is guarded solely by cs_main. The implicit design is that all on-disk chainstate stuff is synchronized with cs_main, as well as some tangential in-memory stuff like certain CBlockIndex attributes
<jamesob> So after reading code, I think m_chainstate_mutex is used to lock the chainstate during an ABC() call, whereas cs_main is acquired for the granular ABCStep() calls. You might ask "why not just hold cs_main for the whole ABC() call?" I think the rationale was that we want to interrupt the cs_main hold to e.g. service net_processing activity during
<jamesob> long best-chain activations
<jamesob> vasild sipa: making sense?
<sipa> yeah, makes sense to me
<sipa> thanks for elaborating
<vasild> no :)
<vasild> aha!
<vasild> so callers that do m_chainman.ActiveChain().Tip()->nHeight must own cs_main
<vasild> ActiveChain() const EXCLUSIVE_LOCKS_REQUIRED(GetMutex()) // GetMutex returns cs_main
<jamesob> yes, pretty much anything relating to Tip content requires cs_main
<vasild> the annotation would not catch usage like: CChain& c = WITH_LOCK(cs_main, return m_chainman.ActiveChain()); /* unsafe */ c.Tip()
<vasild> anyway, I guess that there are always ways to shoot yourself in the foot, if really wanted :)
<vasild> Thanks!
cguida has joined #bitcoin-core-dev
<jamesob> sure thing
cguida has quit [Remote host closed the connection]
cguida has joined #bitcoin-core-dev
freesprung512 has joined #bitcoin-core-dev
brunoerg has quit [Remote host closed the connection]
brunoerg has joined #bitcoin-core-dev
abubakarsadiq has joined #bitcoin-core-dev
not_reserved has quit [Quit: Client closed]
not_reserved has joined #bitcoin-core-dev
AaronvanW has joined #bitcoin-core-dev
salvatoshi has quit [Ping timeout: 252 seconds]
Guest32 has joined #bitcoin-core-dev
brunoerg has quit [Remote host closed the connection]
brunoerg has joined #bitcoin-core-dev
bugs_ has joined #bitcoin-core-dev
AaronvanW has quit [Ping timeout: 255 seconds]
salvatoshi has joined #bitcoin-core-dev
Guest32 has quit [Quit: Client closed]
realies has joined #bitcoin-core-dev
preimage has joined #bitcoin-core-dev
Talkless has joined #bitcoin-core-dev
brunoerg has quit [Remote host closed the connection]
realies has quit [Quit: ~]
realies has joined #bitcoin-core-dev
realies has quit [Quit: ~]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Remote host closed the connection]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 264 seconds]
abubakarsadiq has quit [Quit: Connection closed for inactivity]
preimage has quit [Quit: WeeChat 4.1.1]
jarthur has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 255 seconds]
AaronvanW has joined #bitcoin-core-dev
zato has joined #bitcoin-core-dev
___nick___ has quit [Ping timeout: 252 seconds]
kevkevin has quit [Remote host closed the connection]
TallTim has quit [Ping timeout: 256 seconds]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 252 seconds]
huggingbitch has joined #bitcoin-core-dev
AaronvanW has quit [Ping timeout: 264 seconds]
huggingbitch has quit [Client Quit]
kevkevin has joined #bitcoin-core-dev
huggingbitch has joined #bitcoin-core-dev
huggingbitch has quit [Client Quit]
huggingbitch has joined #bitcoin-core-dev
TallTim has joined #bitcoin-core-dev
cryptapus has quit [Remote host closed the connection]
huggingbitch has quit [Quit: Client closed]
Talkless has quit [Quit: Konversation terminated!]
huggingbitch has joined #bitcoin-core-dev
huggingbitch has quit [Client Quit]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 256 seconds]
szkl has quit [Quit: Connection closed for inactivity]
szkl has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
AaronvanW has joined #bitcoin-core-dev
Guyver2 has quit [Read error: Connection reset by peer]
not_reserved has quit [Quit: Client closed]
brunoerg has quit [Remote host closed the connection]
brunoerg has joined #bitcoin-core-dev
vysn has joined #bitcoin-core-dev
kevkevin has quit [Remote host closed the connection]
Guest86 has joined #bitcoin-core-dev
Guest86 has quit [Client Quit]
vysn has quit [Remote host closed the connection]
brunoerg has quit [Remote host closed the connection]
<Sjors[m]> I think I learned today that using Span<std::byte> as a return type is an absolutely terrible idea.
<bitcoin-git> [bitcoin] achow101 opened pull request #29112: sqlite: Disallow writing from multiple `SQLiteBatch`s (master...sqlite-concurrent-writes) https://github.com/bitcoin/bitcoin/pull/29112
AaronvanW has quit [Remote host closed the connection]
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 276 seconds]
bugs_ has quit [Quit: Leaving]
Smiler89 has joined #bitcoin-core-dev
<Smiler89> Hey everyone :)
<Smiler89> is anyone online here?
* Smiler89 looks around
AaronvanW has joined #bitcoin-core-dev
salvatoshi has quit [Ping timeout: 252 seconds]
dongcarl has quit [Quit: Ping timeout (120 seconds)]
dongcarl has joined #bitcoin-core-dev
bomb-on has joined #bitcoin-core-dev
AaronvanW has quit [Ping timeout: 245 seconds]
zato has quit [Quit: Om mani padme hum]
brunoerg has joined #bitcoin-core-dev