question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Crash in vendored gRPC-Go version

See original GitHub issue

Versions of relevant software used /grpcwebproxy-v0.9.1-linux-x86_64

What happened Not able to bridge grpc server with web client, after the first call the first part of the log is output, the second call leads to a crash ./grpcwebproxy-v0.9.1-linux-x86_64 --backend_addr=10.251.177.181:50051 --run_tls_server=false --allow_all_origins

What you expected to happen Sweet working grpc-web proxy.

How to reproduce it (as minimally and precisely as possible): The intention is to replace envoy for some setups in the for the following product. Server: https://github.com/volvo-cars/signalbroker-server Client: https://github.com/volvo-cars/signalbroker-web-client

Full logs to relevant components

Logs

./grpcwebproxy-v0.9.1-linux-x86_64 --backend_addr=10.251.177.181:50051 --run_tls_server=false --allow_all_origins --backend_max_call_recv_msg_size=5242880 --use_websockets
INFO[0000] dialing to target with scheme: ""             system=system
INFO[0000] using websockets                             
INFO[0000] ccResolverWrapper: sending new addresses to cc: [{10.251.177.181:50051 0  <nil>}]  system=system
INFO[0000] listening for http on: [::]:8080             
INFO[0000] pickfirstBalancer: HandleSubConnStateChange: 0xc420099680, CONNECTING  system=system
INFO[0000] pickfirstBalancer: HandleSubConnStateChange: 0xc420099680, READY  system=system
INFO[0002] pickfirstBalancer: HandleSubConnStateChange: 0xc420099680, TRANSIENT_FAILURE  system=system
INFO[0002] pickfirstBalancer: HandleSubConnStateChange: 0xc420099680, CONNECTING  system=system
ERRO[0002] finished streaming call                       error="rpc error: code = Internal desc = stream terminated by RST_STREAM with error code: PROTOCOL_ERROR" grpc.code=Internal grpc.method=GetConfiguration grpc.service=base.SystemService grpc.start_time="2019-04-17T15:49:47+02:00" grpc.time_ms=3 span.kind=server system=grpc
INFO[0002] pickfirstBalancer: HandleSubConnStateChange: 0xc420099680, READY  system=system


panic: close of closed channel

goroutine 30 [running]:
github.com/improbable-eng/grpc-web/vendor/google.golang.org/grpc/transport.(*Stream).finish(...)
        /Users/jonny/Projects/grpc-web/src/github.com/improbable-eng/grpc-web/vendor/google.golang.org/grpc/transport/transport.go:400
github.com/improbable-eng/grpc-web/vendor/google.golang.org/grpc/transport.(*http2Client).handleGoAway(0xc420085680, 0xc4201b6f60)
        /Users/jonny/Projects/grpc-web/src/github.com/improbable-eng/grpc-web/vendor/google.golang.org/grpc/transport/http2_client.go:1024 +0x1c6
github.com/improbable-eng/grpc-web/vendor/google.golang.org/grpc/transport.(*http2Client).reader(0xc420085680)
        /Users/jonny/Projects/grpc-web/src/github.com/improbable-eng/grpc-web/vendor/google.golang.org/grpc/transport/http2_client.go:1203 +0x4f1
created by github.com/improbable-eng/grpc-web/vendor/google.golang.org/grpc/transport.newHTTP2Client
        /Users/jonny/Projects/grpc-web/src/github.com/improbable-eng/grpc-web/vendor/google.golang.org/grpc/transport/http2_client.go:272 +0xbf1

Anything else we need to know Thanks a lot, hope this can be our natural envoy replacer for ARM enviroments.

Server is written in Elixir and uses: https://github.com/elixir-grpc/grpc Bridging works well using envoy (which we would like to replace for ARM targets)

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:20

github_iconTop GitHub Comments

1reaction
johanbrandhorstcommented, Apr 23, 2019

Yes, they grpcwebproxy you’re using is just a gRPC client wrapped in a custom gRPC-Web translation middleware. The READY logs come from the grpc-go client library.

0reactions
AleksandarFilipovcommented, May 8, 2019

Thanks you for you reply, just like you I’m crazy busy. I’ll ping you if i have further updates (minimal example).

Read more comments on GitHub >

github_iconTop Results From Across the Web

grpc - Go Packages
Package grpc implements an RPC system called gRPC.
Read more >
Traffic Crash Reports - Florida Department of Highway Safety ...
FLHSMV is the state's official repository for crash records. The Florida Crash Portal provides comprehensive information about purchasing a crash report, ...
Read more >
CHANGELOG.md · v14.0.9 · GitLab.org / gitaly · GitLab
Deprecated (1 change). Upgrade minimum required Go version to 1.15. !3352 ... Use custom log levels for grpc-go !765; Vendor Gitlab::Git at ...
Read more >
Grpcgo Server Becomes Unresponsive And Starts Backing Up ...
The basic scenario we're seeing is if we use grpc.Invoke to invoke a gRPC method on a server and that server crashes and...
Read more >
etcdctl-3.4.3-bp155.2.6.x86_64 RPM
Name: etcdctl, Distribution: SUSE Linux Enterprise 15 SP5. Version: 3.4.3, Vendor: openSUSE. Release: bp155.2.6, Build date: Thu Sep 1 13:57:28 2022.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found