💬 Ataraxia009 commented on pull request "Adding alert for failure to prevent dead-end user crash":
(https://github.com/bitcoin/bitcoin/pull/33127#discussion_r2249504661)
The alert doesn't terminate the app. We need the assert there for termination.
(https://github.com/bitcoin/bitcoin/pull/33127#discussion_r2249504661)
The alert doesn't terminate the app. We need the assert there for termination.
💬 Ataraxia009 commented on pull request "Adding alert for failure to prevent dead-end user crash":
(https://github.com/bitcoin/bitcoin/pull/33127#discussion_r2249504887)
We need to terminate the app after the alert. Keeping it going to lead to unsafe behaviour given that the data is corrupt.
(https://github.com/bitcoin/bitcoin/pull/33127#discussion_r2249504887)
We need to terminate the app after the alert. Keeping it going to lead to unsafe behaviour given that the data is corrupt.
💬 Ataraxia009 commented on pull request "Adding alert for failure to prevent dead-end user crash":
(https://github.com/bitcoin/bitcoin/pull/33127#discussion_r2249505556)
I agree this is a bad experience for non technical users.
But it seems like this is the standard right now in the code, to give this kind of alert on the code base (ie tell the the user to reindex instead of a direct action button)
If there is somewhere that actually has a button that reindexes, show me, I'll use it. If not, adding this functionality is work for another pull request.
(https://github.com/bitcoin/bitcoin/pull/33127#discussion_r2249505556)
I agree this is a bad experience for non technical users.
But it seems like this is the standard right now in the code, to give this kind of alert on the code base (ie tell the the user to reindex instead of a direct action button)
If there is somewhere that actually has a button that reindexes, show me, I'll use it. If not, adding this functionality is work for another pull request.
💬 Ataraxia009 commented on pull request "Allowing multi client support in guix-build":
(https://github.com/bitcoin/bitcoin/pull/33126#discussion_r2249554357)
Yeah thats better, is there a way to pipe it now? @luke-jr
(https://github.com/bitcoin/bitcoin/pull/33126#discussion_r2249554357)
Yeah thats better, is there a way to pipe it now? @luke-jr
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249608455)
You're right, thanks - removed the unneeded code and renamed `tip` to `block_index`.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249608455)
You're right, thanks - removed the unneeded code and renamed `tip` to `block_index`.
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617802)
Removed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617802)
Removed.
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617820)
Good catch, thanks!
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617820)
Good catch, thanks!
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617848)
Thanks - renamed to `tx_count`.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617848)
Thanks - renamed to `tx_count`.
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617854)
Thanks - fixed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617854)
Thanks - fixed.
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617938)
Thanks - renamed to `row`.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249617938)
Thanks - renamed to `row`.
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618007)
Thanks - fixed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618007)
Thanks - fixed.
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618092)
Good catch - fixed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618092)
Good catch - fixed.
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618203)
Removed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618203)
Removed.
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618256)
Thanks - fixed.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618256)
Thanks - fixed.
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618312)
Thanks - moved into `LocationsIndex::CustomAppend()`.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618312)
Thanks - moved into `LocationsIndex::CustomAppend()`.
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618367)
Thanks - removed.
> Was this supposed to be used to skip forward in the stream instead of deserializing the header?
Yes, but now it's not needed here.
(https://github.com/bitcoin/bitcoin/pull/32541#discussion_r2249618367)
Thanks - removed.
> Was this supposed to be used to skip forward in the stream instead of deserializing the header?
Yes, but now it's not needed here.
💬 romanz commented on pull request "index: store per-block transaction locations for efficient lookups":
(https://github.com/bitcoin/bitcoin/pull/32541#issuecomment-3148142648)
Thanks for the review!
Applied the comments: [`1b928f5 -> b2a22ce`](https://github.com/bitcoin/bitcoin/compare/1b928f58fc78f4727cef988902075abc05c372b2..b2a22ce33dc69697181547fa1e83bd0ed3321565)
(https://github.com/bitcoin/bitcoin/pull/32541#issuecomment-3148142648)
Thanks for the review!
Applied the comments: [`1b928f5 -> b2a22ce`](https://github.com/bitcoin/bitcoin/compare/1b928f58fc78f4727cef988902075abc05c372b2..b2a22ce33dc69697181547fa1e83bd0ed3321565)
✅ fanquake closed an issue: "intermittent issue in wallet_sendall.py", line 440, in sendall_anti_fee_sniping assert_greater_than(tx_from_wallet["decoded"]["locktime"], tx_from_wallet["blockheight"]"
(https://github.com/bitcoin/bitcoin/issues/33114)
(https://github.com/bitcoin/bitcoin/issues/33114)
🚀 fanquake merged a pull request: "test: fix anti-fee-sniping off-by-one error"
(https://github.com/bitcoin/bitcoin/pull/33118)
(https://github.com/bitcoin/bitcoin/pull/33118)
⚠️ nervana21 opened an issue: "Crash when chain tip is missing from candidate set"
(https://github.com/bitcoin/bitcoin/issues/33129)
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Current behaviour
`setBlockIndexCandidates` can become empty if the chain tip is not included in the set, which violates an internal invariant and leads to a crash during `FindMostWorkChain()`. This issue and potential solutions were originally surfaced by ataraxia009 in #33127.
### Expected behaviour
After pruning, the active tip must be present in the candidate set. No crash should occur in `FindMostWor
...
(https://github.com/bitcoin/bitcoin/issues/33129)
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Current behaviour
`setBlockIndexCandidates` can become empty if the chain tip is not included in the set, which violates an internal invariant and leads to a crash during `FindMostWorkChain()`. This issue and potential solutions were originally surfaced by ataraxia009 in #33127.
### Expected behaviour
After pruning, the active tip must be present in the candidate set. No crash should occur in `FindMostWor
...