Skip to content
This repository has been archived by the owner on Sep 5, 2020. It is now read-only.

Node info breaks on slow IPC connection #2955

Merged
merged 1 commit into from
Oct 21, 2017

Conversation

skubakdj
Copy link
Contributor

Geetings Mist team!

I'm working on Mewify for MyEtherWallet. It emulates a local Geth IPC connection which allows users to run Mist with our public backend instead of syncing a full node.

I'm having trouble getting Mist to boot up correctly when connected through Mewify -- it seems as if the data provided by EthBlocks.init() doesn't get returned, and as a result the node info display remains broken for the life of the application. This occurs whenever there is sufficient latency (as little as 50ms) in the round-trip time from client IPC request to server response.

AFAICT, Mist will create an IPC socket on boot, and then 'reset' that socket shortly after. The pattern I'm seeing goes like Mist boot -> IPC connection established -> EthStats.init() -> Mist resets IPC connection -> Mewify attempts to write to a now dead socket. I believe this isn't normally observed with Geth because the local node is able to fetch & return the required data before the connection is initially cycled. However, initialization would still likely fail if Geth where to hiccup for any reason.

I was able to fix this by inserting an interval in appStart.js to confirm EthStats.init() completes. On the cases where EthStats.init is called more than once, there doesn't seem to be any detriment.

Does this seem like something that could get merged in at some point?

TLDR: Block info breaks when the connected node serves slow responses because initial IPC connections get reset and EthStats.init() can't complete.

@evertonfraga
Copy link
Member

Hi @skubakdj, thanks for the PR. I am following the Mewify project, and it is of our interest to make them work great together.

I'll take a thorough look at it, probably in the beginning of the next week.

Cheers!

Copy link

@joshksas11 joshksas11 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

accidentally made a made a mistake of making trade don't even know how much ether iot is

@evertonfraga evertonfraga merged commit e597068 into ethereum:develop Oct 21, 2017
@lock
Copy link

lock bot commented Mar 29, 2018

This thread has been automatically locked because it has not had recent activity. Please open a new issue for related bugs and link to relevant comments in this thread.

@lock lock bot locked and limited conversation to collaborators Mar 29, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants