Skip to content
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

Improve: verifyVoteAttestation & Snapshot recursive call #85

Closed
setunapo opened this issue May 18, 2023 · 0 comments
Closed

Improve: verifyVoteAttestation & Snapshot recursive call #85

setunapo opened this issue May 18, 2023 · 0 comments
Assignees

Comments

@setunapo
Copy link
Collaborator

Rational

After plato, verifyVoteAttestation will call snapshot, it results a very deep recursive call.
Need to check, if it is reasonable and fix if needed.

Post the call stack here:

 0  0x0000000001538910 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:705
 1  0x0000000001540be0 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).GetJustifiedNumberAndHash
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:1607
 2  0x0000000001536ae0 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:447
 3  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
 4  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
 5  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
 6  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
 7  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
 8  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
 9  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
10  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
11  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
12  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
13  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
14  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
15  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
16  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
17  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
18  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
19  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
20  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
21  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
22  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
23  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
24  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
25  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
26  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462
27  0x00000000015391b4 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).snapshot
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:791
28  0x0000000001536c44 in github.com/ledgerwatch/erigon/consensus/parlia.(*Parlia).verifyVoteAttestation
    at github.com/ledgerwatch/erigon/consensus/parlia/parlia.go:462

Implementation

NA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants