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

Node info breaks on slow IPC connection #2955

Merged
merged 1 commit into from Oct 21, 2017

Conversation

Projects
None yet
3 participants
@skubakdj
Contributor

skubakdj commented Aug 16, 2017

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

This comment has been minimized.

Member

evertonfraga commented Aug 17, 2017

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!

@joshksas11

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

3 checks passed

VersionEye All software dependencies are fine. You are awesome!
Details
codeclimate All good!
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@lock

This comment has been minimized.

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.