-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial sync of blocks gets stuck #23
Comments
Update: Error seems to be from slow scanning.
|
Note: There seems to be a separate issue with the lightwallet server getting stuck on a block. This is something that needs to be investigated separately. I will poke around and then raise an issue on the lightwalletd repo. |
@gmale collected logs of the scanning process, and it's obvious from them that the slow part of scanning is here: This was a sanity check we added in #12 alongside fixing a witness-updating bug in the |
Further investigation with @ianamunoz has uncovered a related issue around handling reorgs: |
Next Step: verify that the workaround discussed with @str4d works. Also, tweak lightwalletd to handle reorgs better. Then retest. |
Update: Confirmed workaround to speed up scanning is highly effective (roughly 35X faster), making client more functional but that's rendered moot if the server continues to get stuck after reorgs. Next Step: implement re-org handling at all layers. Consider closing this issue and opening more focused ones for the remaining work. |
Issues opened for the other components of this ticket: When these three issues, zcash/lightwalletd#32, and fixing reorgs in librustzcash and lightwalletd are closed, we can close this ticket. |
Addressed in #39 |
During initialization, the
CompactBlockProcessor
sometimes gets stuck while processing compact blocks. This seems to be related to missing data on the server but the root cause is not 100% verified.We should either fix the root cause or improve the behavior so that errors are better handled.
Summary of findings:
The text was updated successfully, but these errors were encountered: