00:00
brunoerg has quit [Ping timeout: 256 seconds]
00:01
AaronvanW has quit [Remote host closed the connection]
00:03
TracaChang has quit [Remote host closed the connection]
00:03
TracaChang has joined #bitcoin-core-dev
00:29
brunoerg has joined #bitcoin-core-dev
00:31
Guest87 has joined #bitcoin-core-dev
00:32
AaronvanW has joined #bitcoin-core-dev
00:34
brunoerg has quit [Ping timeout: 252 seconds]
00:56
szkl has quit [Quit: Connection closed for inactivity]
01:03
brunoerg has joined #bitcoin-core-dev
01:06
AaronvanW has quit [Ping timeout: 252 seconds]
01:06
szkl has joined #bitcoin-core-dev
01:08
brunoerg has quit [Ping timeout: 256 seconds]
01:37
brunoerg has joined #bitcoin-core-dev
01:42
brunoerg has quit [Ping timeout: 255 seconds]
01:50
Guest87 has quit [Quit: Client closed]
02:09
jonatack has joined #bitcoin-core-dev
02:11
brunoerg has joined #bitcoin-core-dev
02:16
brunoerg has quit [Ping timeout: 252 seconds]
02:40
realies has quit [Quit: ~]
02:46
brunoerg has joined #bitcoin-core-dev
02:51
brunoerg has quit [Ping timeout: 264 seconds]
03:03
AaronvanW has joined #bitcoin-core-dev
03:06
szkl has quit [Quit: Connection closed for inactivity]
03:10
piku has joined #bitcoin-core-dev
03:36
AaronvanW has quit [Ping timeout: 252 seconds]
04:16
brunoerg has joined #bitcoin-core-dev
04:20
brunoerg has quit [Ping timeout: 260 seconds]
04:24
kevkevin has joined #bitcoin-core-dev
04:28
kevkevin has quit [Ping timeout: 255 seconds]
04:36
rbatty has joined #bitcoin-core-dev
04:39
brunoerg has joined #bitcoin-core-dev
04:43
brunoerg has quit [Ping timeout: 245 seconds]
04:55
piku has quit [Quit: Leaving]
05:01
cmirror has quit [Remote host closed the connection]
05:01
cmirror has joined #bitcoin-core-dev
05:12
brunoerg has joined #bitcoin-core-dev
05:17
brunoerg has quit [Ping timeout: 268 seconds]
05:30
PaperSword has joined #bitcoin-core-dev
05:33
brunoerg has joined #bitcoin-core-dev
05:34
szkl has joined #bitcoin-core-dev
05:38
brunoerg has quit [Ping timeout: 252 seconds]
06:00
AaronvanW has joined #bitcoin-core-dev
06:16
brunoerg has joined #bitcoin-core-dev
06:18
not_reserved has joined #bitcoin-core-dev
06:21
brunoerg has quit [Ping timeout: 260 seconds]
06:43
TallTim has quit [Remote host closed the connection]
06:43
TallTim_ has joined #bitcoin-core-dev
06:49
brunoerg has joined #bitcoin-core-dev
06:55
brunoerg has quit [Ping timeout: 256 seconds]
07:03
AaronvanW has quit [Ping timeout: 276 seconds]
07:11
dviola has quit [Quit: WeeChat 4.1.2]
07:14
hardtotell2 has joined #bitcoin-core-dev
07:14
hardtotell has quit [Ping timeout: 260 seconds]
07:14
hardtotell2 is now known as hardtotell
07:19
hardtotell has quit [Ping timeout: 276 seconds]
07:24
brunoerg has joined #bitcoin-core-dev
07:29
brunoerg has quit [Ping timeout: 255 seconds]
07:30
hardtotell has joined #bitcoin-core-dev
07:38
hardtotell has quit [Ping timeout: 260 seconds]
07:55
salvatoshi has joined #bitcoin-core-dev
07:57
brunoerg has joined #bitcoin-core-dev
08:02
brunoerg has quit [Ping timeout: 264 seconds]
08:31
brunoerg has joined #bitcoin-core-dev
08:36
brunoerg has quit [Ping timeout: 268 seconds]
08:42
hardtotell has joined #bitcoin-core-dev
08:47
conman has quit [Remote host closed the connection]
08:55
AaronvanW has joined #bitcoin-core-dev
09:05
Guyver2 has joined #bitcoin-core-dev
09:07
brunoerg has joined #bitcoin-core-dev
09:12
brunoerg has quit [Ping timeout: 240 seconds]
09:40
brunoerg has joined #bitcoin-core-dev
09:45
brunoerg has quit [Ping timeout: 255 seconds]
09:52
adiabat_ has quit [Remote host closed the connection]
09:58
not_reserved has quit [Quit: Client closed]
10:10
<
glozow >
gleb: drahty's just funny like that sometimes
10:11
brunoerg has joined #bitcoin-core-dev
10:16
brunoerg has quit [Ping timeout: 260 seconds]
10:45
brunoerg has joined #bitcoin-core-dev
10:49
brunoerg has quit [Ping timeout: 245 seconds]
10:57
freesprung512 has joined #bitcoin-core-dev
11:00
freesprung51 has quit [Ping timeout: 276 seconds]
11:00
freesprung512 is now known as freesprung51
11:19
brunoerg has joined #bitcoin-core-dev
11:20
TallTim_ is now known as TallTim
11:22
freesprung51 has quit [Ping timeout: 276 seconds]
11:24
brunoerg has quit [Ping timeout: 264 seconds]
11:26
brunoerg has joined #bitcoin-core-dev
11:29
___nick___ has joined #bitcoin-core-dev
11:32
___nick___ has quit [Client Quit]
11:34
___nick___ has joined #bitcoin-core-dev
12:24
conman has joined #bitcoin-core-dev
12:48
<
bitcoin-git >
bitcoin/master ff896d2 fanquake: contrib: drop GCC MAX_VERSION to 4.3.0 in symbol-check
12:48
<
bitcoin-git >
bitcoin/master 925a750 fanquake: Merge bitcoin/bitcoin#28844: contrib: drop GCC MAX_VERSION to 4.3.0 in sym...
12:53
<
bitcoin-git >
bitcoin/master fa769d3 MarcoFalke: fuzz: Limit p2p fuzz targets to MAX_PROTOCOL_MESSAGE_LENGTH
12:53
<
bitcoin-git >
bitcoin/master 4b94578 fanquake: Merge bitcoin/bitcoin#29079: fuzz: Limit p2p fuzz targets to MAX_PROTOCOL_...
12:54
<
bitcoin-git >
bitcoin/master fa87a20 MarcoFalke: build: Bump guix time-machine to unlock riscv64 metal
12:54
<
bitcoin-git >
bitcoin/master c840dea fanquake: Merge bitcoin/bitcoin#29078: build: Bump guix time-machine to unlock riscv...
13:08
boris has joined #bitcoin-core-dev
13:08
boris- has quit [Ping timeout: 260 seconds]
13:35
jon_atack has joined #bitcoin-core-dev
13:37
jonatack has quit [Ping timeout: 264 seconds]
13:42
qxs has quit [Ping timeout: 240 seconds]
13:43
bitdex has quit [Quit: = ""]
13:44
qxs has joined #bitcoin-core-dev
13:54
<
bitcoin-git >
bitcoin/master b2fc7a2 dergoegge: [fuzz] Improve fuzzing stability for minisketch harness
13:54
<
bitcoin-git >
bitcoin/master eef19c4 fanquake: Merge bitcoin/bitcoin#29064: fuzz: Improve fuzzing stability for minisketc...
13:58
test_ has joined #bitcoin-core-dev
14:08
AaronvanW has quit [Remote host closed the connection]
14:23
flooded has joined #bitcoin-core-dev
14:27
AaronvanW has joined #bitcoin-core-dev
14:27
qxs has quit [Remote host closed the connection]
14:28
qxs has joined #bitcoin-core-dev
14:28
test_ has quit [Ping timeout: 264 seconds]
14:30
AaronvanW has quit [Remote host closed the connection]
15:01
AaronvanW has joined #bitcoin-core-dev
15:03
qxs has quit [Remote host closed the connection]
15:03
qxs has joined #bitcoin-core-dev
15:05
<
fanquake >
Time for us to turn the MSVC functional tests back off?
15:05
<
fanquake >
They were recently re-enabled in #29059
15:06
<
fanquake >
However are clearly still just failing sporadically. See #29090
15:06
<
fanquake >
Same random timeouts, different tests etc
15:06
AaronvanW has quit [Ping timeout: 264 seconds]
15:30
kevkevin has joined #bitcoin-core-dev
15:34
not_reserved has joined #bitcoin-core-dev
15:35
kevkevin has quit [Ping timeout: 268 seconds]
15:35
<
bitcoin-git >
bitcoin/master 8dec9c5 ismaelsadeeq: wallet, mempool: propagete `checkChainLimits` error message to wallet
15:35
<
bitcoin-git >
bitcoin/master dd39194 glozow: Merge bitcoin/bitcoin#28863: wallet, mempool: propagete `checkChainLimits`...
15:42
<
vasild >
or also keeping the pointer/object in consistency with other variables?
15:44
<
sipa >
vasild: my guess is that it's protecting all of those things
15:44
<
sipa >
but the annotation on that pointer is just about the pointer itself
15:45
<
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
15:49
<
sipa >
i'm wrong; Chainstate has its own internal mutex (Chainstate::m_chainstate_mutex)
15:49
<
vasild >
wrong about what?
15:51
<
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
15:51
<
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)
15:52
<
sipa >
jamesob: what does m_chainstate_mutex protect then?
15:52
<
jamesob >
e.g. see the `CoinsTip()1 annotation
15:52
<
vasild >
so cs_main is guarding just the pointer?
15:52
<
vasild >
otherwise it is unsafe to do anything with the return value of ChainstateManager::ActiveChainstate()
15:52
kevkevin has joined #bitcoin-core-dev
15:53
<
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...
15:54
<
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
15:55
<
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
15:59
<
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
15:59
<
jamesob >
long best-chain activations
15:59
<
jamesob >
vasild sipa: making sense?
16:00
<
sipa >
yeah, makes sense to me
16:00
<
sipa >
thanks for elaborating
16:02
<
vasild >
so callers that do m_chainman.ActiveChain().Tip()->nHeight must own cs_main
16:03
<
vasild >
ActiveChain() const EXCLUSIVE_LOCKS_REQUIRED(GetMutex()) // GetMutex returns cs_main
16:03
<
jamesob >
yes, pretty much anything relating to Tip content requires cs_main
16:04
<
vasild >
the annotation would not catch usage like: CChain& c = WITH_LOCK(cs_main, return m_chainman.ActiveChain()); /* unsafe */ c.Tip()
16:06
<
vasild >
anyway, I guess that there are always ways to shoot yourself in the foot, if really wanted :)
16:06
cguida has joined #bitcoin-core-dev
16:07
<
jamesob >
sure thing
16:10
cguida has quit [Remote host closed the connection]
16:10
cguida has joined #bitcoin-core-dev
16:11
freesprung512 has joined #bitcoin-core-dev
16:15
brunoerg has quit [Remote host closed the connection]
16:16
brunoerg has joined #bitcoin-core-dev
16:19
abubakarsadiq has joined #bitcoin-core-dev
16:41
not_reserved has quit [Quit: Client closed]
16:42
not_reserved has joined #bitcoin-core-dev
16:57
AaronvanW has joined #bitcoin-core-dev
17:08
salvatoshi has quit [Ping timeout: 252 seconds]
17:27
Guest32 has joined #bitcoin-core-dev
17:28
brunoerg has quit [Remote host closed the connection]
17:28
brunoerg has joined #bitcoin-core-dev
17:28
bugs_ has joined #bitcoin-core-dev
17:31
AaronvanW has quit [Ping timeout: 255 seconds]
17:32
salvatoshi has joined #bitcoin-core-dev
17:34
Guest32 has quit [Quit: Client closed]
17:58
realies has joined #bitcoin-core-dev
18:01
preimage has joined #bitcoin-core-dev
18:09
Talkless has joined #bitcoin-core-dev
18:14
brunoerg has quit [Remote host closed the connection]
18:18
realies has quit [Quit: ~]
18:18
realies has joined #bitcoin-core-dev
18:24
realies has quit [Quit: ~]
18:32
brunoerg has joined #bitcoin-core-dev
18:39
brunoerg has quit [Remote host closed the connection]
18:43
brunoerg has joined #bitcoin-core-dev
18:48
brunoerg has quit [Ping timeout: 264 seconds]
18:58
abubakarsadiq has quit [Quit: Connection closed for inactivity]
18:59
preimage has quit [Quit: WeeChat 4.1.1]
19:16
jarthur has joined #bitcoin-core-dev
19:21
brunoerg has joined #bitcoin-core-dev
19:25
brunoerg has quit [Ping timeout: 255 seconds]
19:28
AaronvanW has joined #bitcoin-core-dev
19:28
zato has joined #bitcoin-core-dev
19:36
___nick___ has quit [Ping timeout: 252 seconds]
19:43
kevkevin has quit [Remote host closed the connection]
19:52
TallTim has quit [Ping timeout: 256 seconds]
19:55
brunoerg has joined #bitcoin-core-dev
20:00
brunoerg has quit [Ping timeout: 252 seconds]
20:00
huggingbitch has joined #bitcoin-core-dev
20:01
AaronvanW has quit [Ping timeout: 264 seconds]
20:03
huggingbitch has quit [Client Quit]
20:03
kevkevin has joined #bitcoin-core-dev
20:03
huggingbitch has joined #bitcoin-core-dev
20:06
huggingbitch has quit [Client Quit]
20:07
huggingbitch has joined #bitcoin-core-dev
20:07
TallTim has joined #bitcoin-core-dev
20:13
cryptapus has quit [Remote host closed the connection]
20:14
huggingbitch has quit [Quit: Client closed]
20:16
Talkless has quit [Quit: Konversation terminated!]
20:19
huggingbitch has joined #bitcoin-core-dev
20:20
huggingbitch has quit [Client Quit]
20:28
brunoerg has joined #bitcoin-core-dev
20:33
brunoerg has quit [Ping timeout: 256 seconds]
20:44
szkl has quit [Quit: Connection closed for inactivity]
20:52
szkl has joined #bitcoin-core-dev
20:56
brunoerg has joined #bitcoin-core-dev
21:08
AaronvanW has joined #bitcoin-core-dev
21:17
Guyver2 has quit [Read error: Connection reset by peer]
21:18
not_reserved has quit [Quit: Client closed]
21:33
brunoerg has quit [Remote host closed the connection]
21:34
brunoerg has joined #bitcoin-core-dev
21:34
vysn has joined #bitcoin-core-dev
21:40
kevkevin has quit [Remote host closed the connection]
21:50
Guest86 has joined #bitcoin-core-dev
21:50
Guest86 has quit [Client Quit]
22:06
vysn has quit [Remote host closed the connection]
22:18
brunoerg has quit [Remote host closed the connection]
22:20
<
Sjors[m] >
I think I learned today that using Span<std::byte> as a return type is an absolutely terrible idea.
22:42
AaronvanW has quit [Remote host closed the connection]
22:42
brunoerg has joined #bitcoin-core-dev
22:47
brunoerg has quit [Ping timeout: 276 seconds]
23:00
bugs_ has quit [Quit: Leaving]
23:07
Smiler89 has joined #bitcoin-core-dev
23:12
<
Smiler89 >
Hey everyone :)
23:12
<
Smiler89 >
is anyone online here?
23:12
* Smiler89
looks around
23:13
AaronvanW has joined #bitcoin-core-dev
23:19
salvatoshi has quit [Ping timeout: 252 seconds]
23:29
dongcarl has quit [Quit: Ping timeout (120 seconds)]
23:29
dongcarl has joined #bitcoin-core-dev
23:45
bomb-on has joined #bitcoin-core-dev
23:46
AaronvanW has quit [Ping timeout: 245 seconds]
23:46
zato has quit [Quit: Om mani padme hum]
23:56
brunoerg has joined #bitcoin-core-dev