-
Notifications
You must be signed in to change notification settings - Fork 1k
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
NEO3 testnet stoppped after running for about six hours. #1084
Comments
You guys are testing everything. hauaahah Congratulations. |
I think there are two issues. The first is that the consensus stops. From the log point of view, the consensus node seems to be split into two groups, The second is that restarting the consensus node will cause a @neo-project/core Please check the first issue. |
@erikzhang, an interesting thing was that one of the recovery payloads had a I am having some difficulties for opening the logs. I just saw briefly on @superboyiii 's computer |
@superboyiii @cloud8little @erikzhang, Perhaps one of the possible errors can be seen here: [Info][17:47:20.753] send commit (C2)
[Info][17:47:20.787] OnCommitReceived: height=1326 view=2 index=2 nc=1 nf=1 (C3)
[Info][17:47:20.797] OnCommitReceived: height=1326 view=2 index=0 nc=2 nf=1 (C1)
[Info][17:47:20.825] OnCommitReceived: height=1326 view=2 index=6 nc=2 nf=1 (C7)
[Info][17:47:20.837] OnCommitReceived: height=1326 view=2 index=5 nc=3 nf=1 (C6)
[Info][17:47:20.925] OnCommitReceived: height=1326 view=2 index=0 nc=3 nf=1
[Info][17:47:21.040] OnCommitReceived: height=1326 view=2 index=5 nc=3 nf=1
[Info][17:47:21.041] OnPrepareResponseReceived: height=1326 view=2 index=4
[Info][17:47:21.092] OnCommitReceived: height=1326 view=2 index=4 nc=3 nf=1 (C5) Take a look at this, we already have 6 commits! aheuahuea For some reason the neo/neo/Consensus/ConsensusService.cs Lines 229 to 238 in 1a39203
There is something really strange going on, the logs also keep processing the commit payloads... We should improve the logs. |
Since the ref ConsensusPayload existingCommitPayload = ref context.CommitPayloads[payload.ValidatorIndex];
if (existingCommitPayload != null)
{
if (existingCommitPayload.Hash != payload.Hash)
Log($"{nameof(OnCommitReceived)}: different commit from validator! height={payload.BlockIndex} index={payload.ValidatorIndex} view={commit.ViewNumber} existingView={existingCommitPayload.ConsensusMessage.ViewNumber}", LogLevel.Warning);
return;
} For some reason the payloads are not being stored. |
Also i can't find any |
@shargon Owen means index=3, which actually is this node 2019-09-03(c4).log. |
How many seconds between blocks? |
@shargon 15secs |
@superboyiii both issues? |
Yes, both. |
And do you know why this happens? |
@superboyiii how can we ensure this has been solved? Are there steps we can follow to reproduce this error? Can it be reproduced using unit tests? |
It has been fixed, I think. The cause of this bug has been found. |
Describe the bug
Running NEO3 testnet for about 6 hours, CN3(index=3) node hadn't open wallet so that every 7 blocks when CN3 is primary, recovery will be sent and then CN2(index=2) will be the Primary to generate block and go on. However, there's a time when Primary is turn to CN2 from CN3, because of something unknown, CN2 is time out then view changed to CN3 again. After that, there're always recovery message received and view hasn't changed anymore. The next day, when we restart all consensus nodes, it returns
null
Payloads on neo\neo\Consensus\ConsensusService.cs:line 149To Reproduce
Steps to reproduce the behavior:
Expected behavior
Private net was broken...
Screenshots
Platform:
2019-09-02(c1).log
2019-09-03(c1).log
2019-09-02(c2).log
2019-09-03(c2).log
2019-09-02(c3).log
2019-09-03(c3).log
The issue block is on 1326
The text was updated successfully, but these errors were encountered: