Comments (5)
@AArnott thanks very much for the report. Is there any chance that you can provide the contents of the scan queue (along with the current range being scanned) at the time that you encounter this error?
from librustzcash.
zcash/incrementalmerkletree#107 removes the assertion that is at fault here, and improves the distinction between pruned nodes and inserted nodes. A librustzcash PR will follow from this, but the shardtree
change should be sufficient to work around your problem. @AArnott can you try it out?
from librustzcash.
Yes, I can confirm the panic goes away with that shardtree change.
from librustzcash.
scan range at time of panic: 2516985..2523970
block_range_start | block_range_end | priority |
---|---|---|
419200 | 2224314 | 0 |
2224314 | 2516985 | 20 |
2516985 | 2546643 | 50 |
from librustzcash.
The summary here is that the assertion that was added in conjunction with the previous bugfix was testing a flaky condition that doesn't work correctly with how subtree roots were previously being inserted. #1439 will change librustzcash to change how it does subtree root insertion to add a semantic distinction between fully-scanned-and-pruned subtree roots and inserted subtree roots, but I don't think it will be a good idea to reintroduce the assertion irrespective of this change.
from librustzcash.
Related Issues (20)
- Enumerate data that the indexer needs to cache / compute / expose that will be consumed by the scanner or wallet HOT 1
- zcash_client_backend: Introduce "chain access API" to the sync engine HOT 1
- Refactor `AccountBalance` to use `Balance` for transparent funds
- Migrate test framework from `zcash_client_sqlite` to `zcash_client_backend`
- `zcash_client_*`: Fix bug where transparent funds can't be shielded before the normal confirmation depth HOT 1
- zcash_client_backend: Create the framework for an in-memory wallet backend
- zcash_client_backend: Implement internals of in-memory wallet by migrating tests from `zcash_client_sqlite`
- zcash_client_backend: Add Arti-based Tor client for fetching USD/ZEC exchange rates
- zcash_client_backend 0.14.0
- zcash_client_sqlite 0.12.0
- `zcash_client_backend`: Avoid writing to `src` dir in `build.rs` HOT 3
- Add `zcash_primitives::legacy::Script::serialized_size`
- zcash_client_sqlite wallet will never expire outputs from a tx that has no expiry height, even if it cannot be mined HOT 1
- Add a test for correct calculation of ZIP 317 total output size for mixtures of P2PKH and P2SH outputs
- Ensure symmetry of transparent output handling between `put_blocks`, `store_decrypted_tx` and `store_sent_tx` HOT 1
- Don't create new `WalletDb` wrappers outside `WalletDb::transactionally`: take `&mut WalletDb<SqlTransaction<'_>, P>` as argument instead HOT 1
- Adding a second account with an older birthday height effectively changes height for existing account HOT 2
- zcash_address::kind::unified::address::Address::can_receive_memo does not account for whether Orchard is disabled HOT 1
- Handling of change memos imposes artificial constraints HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from librustzcash.