-
Notifications
You must be signed in to change notification settings - Fork 62
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
Won't sync past block 516599 #268
Comments
You can download snapshot from https://download.xinfin.network/xdcchain.tar, then synchronize chain from snapshot. |
Hi @gzliudan thanks for suggesting a workaround, however this yields a very similar error:
So now it crashes at block 59174100 validated by xdce865a5b2bf699a4b498de8a8c55da14bb0d94b21 despite the masternode set obtained at 59173650 containing that very validator (see in above logs). |
Have you deleted old data before synchronize chain from snapshot ? What's your OS and golang version ? |
Yes, all data was wiped out prior to synchronizing from the snapshot data. Following is the OS & golang version information
|
Maybe the snapshot file should be updated. You can use golang v1.20.4 since there is panic error in your log. |
Hi @gzliudan, Thank you for your swift response and your suggestion to update my golang version. I appreciate your input and your expertise in this matter. Before I proceed, I wanted to understand better. Could you please clarify how an update in the Golang version could potentially affect the validation issue that I'm currently experiencing? I ask because I have a colleague who is successfully running the node on go version go1.18.8 windows/amd64 without encountering this problem. To my understanding, the current issue seems to be rooted in a masternode list mismatch at block 516600 and again at 59174100, which isn't inherently connected to the Golang version. I strongly believe that the primary issue is with the validation checks rather than a particular version of Golang. However, if you can provide a solid explanation of how the Go version could influence this validation issue, I am more than willing to go ahead with your suggestion. I am keen to resolve this issue as swiftly as possible. Thank you once again for your assistance and I look forward to your response. |
In addition to the above, I am curious if you were able to follow the reproduction steps I provided and not encounter the issue on your end. If so, could you please share any different steps you took or any specific modifications you made in your setup? I'm particularly interested to see if updating the bootnodes list has resolved the issue for you. Understanding your process could be incredibly helpful in pinpointing where the discrepancy lies between our respective nodes. |
I am researching how to update the signer list also. This issue is same with XinFinOrg/Local_DPoS_Setup#16. The other problem in your second report is panic:
The panic is not related to synchronization. I guess it was caused by golang version. It is worth to test with another version of compiler. I will get a new VM to test your problem tomorrow. |
The go 1.19 has 9 minor revisions. Are you using v1.19.9 now ?
|
Hi @gzliudan just tried latest go version this morning and still facing the same issue with go1.20.4. I've recorded the entire reproduction steps as a video and shared privately a youtube link to your @qq.com email in case that helps.
|
I'm testing your problems now. |
Sorry, I didn't receive your e-mail. I checked my mail box [email protected] just now. |
I guess the youtube sharing didn't work, just sent you an email with the link. Hopefully you get it now. Cheers ! |
Received your email now. According to your steps in first report, the error messages are as below. There is a panic message already.
|
Hi @gzliudan, From your recent logs, it's clear that you've managed to successfully reproduce the issue. This is reassuring on one hand, as it confirms that it's not an isolated problem. However, on the other hand, it's quite concerning given that this is preventing individuals from initiating nodes, which in turn could significantly impact the network's operation. In light of these findings, could I kindly request you to escalate this matter within your team? This will hopefully ensure that it receives the necessary priority for swift resolution. Many of us are keenly awaiting the opportunity to start nodes and contribute to the vitality of the network. Thank you for your unwavering commitment and support in addressing these issues. |
According to my debug work today, this line https://github.com/XinFinOrg/XDPoSChain/blob/master/consensus/XDPoS/engines/engine_v1/engine.go#L263 cause panic problem:
|
Hi @gzliudan, any news on this please ? I am free in the coming days to test any changes. |
I‘m testing a solution now. If it works fine, I will push codes to you tomorrow. |
I am still testing the solution now. It may take 1-2 weeks. You can try this temporary fix https://github.com/gzliudan/XDPoSChain/tree/fix-issue-268 if you're in a hurry. |
Hey @gzliudan thanks for coming back on this. Just checked out the branch and while the panic is no longer happening the issue is still present in terms of masternodes mismatch which is blocking the sync from progressing past block 516600. See the logs below
Is that not the case on your end ? |
Please remove your data dir ./build/bin/XDC --datadir /home/me/.xinfin --gcmode archive --syncmode full --networkid 50 --etherbase 0x000000000000000000000000000000000000dead The default value of parameter |
Awesome thanks for the above instructions, I can now confirm I am now synced past block 516600 (more precisely currently at 1076850). Thank you ! |
I updated my fix: https://github.com/gzliudan/XDPoSChain/tree/fix-issue-268. Please add flag ./build/bin/XDC \
--datadir /home/me/.xinfin \
--networkid 50 \
--etherbase 0x000000000000000000000000000000000000dead \
--gcmode archive \
--syncmode full \
--skip-signers I'm testing this new fix now. I'll submit PR if no problem. |
Based on my recent study and tests, this issue occurs when we use golang v1.19 and above version. There is no such problem when I use golang under v1.19, such as v1.18.10. But the golang v1.14.15 is suggested since it is the version of most nodes. You can use the master or dev-upgrade code branch. |
This problem has been solved since xdc chain support golang v1.21 now. |
XDPosChain sync from scratch appears to be impossible at the moment due to masternode list mismatch at block 516600. This is the fourth time I am wiping & re-initializing the datadir from genesis and the error always arises on the same block. Note that up until block 516599 everything syncs fine and I have ensured that I am not syncing on a fork since the block hash is 0xa8731de5cf570a51305ab1df5dd84ad488b794179b7d2f80982d3c9d6227b91a.
Steps to reproduce:
Error:
The text was updated successfully, but these errors were encountered: