grpc / grpc/grpc-rust

Memory leak in client streaming code

Open
#590 11 comments 0 reactions 0 assignees View on GitHub
A-tonic
Dominant language
Rust
Stars
12.5k
Forks
1.3k
Avg merge
4d 7h
Merged PRs (30d)
24

Description

Hi all,

Actually i encountered this issue in one my projects. Since i could not share the original code i created a sample scala grpc server and a rust client to demonstrate issue. The issue is i am streaming a binary data from client(rust) to server(scala). Every stream element consist of a 1mb array and for every request we have 130 element. After some time later client side memory grows and linux oom trigger a kill for the client. Same client code also exist in scala project as well.
tonic versions:
**tonic v0.4.1
tonic-build v0.4.1**
uname -a:
**Linux capacman-neon 5.4.0-67-generic #75-Ubuntu SMP Fri Feb 19 18:03:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux**
below are the repos:
https://github.com/capacman/grpctest
https://github.com/capacman/grpctest_rust
on scala side to run server you can use:
```sh
sbt "runMain example.TestServer"
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.