libplanet icon indicating copy to clipboard operation
libplanet copied to clipboard

Investigate for `ConsumeBlockCandidates()` crashes

Open longfin opened this issue 2 years ago • 3 comments

Note: we already fixed ConsumeBlockCandidates() crash on 0.46.1, but couldn't pinpoint the cause. So I'm leaving an issue for investigation and follow-up.

  1. On BlockCandidateDownload(), BlockCandidateTable.Add() is called for blocks, fetched by GetBlockAsync(). https://github.com/planetarium/libplanet/blob/ed9ee092c883ba93365316ea520f7da624646932/Libplanet.Net/Swarm.BlockCandidate.cs#L383-L389

  2. GetBlocksAsync() simply returns empty enumeration when has been timeouted. https://github.com/planetarium/libplanet/blob/ed9ee092c883ba93365316ea520f7da624646932/Libplanet.Net/Swarm.cs#L819-L822

As far as checked, I've been able to find timeout exceptions on almost every node that had crashed.

longfin avatar Feb 15 '23 13:02 longfin

In other logs around the time the symptom occurred, it was found that the NetMQRuntime has been blocked causing a delay of several seconds. I'll cover it as a separate issue.

longfin avatar Feb 15 '23 13:02 longfin

I opened #2817 to address blockings during hostname resolution.

longfin avatar Feb 15 '23 16:02 longfin

This issue has been automatically marked as stale because it has not had recent activity. Thank you for your contributions.

stale[bot] avatar May 22 '23 00:05 stale[bot]