💬 wonder75 commented on issue "LevelDB read failure: Corruption: block checksum mismatch":
(https://github.com/bitcoin/bitcoin/issues/30159#issuecomment-2430050545)
> I haven't seen any data corruption since Sept 12, so at this point I can't really give you any information to duplicate the problem.
>
Hallo @apulsifer,
could you please provide information on how to fix this problem when it occurs? I suffer from frequent levelDB corruptions too and found no way to fix the problem other than redoing the Initial Block Download. After that it might work for a week or a month until the next corruption. Would really like to know a way to manuly fix this issu
...
(https://github.com/bitcoin/bitcoin/issues/30159#issuecomment-2430050545)
> I haven't seen any data corruption since Sept 12, so at this point I can't really give you any information to duplicate the problem.
>
Hallo @apulsifer,
could you please provide information on how to fix this problem when it occurs? I suffer from frequent levelDB corruptions too and found no way to fix the problem other than redoing the Initial Block Download. After that it might work for a week or a month until the next corruption. Would really like to know a way to manuly fix this issu
...
💬 apulsifer commented on issue "LevelDB read failure: Corruption: block checksum mismatch":
(https://github.com/bitcoin/bitcoin/issues/30159#issuecomment-2430072059)
I'm running on Amazon EC2 (Elastic Compute), and have multiple servers running bitcoind. The servers all have the bitcoin data directory stored on a dedicated EBS (Elastic Block Store) volume. If one fails, I have been snapshot'ing the volume on a working server and copying it over to the failed server. Time to repair is about 30 minutes. (Reindex also does not work for me, but I'm running pruned mode, and reindex is documented to not work in prune mode.)
The only thing I could suggest for yo
...
(https://github.com/bitcoin/bitcoin/issues/30159#issuecomment-2430072059)
I'm running on Amazon EC2 (Elastic Compute), and have multiple servers running bitcoind. The servers all have the bitcoin data directory stored on a dedicated EBS (Elastic Block Store) volume. If one fails, I have been snapshot'ing the volume on a working server and copying it over to the failed server. Time to repair is about 30 minutes. (Reindex also does not work for me, but I'm running pruned mode, and reindex is documented to not work in prune mode.)
The only thing I could suggest for yo
...
💬 instagibbs commented on pull request "Package validation: accept packages of size 1":
(https://github.com/bitcoin/bitcoin/pull/31096#discussion_r1811269497)
done
(https://github.com/bitcoin/bitcoin/pull/31096#discussion_r1811269497)
done
💬 instagibbs commented on pull request "Package validation: accept packages of size 1":
(https://github.com/bitcoin/bitcoin/pull/31096#discussion_r1811270698)
hmm, it's a fair bit of code difference because we essentially need to get `BroadcastTransaction` grafted into place, then also return the proper `PackageMempoolAcceptResult` details vs the coarse details returned by it. My attempt required quite a bit of churn and additional testing required for a small feature like this, so I'm keeping as-is.
I'm also thinking now that gating the call via `package-not-child-with-unconfirmed-parents` check is the right thing to do. The further we stray from
...
(https://github.com/bitcoin/bitcoin/pull/31096#discussion_r1811270698)
hmm, it's a fair bit of code difference because we essentially need to get `BroadcastTransaction` grafted into place, then also return the proper `PackageMempoolAcceptResult` details vs the coarse details returned by it. My attempt required quite a bit of churn and additional testing required for a small feature like this, so I'm keeping as-is.
I'm also thinking now that gating the call via `package-not-child-with-unconfirmed-parents` check is the right thing to do. The further we stray from
...
💬 apulsifer commented on issue "LevelDB read failure: Corruption: block checksum mismatch":
(https://github.com/bitcoin/bitcoin/issues/30159#issuecomment-2430081120)
Suggestion for bitcoind code maintainers-- As I've mentioned, I believe this data corruption happens but is not detected until a few days later when bitcoind attempts to read an older block (for whatever reason, idk). It would be very handy if there were some utility or bitcoind RPC command or command line option that read and checked every file on the disk, or all the files containing data from the prior X days or X blocks. That would help users ensure that they have a known good copy/backup of
...
(https://github.com/bitcoin/bitcoin/issues/30159#issuecomment-2430081120)
Suggestion for bitcoind code maintainers-- As I've mentioned, I believe this data corruption happens but is not detected until a few days later when bitcoind attempts to read an older block (for whatever reason, idk). It would be very handy if there were some utility or bitcoind RPC command or command line option that read and checked every file on the disk, or all the files containing data from the prior X days or X blocks. That would help users ensure that they have a known good copy/backup of
...
💬 sipa commented on issue "LevelDB read failure: Corruption: block checksum mismatch":
(https://github.com/bitcoin/bitcoin/issues/30159#issuecomment-2430085267)
`gettxoutsetinfo` should read through all the chainstate LevelDB files.
(https://github.com/bitcoin/bitcoin/issues/30159#issuecomment-2430085267)
`gettxoutsetinfo` should read through all the chainstate LevelDB files.
💬 syaifulnizamiphone7 commented on pull request "RFC: build: support for pre-compiled headers.":
(https://github.com/bitcoin/bitcoin/pull/31053#issuecomment-2430102161)
> The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
>
> ### Code Coverage
> For detailed information about the code coverage, see the [test coverage report](https://corecheck.dev/bitcoin/bitcoin/pulls/31053).
>
> ### Reviews
> See [the guideline](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md#code-review) for information on the review process.
>
> Type Reviewers
> Concept ACK [TheCharlatan](https://github.com/bi
...
(https://github.com/bitcoin/bitcoin/pull/31053#issuecomment-2430102161)
> The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
>
> ### Code Coverage
> For detailed information about the code coverage, see the [test coverage report](https://corecheck.dev/bitcoin/bitcoin/pulls/31053).
>
> ### Reviews
> See [the guideline](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md#code-review) for information on the review process.
>
> Type Reviewers
> Concept ACK [TheCharlatan](https://github.com/bi
...
⚠️ mzumsande opened an issue: "Remove BIP94 from regtest"
(https://github.com/bitcoin/bitcoin/issues/31137)
[BIP94](https://github.com/bitcoin/bips/blob/master/bip-0094.mediawiki) which, amongst others, fixes the timewarp attack on testnet4, has been activated on regtest by #30681 (commit https://github.com/bitcoin/bitcoin/pull/30681/commits/e85f386c4b157b7d1ac16aface9bd2c614e62b46), in order to allow having a functional test for the new testnet4 behavior.
As I argued in https://github.com/bitcoin/bitcoin/pull/30681#pullrequestreview-2275751672 I believe that regtest's main task is to test mainnet
...
(https://github.com/bitcoin/bitcoin/issues/31137)
[BIP94](https://github.com/bitcoin/bips/blob/master/bip-0094.mediawiki) which, amongst others, fixes the timewarp attack on testnet4, has been activated on regtest by #30681 (commit https://github.com/bitcoin/bitcoin/pull/30681/commits/e85f386c4b157b7d1ac16aface9bd2c614e62b46), in order to allow having a functional test for the new testnet4 behavior.
As I argued in https://github.com/bitcoin/bitcoin/pull/30681#pullrequestreview-2275751672 I believe that regtest's main task is to test mainnet
...
💬 mzumsande commented on pull request "Have miner account for timewarp mitigation, activate on regtest, lower nPowTargetTimespan to 144 and add test":
(https://github.com/bitcoin/bitcoin/pull/30681#issuecomment-2430181845)
Forgot about this until last week - I opened issue #31137 to continue discussion.
(https://github.com/bitcoin/bitcoin/pull/30681#issuecomment-2430181845)
Forgot about this until last week - I opened issue #31137 to continue discussion.
👋 jonatack's pull request is ready for review: "rpc, cli: return "verificationprogress" of 1 when up to date"
(https://github.com/bitcoin/bitcoin/pull/31135)
(https://github.com/bitcoin/bitcoin/pull/31135)
👍 hodlinator approved a pull request: "fees: Remove CLIENT_VERSION serialization"
(https://github.com/bitcoin/bitcoin/pull/29702#pullrequestreview-2386255699)
ACK fa8bd0be8432fda3c7312050433a6deb6722a073
Have a slight preference for the commit removing CLIENT_VERSION and the commit introducing CURRENT_FEES_FILE_VERSION being one and the same in order to give a more complete picture of the change.
Used hexdump to inspect old *~/.bitcoin/regtest/fee_estimates.dat* and *~/.bitcoin/fee_estimates.dat* files, confirming that the first two little-endian integers correspond to the *minimum required version* and *CLIENT_VERSION* (version that wrote).
...
(https://github.com/bitcoin/bitcoin/pull/29702#pullrequestreview-2386255699)
ACK fa8bd0be8432fda3c7312050433a6deb6722a073
Have a slight preference for the commit removing CLIENT_VERSION and the commit introducing CURRENT_FEES_FILE_VERSION being one and the same in order to give a more complete picture of the change.
Used hexdump to inspect old *~/.bitcoin/regtest/fee_estimates.dat* and *~/.bitcoin/fee_estimates.dat* files, confirming that the first two little-endian integers correspond to the *minimum required version* and *CLIENT_VERSION* (version that wrote).
...
💬 hodlinator commented on pull request "fees: Remove CLIENT_VERSION serialization":
(https://github.com/bitcoin/bitcoin/pull/29702#discussion_r1811355454)
Yes, in case it somehow gets corrupted or modified by an entirely different software, that makes sense.
Appreciated if you re-touch.
(https://github.com/bitcoin/bitcoin/pull/29702#discussion_r1811355454)
Yes, in case it somehow gets corrupted or modified by an entirely different software, that makes sense.
Appreciated if you re-touch.
💬 hodlinator commented on issue "Windows Python: Intermittent issue in p2p_unrequested_blocks.py", line 98, in run_test test_node.send_and_ping(msg_block(blocks_h2[0])) assert self.is_connected AssertionError / AcceptBlock FAILED (time-too-old, block's timestamp is too early) ":
(https://github.com/bitcoin/bitcoin/issues/29897#issuecomment-2430401806)
Encountered here: https://github.com/hodlinator/bitcoin/actions/runs/11460619753/job/31887736863#step:12:590
(Still running on a base of 84cd6478c422bc296589ab031f5c76e7bab2704d from 16 September though).
(https://github.com/bitcoin/bitcoin/issues/29897#issuecomment-2430401806)
Encountered here: https://github.com/hodlinator/bitcoin/actions/runs/11460619753/job/31887736863#step:12:590
(Still running on a base of 84cd6478c422bc296589ab031f5c76e7bab2704d from 16 September though).
💬 theStack commented on pull request "Drop miniupnp dependency":
(https://github.com/bitcoin/bitcoin/pull/31130#issuecomment-2430509479)
Concept ACK
(https://github.com/bitcoin/bitcoin/pull/31130#issuecomment-2430509479)
Concept ACK
👍 tdb3 approved a pull request: "test: extend the SOCKS5 Python proxy to actually connect to a destination"
(https://github.com/bitcoin/bitcoin/pull/29420#pullrequestreview-2380545052)
CR and test ACK 57529ac4dbb2721c1ad0a3566f0299dbdb5ca5c0
Checked with a hackie little sanity test where a connection was made to the proxy on 127.0.0.1:10000 (set up to detour to 127.0.0.1:10001). A small echo server listened on 10001 (echoing back "testack"). The new detouring functionality of the proxy seemed to work as expected.
<details>
<summary>hackie test</summary>
```diff
diff --git a/test/functional/feature_framework_unit_tests.py b/test/functional/feature_framework_unit_te
...
(https://github.com/bitcoin/bitcoin/pull/29420#pullrequestreview-2380545052)
CR and test ACK 57529ac4dbb2721c1ad0a3566f0299dbdb5ca5c0
Checked with a hackie little sanity test where a connection was made to the proxy on 127.0.0.1:10000 (set up to detour to 127.0.0.1:10001). A small echo server listened on 10001 (echoing back "testack"). The new detouring functionality of the proxy seemed to work as expected.
<details>
<summary>hackie test</summary>
```diff
diff --git a/test/functional/feature_framework_unit_tests.py b/test/functional/feature_framework_unit_te
...
💬 tdb3 commented on pull request "test: extend the SOCKS5 Python proxy to actually connect to a destination":
(https://github.com/bitcoin/bitcoin/pull/29420#discussion_r1807873344)
non-blocking femto nit: If this file is touched again, could add a trailing comma to prevent the line from being changed if another import from netutil is needed.
(https://github.com/bitcoin/bitcoin/pull/29420#discussion_r1807873344)
non-blocking femto nit: If this file is touched again, could add a trailing comma to prevent the line from being changed if another import from netutil is needed.
👍 rkrux approved a pull request: "rpc: getorphantxs follow-up"
(https://github.com/bitcoin/bitcoin/pull/31043#pullrequestreview-2387132611)
tACK ae17f9050e0c2a6fd31cd9f5d2f3ad8066f02cc9
Successful make and functional tests. Pretty straightforward PR; I agree with @instagibbs's suggestion to keep the variable name in functional test same as in the CPP code.
(https://github.com/bitcoin/bitcoin/pull/31043#pullrequestreview-2387132611)
tACK ae17f9050e0c2a6fd31cd9f5d2f3ad8066f02cc9
Successful make and functional tests. Pretty straightforward PR; I agree with @instagibbs's suggestion to keep the variable name in functional test same as in the CPP code.
👍 rkrux approved a pull request: "test: Assert that when we add the max orphan amount that we cannot add anymore and that a random orphan gets dropped"
(https://github.com/bitcoin/bitcoin/pull/31040#pullrequestreview-2387408321)
tACK bf46723537c37cb1ee7f84ffe7b75c253beadb89
Successful make and functional tests.
(https://github.com/bitcoin/bitcoin/pull/31040#pullrequestreview-2387408321)
tACK bf46723537c37cb1ee7f84ffe7b75c253beadb89
Successful make and functional tests.
💬 rkrux commented on pull request "test: Assert that when we add the max orphan amount that we cannot add anymore and that a random orphan gets dropped":
(https://github.com/bitcoin/bitcoin/pull/31040#discussion_r1811959750)
Let's keep the same name in the functional test for uniformity and easy reference?
https://github.com/bitcoin/bitcoin/blob/master/src/net_processing.h#L27
(https://github.com/bitcoin/bitcoin/pull/31040#discussion_r1811959750)
Let's keep the same name in the functional test for uniformity and easy reference?
https://github.com/bitcoin/bitcoin/blob/master/src/net_processing.h#L27
💬 hodlinator commented on pull request "tinyformat: refactor: increase compile-time checks and don't throw for tfm::format_error":
(https://github.com/bitcoin/bitcoin/pull/30928#issuecomment-2431257072)
Worth bringing back the `try`/`catch` in *src/test/fuzz/strprintf.cpp* for Debug builds?
```
₿ cmake --preset=libfuzzer -DCMAKE_BUILD_TYPE=Debug
...
₿ cmake --build build_fuzz -j<X>
...
₿ FUZZ=str_printf build_fuzz/src/test/fuzz/fuzz ../qa-assets/fuzz_seed_corpus/str_printf/
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 734467281
INFO: Loaded 1 modules (1292656 inline 8-bit counters): 1292656 [0x5d5503ee60a0, 0x5d5504021a10),
INFO: Loaded 1 PC tables (1292656 P
...
(https://github.com/bitcoin/bitcoin/pull/30928#issuecomment-2431257072)
Worth bringing back the `try`/`catch` in *src/test/fuzz/strprintf.cpp* for Debug builds?
```
₿ cmake --preset=libfuzzer -DCMAKE_BUILD_TYPE=Debug
...
₿ cmake --build build_fuzz -j<X>
...
₿ FUZZ=str_printf build_fuzz/src/test/fuzz/fuzz ../qa-assets/fuzz_seed_corpus/str_printf/
INFO: Running with entropic power schedule (0xFF, 100).
INFO: Seed: 734467281
INFO: Loaded 1 modules (1292656 inline 8-bit counters): 1292656 [0x5d5503ee60a0, 0x5d5504021a10),
INFO: Loaded 1 PC tables (1292656 P
...