brunoerg has quit [Remote host closed the connection]
Evel-Knievel has quit [Ping timeout: 246 seconds]
Evel-Knievel has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 250 seconds]
brunoerg has joined #bitcoin-core-dev
Willtech has quit [Quit: Willtech]
Willtech has joined #bitcoin-core-dev
bomb-on has quit [Quit: aллилѹіа!]
test_ has joined #bitcoin-core-dev
_flood has quit [Ping timeout: 240 seconds]
Willtech has quit [Quit: Willtech]
Willtech has joined #bitcoin-core-dev
brunoerg has quit [Ping timeout: 260 seconds]
<jamesob>
hmmmmm have we totally-definitely-certainly outlawed `goto` use?
bitdex has quit [Ping timeout: 240 seconds]
bitdex has joined #bitcoin-core-dev
<_aj_>
jamesob: "how can i do [pastebin] better than using goto?"
NorrinRadd has joined #bitcoin-core-dev
evanlinjin has joined #bitcoin-core-dev
<jamesob>
_aj_: it's just so tempting to pretend I'm a kernel hacker rather than introduce yet another refactoring commit
<jamesob>
and debatably what this would be replacing is less clear than goto IMO (using `continue` in a do-while to do poor man's recursion during init)
<jamesob>
but I'll relent, despite always being on the lookout for innovative ways to make assumeutxo PRs harder to merge
<sipa>
Unless you're using it in a super tight performance-critical loop, and there is no way to achieve the same performance with a more structured approach... I'd say no.
<jamesob>
sipa: you mean "yes[, we have outlawed goto]"
brunoerg has joined #bitcoin-core-dev
a1ph4byte has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
evanlinjin has quit [Ping timeout: 240 seconds]
<sipa>
we have a goto somewhere in the codebase!
evanlinjin has joined #bitcoin-core-dev
<sipa>
there's at least one in src/crypto/poly1305 i believe
<sipa>
(but it's code copied from elsewhere)
<jamesob>
IIRC dongcarl tried to introduce one recently to the libbitcoinkernel client code
<dongcarl>
Yup
<dongcarl>
It's example code and will be moved to src/kernel/example in future PRs tho
<luke-jr>
aren't examples usually under contrib/ ?
evanlinjin has quit [Ping timeout: 240 seconds]
brunoerg has quit [Ping timeout: 260 seconds]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
brunoerg has joined #bitcoin-core-dev
<jeremyrubin>
jamesob: show me a code snippet and i'll show you goto free code
evanlinjin has joined #bitcoin-core-dev
evanlinjin has quit [Ping timeout: 240 seconds]
bitdex has quit [Ping timeout: 240 seconds]
bitdex has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
cmirror has quit [Remote host closed the connection]
cmirror has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Ping timeout: 250 seconds]
evanlinjin has joined #bitcoin-core-dev
mikehu44 has joined #bitcoin-core-dev
mikehu44 has quit [Ping timeout: 276 seconds]
mikehu44 has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Ping timeout: 250 seconds]
<bitcoin-git>
bitcoin/master 786b3a7 Andrew Chow: tests: Do not always create a descriptor wallet in wallet_createwallet
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
<bitcoin-git>
bitcoin/master 4381681 MacroFake: Merge bitcoin/bitcoin#25011: tests: Do not always create a descriptor wall...
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] MarcoFalke merged pull request #25011: tests: Do not always create a descriptor wallet in wallet_createwallet (master...fix-legacy-createwallet-test) https://github.com/bitcoin/bitcoin/pull/25011
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
Alina-malina has quit [Ping timeout: 246 seconds]
Alina-malina has joined #bitcoin-core-dev
mikehu44_ has joined #bitcoin-core-dev
mikehu44 has quit [Ping timeout: 256 seconds]
evanlinjin has joined #bitcoin-core-dev
evanlinjin has quit [Remote host closed the connection]
evanlinjin has joined #bitcoin-core-dev
belcher has quit [Ping timeout: 250 seconds]
salvatoshi has joined #bitcoin-core-dev
belcher has joined #bitcoin-core-dev
sipsorcery has joined #bitcoin-core-dev
hashfunc1ebd has joined #bitcoin-core-dev
belcher has quit [Ping timeout: 250 seconds]
mikehu44_ has quit [Ping timeout: 272 seconds]
mikehu44 has joined #bitcoin-core-dev
bitdex has quit [Ping timeout: 240 seconds]
Willtech has quit [Remote host closed the connection]
belcher has joined #bitcoin-core-dev
bitdex has joined #bitcoin-core-dev
<laanwj>
if you're running a patched version you should be able to ask git for the necessary information yourself, though
<laanwj>
so i'm still not really convinced
<laanwj>
jamesob: yes, goto has no place in C++ code, in C code it's sometimes ok
<laanwj>
in C code it's useful (often, the least insane way) to do cleanup in case of errors, in C++ code you should use RAII for cleanup instead
<laanwj>
please avoid "kernel hacking" in this project if possible, if dumb, easy to understand code (in far as that's even possible with C++) suffices, go for that, the less tricks and surprises the better
Guyver2 has joined #bitcoin-core-dev
<laanwj>
anyhow wrt the merge list: the only thing git log --merges v.... v.... *doesn't* do is sort the PRs per category, but this is a painstaking process anyway, there's some automation using the github API and labels but it's often only a heuristic and still needs careful checking
<laanwj>
for 23.0 i just didn't get around to that, if someone else does i'm not going to stop them
<laanwj>
well, for next release i man, for 23.0 it's too late
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] MarcoFalke opened pull request #25013: Remove cs_main from verifymessage, move msg utils to new file (master...2204-rpc-misc-🔌) https://github.com/bitcoin/bitcoin/pull/25013
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
brunoerg has joined #bitcoin-core-dev
evanlinjin has quit [Ping timeout: 240 seconds]
<laanwj>
re: #25012 I really hoped to remove the 'whether bitcoin is experimental' concern from our repo once and for all, but seems it just comes back in a different form then, really, never mind
<laanwj>
'File "..." contains a shebang line, but has the file permission 775 instead of the expected executable permission 755. Do "chmod 755 test/lint/lint-python-mutable-default-parameters.py" (or remove the shebang line)' huh
<bitcoin-git>
bitcoin/master 85aea18 laanwj: Merge bitcoin/bitcoin#24982: tests: Port `lint-all.sh` to `lint-all.py`
<bitcoin-git>
bitcoin/master 29f44fe hiago: Converting `lint-all.sh` to `lint-all.py`.
evanlinjin has joined #bitcoin-core-dev
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] laanwj merged pull request #24982: tests: Port `lint-all.sh` to `lint-all.py` (master...port_lint-all.sh_to_python) https://github.com/bitcoin/bitcoin/pull/24982
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
evanlinjin has quit [Quit: Konversation terminated!]
evanlinjin has joined #bitcoin-core-dev
evanlinjin has quit [Client Quit]
evanlinjin has joined #bitcoin-core-dev
evanlinjin_ has joined #bitcoin-core-dev
evanlinjin has quit [Ping timeout: 240 seconds]
Guest50 has joined #bitcoin-core-dev
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] laanwj opened pull request #25015: test: Use permissions from git in lint-files.py (master...2022-04-lint-permissions-git) https://github.com/bitcoin/bitcoin/pull/25015
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
mudsip has joined #bitcoin-core-dev
mikehu44_ has joined #bitcoin-core-dev
mikehu44 has quit [Ping timeout: 272 seconds]
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
bitcoin/master fa82a1e MacroFake: lint: Mention NONFATAL_UNREACHABLE in lint-assertions.py
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
<laanwj>
in MSX basic you could do this cursed thing where you stripped the line numbers, and replaced gotos by assignments to the interpreter pointer in the token stream—
<laanwj>
there are things much worse than gotos :)
<sipa>
Duff's device?
Guest50 has quit [Quit: Client closed]
<laanwj>
yes, i'd say that qualifies
<laanwj>
or what about the gcc computed goto extension
<laanwj>
maybe it could be combined with a Duff's device for extra curse points
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
<laanwj>
cfields: oh no
<lightlike>
maybe disguise the goto as "do{...} while(false)" with breaks and hope no one will notice (I think we had this kind of thing until recently)
<sipa>
lightlike roconnor: that approach has the advance that it still works in C++ code with new variables defined in the body (in C++ a goto cannot cross the definition of a variable)
<sipa>
I don't know... I think that do ... break ... break ... while(0) pattern is a slight improvement over a goto, but I can see it'd be controversial
<roconnor>
For me it has the advantage that it is supported by VST while goto is not.
<laanwj>
i'd agree, it's "an improvement over a goto" but then also everything is said, if awkward constructions can completely be avoided that'd be even better
<roconnor>
C has fewer ways of avoiding akward constructions than C++ does.
<laanwj>
yes, very true
<sipa>
at some point you just resort to an asm { ... } block ;)
<laanwj>
sometimes a high level language just gets in the way :)
a1ph4byte has quit [Quit: Client closed]
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] MarcoFalke reopened pull request #19909: txmempool: Remove unused clear() member function (master...2009-noTxpoolClear) https://github.com/bitcoin/bitcoin/pull/19909
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
mikehu44 has quit [Ping timeout: 256 seconds]
pk-b2 has joined #bitcoin-core-dev
a1ph4byte has joined #bitcoin-core-dev
salvatoshi has quit [Ping timeout: 256 seconds]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
pk-b2 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
bfsfhkacjzgcytf9 has joined #bitcoin-core-dev
<cfields>
laanwj: "oh no" ?
<laanwj>
cfields: i mean in the sense that there's an actual kernel in bitcoin now so we can't have anything against "kernel hacking"
salvatoshi has joined #bitcoin-core-dev
<laanwj>
jamesob won
<sipa>
"kernel" and "core" are practically synonyms anyway
jonatack has quit [Ping timeout: 248 seconds]
<cfields>
oh :)
<laanwj>
but yeah i can see how that could be interpreted wrong, to be clear i really like libbitcoinkernel
<bitcoin-git>
bitcoin/master 65cddf6 Hennadii Stepanov: build: Fix `AC_CHECK_HEADERS` and `AC_CHECK_LIB` for `miniupnpc` package
<bitcoin-git>
bitcoin/master 1659034 Hennadii Stepanov: build: Fix `AC_CHECK_HEADERS` and `AC_CHECK_LIB` for `libnatpmp` package
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] laanwj merged pull request #24958: build: Fix macOS Apple M1 build with miniupnpc and libnatpmp. Again :) (master...220424-flags) https://github.com/bitcoin/bitcoin/pull/24958
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
sipsorcery has quit [Remote host closed the connection]
sipsorcery has joined #bitcoin-core-dev
Guest60 has joined #bitcoin-core-dev
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] jonatack opened pull request #25017: validation: make the CScriptCheck::swap() member function `noexcept` (master...swap-noexcept) https://github.com/bitcoin/bitcoin/pull/25017
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
Guest60 has quit [Client Quit]
bomb-on has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] scgbckbone opened pull request #25019: normalize (lowercase) master fp in ExternalSigner::SignTransaction (master...lower_master_fp_of_ext_signer_in_SignTransaction) https://github.com/bitcoin/bitcoin/pull/25019
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
Kaizen_Kintsugi_ has joined #bitcoin-core-dev
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
<bitcoin-git>
bitcoin/master dabec99 MacroFake: Merge bitcoin/bitcoin#24956: Call CHECK_NONFATAL only once where needed
<bitcoin-git>
bitcoin/master fab34d3 MarcoFalke: Call CHECK_NONFATAL only once where needed
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] MarcoFalke merged pull request #24956: Call CHECK_NONFATAL only once where needed (master...2204-once-check-tip-🦅) https://github.com/bitcoin/bitcoin/pull/24956
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
Kaizen_Kintsugi_ has quit [Remote host closed the connection]
bitcoin-git has joined #bitcoin-core-dev
<bitcoin-git>
[bitcoin] hebasto opened pull request #25020: contrib: Check symbols in the `bitcoinconsensus` shared library (master...220428-shared) https://github.com/bitcoin/bitcoin/pull/25020
bitcoin-git has left #bitcoin-core-dev [#bitcoin-core-dev]
<dongcarl>
We will now be doing the more meaningful part of decoupling consensus from other modules. I hope that these PRs will have a wider review base, since it doesn’t require any knowledge of build system minutiae.
<dongcarl>
The first PR ready for review is #24410, which is fairly straightforward.
<dongcarl>
A lot of these PRs are not dependent on each other, so at times we will have multiple PRs that are ready for review and not based on one another. There’s no need to wait for a PR to be merged to review the other one!
<jonatack>
laanwj: ty!
<dongcarl>
One last note: I’m happy to chat about any of these PRs to get people up to speed. It also helps me know what parts are unclear so I can improve my docs/commit messages.
<dongcarl>
Hit me up on any communication channel, and I'm also more than happy to do a video/audio call for better bandwidth
* dongcarl
is done, but can answer questions if people have any
<sipa>
Cool.
<laanwj>
dongcarl: thanks for the update
<dongcarl>
:)
<laanwj>
sounds clear to me, there's a lot to review but hopefully we can make quite some progress before 24.0
<dongcarl>
Yup that is my hope too. If anyone spots anything that I could be doing to make things easier to review, let me know!
<hebasto>
dongcarl: thanks!
<jonatack>
dongcarl: do you recommend we developers build with --enable-experimental-util-chainstate or --with-experimental-kernel-lib? (for the moment i have both in my bash alias)
<dongcarl>
jonatack: setting --enable-experimental-util-chainstate will automatically turn on --with-experimental-kernel-lib, unless you set --without-experimental-kernel-lib, in which case configure will fail
<laanwj>
heh
<jonatack>
ok, thanks, so --enable-experimental-util-chainstate sgtm then (and [kernel 2a/n] looks straightforward to review)
<dongcarl>
jonatack: :-)
<cfields>
atm the results are intended to be not very usable, but the kernel lib and bitcoin-chainstate (excluding some windows weirdness) should at least build successfully. Please report if that's not the case anywhere.
<dongcarl>
Many thanks to cfields who got me through various tough situations in kernel 1/n and in upcoming PRs
<cfields>
thanks ryanofsky for great review as well.
<dongcarl>
ryan truly is of the sky
<laanwj>
i guess that concludes the meeting, or does anyone have any last last minute topic
<jonatack>
following the review feedback by both of you on [kernel 1a] was enlightening, as were the excellent commit messages
<laanwj>
thanks everyone for attending, see you next week