🤔 ryanofsky reviewed a pull request: "refactor: Implement missing error checking for ArgsManager flags"
(https://github.com/bitcoin/bitcoin/pull/16545#pullrequestreview-2256044988)
Updated 1e37bcf9fc11562baaedea24685c31f60ef2de31 -> 41bdf3d025f900a59ec14d5b497a31a2d84eea52 ([`pr/argcheck.39`](https://github.com/ryanofsky/bitcoin/commits/pr/argcheck.39) -> [`pr/argcheck.40`](https://github.com/ryanofsky/bitcoin/commits/pr/argcheck.40), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/argcheck.39..pr/argcheck.40)) dropping support for flag combinations and fixing a commit message as suggested.
Support for flag combinations is added back in commit df5c3e123227c1c
...
(https://github.com/bitcoin/bitcoin/pull/16545#pullrequestreview-2256044988)
Updated 1e37bcf9fc11562baaedea24685c31f60ef2de31 -> 41bdf3d025f900a59ec14d5b497a31a2d84eea52 ([`pr/argcheck.39`](https://github.com/ryanofsky/bitcoin/commits/pr/argcheck.39) -> [`pr/argcheck.40`](https://github.com/ryanofsky/bitcoin/commits/pr/argcheck.40), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/argcheck.39..pr/argcheck.40)) dropping support for flag combinations and fixing a commit message as suggested.
Support for flag combinations is added back in commit df5c3e123227c1c
...
💬 ryanofsky commented on pull request "refactor: Implement missing error checking for ArgsManager flags":
(https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1728104674)
re: https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1706731123
> I agree, but I don't think it is incompatible with my suggestion. It seems possible to just implement bool error checking (and only that, or any other single feature), and make sure it is coherent and will be used, and then roll out the feature to one bool-only setting at a time, changing the behavior only once for this setting.
Thanks for pushing this, and that approach does sound ok to me. I think your advice to s
...
(https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1728104674)
re: https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1706731123
> I agree, but I don't think it is incompatible with my suggestion. It seems possible to just implement bool error checking (and only that, or any other single feature), and make sure it is coherent and will be used, and then roll out the feature to one bool-only setting at a time, changing the behavior only once for this setting.
Thanks for pushing this, and that approach does sound ok to me. I think your advice to s
...
💬 ryanofsky commented on pull request "refactor: Implement missing error checking for ArgsManager flags":
(https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1728104758)
re: https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1718228472
> The example for `ALLOW_INT | ALLOW_BOOL` in 6865a198f5db30bd494b3a2540f47ee728963908 is a bit worrying.
Thanks, and yes that example is very out of date. I removed it from the PR description. Now that std::optional GetArg overloads exist, there is little reason to use the other GetArg functions, and their behavior has also been simplified. The way this would be written with the current PR would look more like the `-
...
(https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1728104758)
re: https://github.com/bitcoin/bitcoin/pull/16545#discussion_r1718228472
> The example for `ALLOW_INT | ALLOW_BOOL` in 6865a198f5db30bd494b3a2540f47ee728963908 is a bit worrying.
Thanks, and yes that example is very out of date. I removed it from the PR description. Now that std::optional GetArg overloads exist, there is little reason to use the other GetArg functions, and their behavior has also been simplified. The way this would be written with the current PR would look more like the `-
...
👍 ryanofsky approved a pull request: "init: fix init fatal error on invalid negated option value"
(https://github.com/bitcoin/bitcoin/pull/30684#pullrequestreview-2256090693)
Code review ACK e56e2f51803b276945c74a479d30d884256d7ffc.
Thanks for the fix! Could update the description and note that this bug was caused by #22217. Before that PR specifying -nowallet=0 or -nowallet=not_a_bool would be equivalent to specifying -wallet=1, after that PR it triggers an uncaught exception, and now it triggers a clearer error. I think this error could also be triggered by editing `settings.json` and adding a non-string wallet name.
(https://github.com/bitcoin/bitcoin/pull/30684#pullrequestreview-2256090693)
Code review ACK e56e2f51803b276945c74a479d30d884256d7ffc.
Thanks for the fix! Could update the description and note that this bug was caused by #22217. Before that PR specifying -nowallet=0 or -nowallet=not_a_bool would be equivalent to specifying -wallet=1, after that PR it triggers an uncaught exception, and now it triggers a clearer error. I think this error could also be triggered by editing `settings.json` and adding a non-string wallet name.
💬 ryanofsky commented on pull request "init: fix init fatal error on invalid negated option value":
(https://github.com/bitcoin/bitcoin/pull/30684#discussion_r1728138715)
In commit "init: fix fatal error on '-wallet' negated option value" (e56e2f51803b276945c74a479d30d884256d7ffc)
If desired, you could include the value in the error message like `strprintf(_("Invalid -wallet value %s detected"), wallet.write())`
(https://github.com/bitcoin/bitcoin/pull/30684#discussion_r1728138715)
In commit "init: fix fatal error on '-wallet' negated option value" (e56e2f51803b276945c74a479d30d884256d7ffc)
If desired, you could include the value in the error message like `strprintf(_("Invalid -wallet value %s detected"), wallet.write())`
👍 ryanofsky approved a pull request: "refactor: Replace ParseHex with consteval ""_hex literals"
(https://github.com/bitcoin/bitcoin/pull/30377#pullrequestreview-2256099298)
Code review ACK df92661444f46790b12d5061344d72106ef820d9. Just documentation update since last review (thanks!)
(https://github.com/bitcoin/bitcoin/pull/30377#pullrequestreview-2256099298)
Code review ACK df92661444f46790b12d5061344d72106ef820d9. Just documentation update since last review (thanks!)
🤔 DCMTOKEN reviewed a pull request: "rpc: Reword SighashFromStr error message"
(https://github.com/bitcoin/bitcoin/pull/29870#pullrequestreview-2256150820)
Please approve my request for changes
(https://github.com/bitcoin/bitcoin/pull/29870#pullrequestreview-2256150820)
Please approve my request for changes
🤔 DCMTOKEN reviewed a pull request: "rpc: Reword SighashFromStr error message"
(https://github.com/bitcoin/bitcoin/pull/29870#pullrequestreview-2256157906)
Please approve changes so I can run a test and see if there's any issues
(https://github.com/bitcoin/bitcoin/pull/29870#pullrequestreview-2256157906)
Please approve changes so I can run a test and see if there's any issues
🤔 DCMTOKEN reviewed a pull request: "contrib: Renew Windows code signing certificate"
(https://github.com/bitcoin/bitcoin/pull/30149#pullrequestreview-2256165197)
Please approve revised
(https://github.com/bitcoin/bitcoin/pull/30149#pullrequestreview-2256165197)
Please approve revised
💬 Amarrufo-1 commented on pull request "rpc: Reword SighashFromStr error message":
(https://github.com/bitcoin/bitcoin/pull/29870#issuecomment-2306293872)
I dunno wat this means
On Thu, Aug 22, 2024, 8:28 PM DCMTOKEN ***@***.***> wrote:
> ***@***.**** commented on this pull request.
>
> Please approve changes so I can run a test and see if there's any issues
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/bitcoin/bitcoin/pull/29870#pullrequestreview-2256157906>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/BHYQE7MKDEWADYZXWQHIXWLZS2T53AVCNFSM6AAAAABGG2XNWCVHI2DSMVQWIX3LMV43YUDVNR
...
(https://github.com/bitcoin/bitcoin/pull/29870#issuecomment-2306293872)
I dunno wat this means
On Thu, Aug 22, 2024, 8:28 PM DCMTOKEN ***@***.***> wrote:
> ***@***.**** commented on this pull request.
>
> Please approve changes so I can run a test and see if there's any issues
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/bitcoin/bitcoin/pull/29870#pullrequestreview-2256157906>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/BHYQE7MKDEWADYZXWQHIXWLZS2T53AVCNFSM6AAAAABGG2XNWCVHI2DSMVQWIX3LMV43YUDVNR
...
📝 Yihen-Liu opened a pull request: "contrib: add dockerfile for building image fron source code"
(https://github.com/bitcoin/bitcoin/pull/30702)
It may help developers save time in these aspects:
1. when developers want to deploy a test environment on a new machine, they don't need to pay too much attention to the details of the compilation environment, which is a waste of time.
2. The self-constructed image can be quickly distributed to others who want to test it without building from source code.
3. In a distributed development environment (I mean development for bitcoin core), an available dockerfile can help independent de
...
(https://github.com/bitcoin/bitcoin/pull/30702)
It may help developers save time in these aspects:
1. when developers want to deploy a test environment on a new machine, they don't need to pay too much attention to the details of the compilation environment, which is a waste of time.
2. The self-constructed image can be quickly distributed to others who want to test it without building from source code.
3. In a distributed development environment (I mean development for bitcoin core), an available dockerfile can help independent de
...
💬 maflcko commented on pull request "contrib: add dockerfile for building image fron source code":
(https://github.com/bitcoin/bitcoin/pull/30702#issuecomment-2306347959)
> 1. when developers want to deploy a test environment on a new machine, they don't need to pay too much attention to the details of the compilation environment, which is a waste of time.
Not sure. What is the point of testing on a new machine when you fall back to a hardcoded default config? Testing is useful when variation to the underlying system and other invariants are introduced, while checking the tests still succeed.
Once you modify the dockerfile to the extent where everything is
...
(https://github.com/bitcoin/bitcoin/pull/30702#issuecomment-2306347959)
> 1. when developers want to deploy a test environment on a new machine, they don't need to pay too much attention to the details of the compilation environment, which is a waste of time.
Not sure. What is the point of testing on a new machine when you fall back to a hardcoded default config? Testing is useful when variation to the underlying system and other invariants are introduced, while checking the tests still succeed.
Once you modify the dockerfile to the extent where everything is
...
💬 l0rinc commented on pull request "test: Improve clarity of subsidy limit test":
(https://github.com/bitcoin/bitcoin/pull/30699#issuecomment-2306360216)
> don't understand why we need to refactor the whole test
Because we assume less in the test if we iterate over every block (until we still have a block reward), not just every 1000 blocks
(https://github.com/bitcoin/bitcoin/pull/30699#issuecomment-2306360216)
> don't understand why we need to refactor the whole test
Because we assume less in the test if we iterate over every block (until we still have a block reward), not just every 1000 blocks
💬 maflcko commented on issue "Fatal LevelDB error: Corruption: block checksum mismatch on Linux ext4 SATA SSDs":
(https://github.com/bitcoin/bitcoin/issues/30692#issuecomment-2306364968)
> I'm not quite sure what to do.
Given that the corruption happens for any kind of index (txindex, chainstate), a hardware or software issue on your side is the most likely.
I'd try to check if the internal cable is properly attached and the connector isn't dusty or dirty. Then I'd try some stuff from https://github.com/bitcoin/bitcoin/issues/30692#issuecomment-2303908456 with some caution (Backups are generally recommended, especially if data corruption is likely).
(https://github.com/bitcoin/bitcoin/issues/30692#issuecomment-2306364968)
> I'm not quite sure what to do.
Given that the corruption happens for any kind of index (txindex, chainstate), a hardware or software issue on your side is the most likely.
I'd try to check if the internal cable is properly attached and the connector isn't dusty or dirty. Then I'd try some stuff from https://github.com/bitcoin/bitcoin/issues/30692#issuecomment-2303908456 with some caution (Backups are generally recommended, especially if data corruption is likely).
💬 maflcko commented on pull request "test: Improve clarity of subsidy limit test":
(https://github.com/bitcoin/bitcoin/pull/30699#issuecomment-2306380034)
> > don't understand why we need to refactor the whole test
>
> Because we assume less in the test
I think this is a statement that is not trivial to check and probably not a good use of reviewers time. I haven't checked the history of the test case, but I presume it was intentionally written the way it looks now. For example, the `MoneyRange` check that you removed may or may not have been added to detect signed integer overflow, which is undefined behavior. I know that the `undefined` sa
...
(https://github.com/bitcoin/bitcoin/pull/30699#issuecomment-2306380034)
> > don't understand why we need to refactor the whole test
>
> Because we assume less in the test
I think this is a statement that is not trivial to check and probably not a good use of reviewers time. I haven't checked the history of the test case, but I presume it was intentionally written the way it looks now. For example, the `MoneyRange` check that you removed may or may not have been added to detect signed integer overflow, which is undefined behavior. I know that the `undefined` sa
...
💬 l0rinc commented on pull request "test: Improve clarity of subsidy limit test":
(https://github.com/bitcoin/bitcoin/pull/30699#issuecomment-2306402527)
> I think this is a statement that is not trivial to check
We were checking every 1000th block, now we're checking every block.
> For example, the MoneyRange check that you removed
I have added the asserts back yesterday.
(https://github.com/bitcoin/bitcoin/pull/30699#issuecomment-2306402527)
> I think this is a statement that is not trivial to check
We were checking every 1000th block, now we're checking every block.
> For example, the MoneyRange check that you removed
I have added the asserts back yesterday.
💬 maflcko commented on pull request "doc: fix 3 simple CI codespell warnings":
(https://github.com/bitcoin/bitcoin/pull/30700#issuecomment-2306438172)
The link in the pull description doesn't work, and can be removed.
Also, you don't need to duplicate the full diff in the pull description.
(https://github.com/bitcoin/bitcoin/pull/30700#issuecomment-2306438172)
The link in the pull description doesn't work, and can be removed.
Also, you don't need to duplicate the full diff in the pull description.
💬 maflcko commented on pull request "doc: fix 3 simple CI codespell warnings":
(https://github.com/bitcoin/bitcoin/pull/30700#issuecomment-2306438411)
lgtm ACK cb89c8dc6a5c3fbcc73b92f4d87433c57b6ed000
(https://github.com/bitcoin/bitcoin/pull/30700#issuecomment-2306438411)
lgtm ACK cb89c8dc6a5c3fbcc73b92f4d87433c57b6ed000
💬 TheCharlatan commented on pull request "validation: improve m_best_header tracking":
(https://github.com/bitcoin/bitcoin/pull/30666#discussion_r1728579922)
I've been looking the logic over again and think it might be a good idea to call `NotifyHeaderTip` here too. It basically tracks along `m_best_header`, but with the current code will only notify when processing the next block or header.
(https://github.com/bitcoin/bitcoin/pull/30666#discussion_r1728579922)
I've been looking the logic over again and think it might be a good idea to call `NotifyHeaderTip` here too. It basically tracks along `m_best_header`, but with the current code will only notify when processing the next block or header.
💬 sipsorcery commented on pull request "build: Introduce CMake-based build system":
(https://github.com/bitcoin/bitcoin/pull/30454#issuecomment-2306583830)
ACK 41051290ab3b6c36312cec26a27f787cea9961b4.
Tested successful builds on:
- Win11 + msvc x64 dynamic and static
- Win11 + WSL Ubuntu 24.04 + mingw32
I couldn't perform the build on Win11 + WSL + Ubuntu 20.04 as the g++-mingw toolset not available. I don't think this is a problem since it's trivial to install a newer Ubuntu version on WSL.
(https://github.com/bitcoin/bitcoin/pull/30454#issuecomment-2306583830)
ACK 41051290ab3b6c36312cec26a27f787cea9961b4.
Tested successful builds on:
- Win11 + msvc x64 dynamic and static
- Win11 + WSL Ubuntu 24.04 + mingw32
I couldn't perform the build on Win11 + WSL + Ubuntu 20.04 as the g++-mingw toolset not available. I don't think this is a problem since it's trivial to install a newer Ubuntu version on WSL.