-
Notifications
You must be signed in to change notification settings - Fork 144
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
SyncSubmitBlock #4245
Comments
Hi! Unfortunately, seems like the chain head still doesn't get updated. I'm not sure why. I've set tracing to The commit hash from which Forest was built for testing is Tested using custom miner that is tested against Lotus and works on the same devnet on the Lotus node. |
@alt-ivan how do I reproduce this? |
Hi Roman, I don't currently have a great method of reproducing to share. I tried quickly jury-rigging Here's the RPC sequence used by the custom miner:
The only change I made is to hard-code I have also manually run each of these against both Lotus/Forest synced to the same tipset/head and all RPCs listed here return identical responses on both Forest and Lotus nodes for the same inputs. If you would find it helpful, I can share the request/response for each of these as well. Edit:
These should be enough for manual testing if you have Forest/Lotus synced to the same head. I suppose you could at that point take |
@alt-ivan With the sequence above - how can we be sure that the head is never set? Bear in mind that the way this works in |
This does not seem to exist anymore, could you try the latest Edit: I have double checked the files there and it seems correct. |
Seems like I didn't save them after all 🤦 ... I'll redo the sequence and send the requests/responses. Sorry for the delay.
Calling
I figured as much when looking at the codebase. I only stepped through the |
Please do! |
That is helpful, let me check.. |
@alt-ivan in fact Lines 301 to 304 in 4a6ad5c
So you can basically check the CIDs of For further debugging:
|
I tried to adapt lotus-miner so I could give you easy steps to reproduce (to stop at Some new interesting info:
When I connect Forest/Lotus and execute When I don't connect Forest/Lotus and execute
I added tracing into these locations and nothing happens. Doing some more eye-level examination I saw this: fn follow(&self, tipset_opt: Option<FullTipset>) -> ChainMuxerFuture<(), ChainMuxerError> {
// Instantiate a TipsetProcessor But in devnet it seems that Forest never enters follow mode #3089 This may also explain other sync issues with Lotus in devnet i.e. Forest often doesn't sync fully with Lotus with similar "symptoms" (ChainHead returns earlier tipset but later one exists in store) |
@alt-ivan Thanks a lot for looking into this, no it starts to make a lot of sense!
That's probably due to the fact that the actual network send works, but the
You are correct, it seems it never does. Good spot! And logically you can submit a block if the node is never "in sync". I guess we'll have to deal with it to fix this. |
@ruseinov |
@ruseinov Couple of notes:
|
Nice!
Gotta investigate. Would be great to have a semi-automated reproducible case. |
The block submission to the swarm is done.
The sanity checks are not, as this requires introducing some extra abstractions and infra.
The text was updated successfully, but these errors were encountered: