mimblewimble / grin

Minimal implementation of the Mimblewimble protocol.
https://grin.mw/
Apache License 2.0
5.04k stars 989 forks source link

node locked up during serving of txhashset to syncing peer #3247

Open antiochp opened 4 years ago

antiochp commented 4 years ago

Node appears to be locked up when serving a txhashset archive to a syncing peer. The txhashset "response" is a small message with an "attachment" containing the bytes for txhashset.zip. My understanding is this is served from a temporary file so there should be no reason for this to lock the db or the MMR backend for the duration. We do potentially lock the peers map though?

Not sure if this is a recent regression or if this has actually been happening for a while and we just never noticed.

Screen Shot 2020-02-26 at 10 06 35 AM

Probably related - https://github.com/mimblewimble/grin/issues/3218

antiochp commented 4 years ago

Looking at the "longest chain" info at the top of the TUI we do appear to be staying in sync which is interesting. The peers list is not being updated correctly (note the last seen times of 1846s etc.) This does suggest this is the peers list that is getting locked up.

antiochp commented 4 years ago

Confirmed the node does get back into a stable state once the txhashset response has completed.

antiochp commented 4 years ago
Screen Shot 2020-02-26 at 10 17 29 AM
githubusrR commented 4 years ago

When is the fix expected?

ghost commented 4 years ago

@githubusrR this functionality is being reworked for the 4.0.0 release. Buckle Up! :astronaut: