Issue starting grpc-node server on hosts with IPv6 disabled

66 views
Skip to first unread message

Mya Pitzeruse

unread,
Mar 27, 2020, 12:55:58 PM3/27/20
to grpc.io
Hey folks!

I'm reaching out because I've encountered some issues when attempting to deploy a grpc-node server and would love to get some input and support.

The issue in question is grpc-node#1209. It seems to only be an issue on servers who have IPv6 disabled. Otherwise, the process runs fine. After digging through the linked code blocks, I found the issue seems to be related to how the server handles the wildcard formatting (0.0.0.0). I made the bind address configurable so I could test and iterate on a few options, but every approach I take seems to result in the same error. Approaches I've tried:
  • Binding to 0.0.0.0
  • Binding to localhost with a proxy co-process on 0.0.0.0
  • Binding explicitly to the pod's IPv4 address
None of these approaches have worked. Any suggestions on things I can try to side-step this issue or how to possibly go about fixing this upstream?

Michael Lumish

unread,
Mar 27, 2020, 1:43:24 PM3/27/20
to Mya Pitzeruse, grpc.io
I would have thought that binding to the IPv4 address explicitly would work. Alternatively, binding to the pod's hostname might work.

--
You received this message because you are subscribed to the Google Groups "grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/CAHa8AVRMsD-EB5wzg86xcYoXuyUBey5OMSuGTj4NOroe-Dp-4g%40mail.gmail.com.

Michael Lumish

unread,
Mar 27, 2020, 1:50:28 PM3/27/20
to Mya Pitzeruse, grpc.io
Alternatively, have you tried @grpc/grpc-js? It has essentially all of the same server functionality, and it doesn't have that bug. The one significant difference is that you have to use bindAsync instead of bind.

Mya Pitzeruse

unread,
Mar 27, 2020, 2:03:44 PM3/27/20
to Michael Lumish, grpc.io
I did too. I can try the hostname to see if that works, but I wonder if that might affect my headless service.

Last I checked @grpc/grpc-js only had client side support but based on the README it seems like it has support for both so I'll also give that a try.

Thanks!

Mya Pitzeruse

unread,
Mar 27, 2020, 4:09:21 PM3/27/20
to Michael Lumish, grpc.io
Migrating to @grpc/grpc-js seems to have resolved this. Port bindings on the above addresses appear to work fine. It does make me wonder if there is an underlying issue with the C++ version for hosts with IPv6 disabled, but it atleast unblocked my current work for now. Thanks!

Nicolas Noble

unread,
Mar 27, 2020, 4:59:48 PM3/27/20
to Mya Pitzeruse, Michael Lumish, grpc.io
I don't think you've shared what operating system you were using?

Mya Pitzeruse

unread,
Mar 27, 2020, 5:01:24 PM3/27/20
to Nicolas Noble, Michael Lumish, grpc.io
I saw this on Ubuntu (18.04) and CentOS (7).
Reply all
Reply to author
Forward
0 new messages