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

Hermes not working over IPv6 #2380

Closed
5 tasks
mturkia opened this issue Jul 6, 2022 · 6 comments · Fixed by #2522
Closed
5 tasks

Hermes not working over IPv6 #2380

mturkia opened this issue Jul 6, 2022 · 6 comments · Fixed by #2522
Assignees
Labels
A: blocked Admin: blocked by another (internal/external) issue or PR I: rpc Internal: related to (g)RPC
Milestone

Comments

@mturkia
Copy link

mturkia commented Jul 6, 2022

Summary of Bug

When connecting to a full node RPC with IPv6, Hermes repeats following error over and over again
task encountered ignorable error: error raised while trying to refresh client 07-tendermint-198: failed querying the application status of source chain: internal message-passing failure while sending inter-thread request/response

Note that we have one chain configured over IPv6 for GRPC, and we are not getting spammed with this error on the logs. So GRPC might be working over IPv6 properly.

Version

0.15.0+4e83aae8
0.15.0+e8746bec
0.15.0+e3d0b108

Steps to Reproduce

Configure chain to use IPv6

rpc_addr = 'http://[::1]:26657'
grpc_addr = 'http://[::1]:9090'
websocket_addr = 'ws://[::1]:26657/websocket'

Note that we have tested this only with public IPv6 addresses, not link local, but don't see why the local should work any differently.

Acceptance Criteria

Hermes can use nodes over IPv6


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate milestone (priority) applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@romac romac added reproduce-failure I: rpc Internal: related to (g)RPC labels Jul 8, 2022
@romac romac added this to the post-v1 milestone Jul 8, 2022
@romac romac moved this to Backlog in IBC-rs: the road to v1 Jul 8, 2022
@mturkia
Copy link
Author

mturkia commented Jul 20, 2022

I tested this with v0.13.0 version of Hermes to ensure this is not related to the abci_info issue. And getting following error message when starting up:

Jul 20 16:12:49 Brute hermes[1620509]: 2022-07-20T16:12:49.667336Z ERROR ThreadId(01) failed to subscribe to events of phoenix-1: internal message-passing failure while receiving inter-thread request/response: receiving on an empty and disconnected channel
Jul 20 16:12:49 Brute hermes[1620509]: 2022-07-20T16:12:49.667342Z ERROR ThreadId(84) failed to start runtime for chain 'phoenix-1': event monitor error: failed to create WebSocket driver for chain phoenix-1 with address ws://[...::1]:26657/websocket

@romac
Copy link
Member

romac commented Jul 20, 2022

Ok thanks for trying it out, we'll look into this.

@mzabaluev mzabaluev self-assigned this Jul 21, 2022
@mzabaluev
Copy link
Contributor

mzabaluev commented Jul 26, 2022

Reproduced the WebSocket driver error, digging deeper. The trail leads into tungstenite used by tendermint-rpc.

@mzabaluev
Copy link
Contributor

Should be fixed by informalsystems/tendermint-rs#1167

@mzabaluev mzabaluev added A: blocked Admin: blocked by another (internal/external) issue or PR and removed reproduce-failure labels Jul 27, 2022
@adizere
Copy link
Member

adizere commented Jul 29, 2022

@mturkia this branch can be used to test the fix that Mikhail did and see if IPv6 works.

$ git co adi/tryipv6
$ cargo build
$ ./target/debug/hermes version

  hermes 1.0.0-rc.1+cfefab347

@mturkia
Copy link
Author

mturkia commented Jul 29, 2022

Initially it looks like adi/tryipv6 branch is working fine. Just a single chain connected via IPv6 for the initial test, but packets are flowing. tnx

@romac romac self-assigned this Aug 3, 2022
@adizere adizere mentioned this issue Aug 3, 2022
7 tasks
romac added a commit that referenced this issue Aug 4, 2022
romac added a commit that referenced this issue Aug 8, 2022
romac added a commit that referenced this issue Aug 8, 2022
* Bump Hermes to v1.0.0-rc.2

* Bump crates to 0.18.0 and ibc-proto to 0.19.1

* Update lockfile

* Add self-documenting `help` target to the Makefile

* Remove tutorial with raw commands from the guide

* Add changelog entry for #2459

* Update changelog and upgrading instructions

* Release version 1.0.0-rc.2 of the changelog

* Add changelog entry for #2466

* Add changelog entry for #2380

* Bump tendermint-rs dependencies to 0.23.9

* Bump prost to version 0.11

* Regenerate protos with Prost 0.11

* Update lockfiles

* Use our own fork of `ics23` with Prost 0.11

* Bump `ibc-proto` version to 0.20.0 because of the Prost update

* Bump `ics23` to 0.8.0

* Fix comment in proto definition

* Fix no-std-check Makefile

* Update `ics23` to version 0.8.1

* Update lockfile

* Fix typo
hu55a1n1 pushed a commit to hu55a1n1/hermes that referenced this issue Sep 13, 2022
* Bump Hermes to v1.0.0-rc.2

* Bump crates to 0.18.0 and ibc-proto to 0.19.1

* Update lockfile

* Add self-documenting `help` target to the Makefile

* Remove tutorial with raw commands from the guide

* Add changelog entry for informalsystems#2459

* Update changelog and upgrading instructions

* Release version 1.0.0-rc.2 of the changelog

* Add changelog entry for informalsystems#2466

* Add changelog entry for informalsystems#2380

* Bump tendermint-rs dependencies to 0.23.9

* Bump prost to version 0.11

* Regenerate protos with Prost 0.11

* Update lockfiles

* Use our own fork of `ics23` with Prost 0.11

* Bump `ibc-proto` version to 0.20.0 because of the Prost update

* Bump `ics23` to 0.8.0

* Fix comment in proto definition

* Fix no-std-check Makefile

* Update `ics23` to version 0.8.1

* Update lockfile

* Fix typo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: blocked Admin: blocked by another (internal/external) issue or PR I: rpc Internal: related to (g)RPC
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants