Skip to content
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

Figure out why connections are dropping #409

Open
germsvel opened this issue Sep 6, 2018 · 1 comment
Open

Figure out why connections are dropping #409

germsvel opened this issue Sep 6, 2018 · 1 comment

Comments

@germsvel
Copy link
Contributor

germsvel commented Sep 6, 2018

When we test our networking layer by spinning up a parity node, either parity drops the connection at some point after the encrypted handshake (sometimes we exchange Hellos and Status) or we throw an error for "Failed to match header ingress mac". Which failure comes up first seems somewhat intermittent.

We are unsure why this is happening. It is possible that it is due to some of the things we have not yet implemented (such as RLPx control flow #408 or handling multi-frame packets #97) or it is possible we just have an error in how we're processing the secrets, since the ingress and egress macs need to be continuously updated for message authentication.

How to reproduce this

The version of parity I am running is 1.9.7-stable

It is best to spin up a parity node without discovery and without other peers. Run,

parity --chain=ropsten --no-discovery --reserved-only --logging=debug

Get the enode url from the parity logs.

In mana, cd into apps/ex_wire. Type,

iex -S mix 

Then from the iex,

ExWire.PeerSupervisor.start_child("enode://url_you_got_from_parity@host:port")

That should start the communication between the mana node and the parity node.

Example

An example of the communication between the two nodes can be seen below:

mana

screen shot 2018-09-06 at 11 23 02 am

parity

screen shot 2018-09-06 at 11 23 25 am

@InoMurko
Copy link
Member

InoMurko commented Dec 3, 2018

Disk logging which would allow us to review all possible reasons why connections exit are being added in #409 and manipulating dropped connections worked on #688.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants