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

GRPC Ruby Memory Leak #25877

Closed
MuhammetDilmac opened this issue Apr 3, 2021 · 6 comments
Closed

GRPC Ruby Memory Leak #25877

MuhammetDilmac opened this issue Apr 3, 2021 · 6 comments

Comments

@MuhammetDilmac
Copy link

What version of gRPC and what language are you using?

Master branch, version 1.36.0 with Ruby

What operating system (Linux, Windows,...) and version?

$ uname -a
Linux workland 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64 GNU/Linux

What runtime / compiler are you using (e.g. python version or version of gcc)

$ ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]

What did you do?

Please provide either

  1. A unit test for reproducing the bug or
  2. Specific steps for us to follow to reproduce the bug. If there’s not enough information to debug the problem, gRPC team may close the issue at their discretion. You’re welcome to re-open the issue once you have a reproduction.

What did you expect to see?

When we run Greeter example in GRPC's example folder, we were expecting memory to return to normal state after the operations are completed.

1
greeterserver.rb` starts with 19.7MB memory at startup.

What did you see instead?

We update greeterclient.rb to run 100,000 times in order to show the memory leak

2
When we run greeterclient.rb for the first time, memory jumps to 23.8MB.

3
When we run greeterclient.rb for the second time, memory jumps to 28.3MB.

4
When we run greeterclient.rb for the third time, memory jumps to 36.1MB.

In order to find the source of the memory leak, I have updated the greeterserver.rb as follows:

#!/usr/bin/env ruby

# Copyright 2015 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Sample gRPC server that implements the Greeter::Helloworld service.
#
# Usage: $ path/to/greeter_server.rb

this_dir = File.expand_path(File.dirname(__FILE__))
lib_dir = File.join(this_dir, 'lib')
$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)

require 'grpc'
require 'helloworld_services_pb'
require 'memory_profiler'

# GreeterServer is simple server that implements the Helloworld Greeter server.
class GreeterServer < Helloworld::Greeter::Service
  # say_hello implements the SayHello rpc method.
  def say_hello(hello_req, _unused_call)
    Helloworld::HelloReply.new(message: "Hello #{hello_req.name}")
  end
end

# main starts an RpcServer that receives requests to GreeterServer at the sample
# server port.
def main
  s = GRPC::RpcServer.new
  s.add_http2_port('0.0.0.0:50051', :this_port_is_insecure)
  s.handle(GreeterServer)
  # Runs the server with SIGHUP, SIGINT and SIGQUIT signal handlers to 
  #   gracefully shutdown.
  # User could also choose to run server via call to run_till_terminated
  s.run_till_terminated_or_interrupted([1, 'int', 'SIGQUIT'])
end

MemoryProfiler.start
main
report = MemoryProfiler.stop
puts report.pretty_print

After this change, I have updated the greeter_client.rb to run 20 times. After only one run, here's the report by memory profiler:

Total allocated: 2212746 bytes (1439 objects)
Total retained:  2103797 bytes (69 objects)

allocated memory by gem
-----------------------------------
   2204690  grpc-1.36.0-x86_64-linux
      8056  other

allocated memory by file
-----------------------------------
   2162094  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb
     29120  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb
     10880  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb
      8056  greeter_server.rb
       840  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptors.rb
       784  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb
       172  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/core/time_consts.rb

allocated memory by location
-----------------------------------
   2098048  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:234
     15840  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:82
     12935  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452
      8480  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501
      7680  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:240
      7072  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:503
      4960  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:253
      4800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:100
      4320  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:47
      4320  greeter_server.rb:33
      3360  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:228
      3360  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:251
      3360  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:50
      3360  greeter_server.rb:34
      3080  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
      2400  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:35
      2280  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:80
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:59
      1440  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:101
      1440  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:106
      1440  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:109
      1440  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:236
       860  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:100
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:113
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:130
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:147
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:227
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb:50
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptors.rb:159
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:44
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:448
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:512
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:65
       800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:70
       664  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:36
       528  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:376
       504  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:268
       360  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:403
       336  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:536
       317  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538
       288  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:228
       280  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
       206  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:482
       176  greeter_server.rb:40
       172  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/core/time_consts.rb:49
       168  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:34
       120  greeter_server.rb:46
       112  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:543
        80  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:37

allocated memory by class
-----------------------------------
   2110616  Thread
     24568  Hash
     22062  String
     14568  Array
      9920  Proc
      4536  Thread::Mutex
      4160  Struct::BatchResult
      3712  GRPC::ActiveCall
      3612  Time
      2432  Thread::Queue
      1600  GRPC::Core::MetadataArray
      1600  Google::Protobuf::Internal::Arena
      1600  Struct::NewServerRpc
      1440  Struct::Status
      1120  GRPC::Core::Call
      1120  Helloworld::HelloReply
      1120  Helloworld::HelloRequest
       800  GRPC::ActiveCall::SingleReqView
       800  GRPC::InterceptionContext
       336  MatchData
       224  Thread::Backtrace
       192  Thread::ConditionVariable
       176  GRPC::RpcServer
       120  GRPC::Pool
        72  Method
        40  GRPC::Core::CallError
        40  GRPC::Core::Server
        40  GRPC::InterceptorRegistry
        40  GreeterServer
        40  Symbol
        40  TmpChannelArgs

allocated objects by gem
-----------------------------------
      1313  grpc-1.36.0-x86_64-linux
       126  other

allocated objects by file
-----------------------------------
       740  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb
       360  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb
       160  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb
       126  greeter_server.rb
        21  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptors.rb
        10  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/core/time_consts.rb

allocated objects by location
-----------------------------------
       165  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452
       122  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501
       100  greeter_server.rb:33
        90  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:100
        90  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:82
        80  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:240
        80  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:47
        60  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:253
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:35
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:503
        34  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
        30  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:80
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:100
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:101
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:106
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:109
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:113
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:130
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:147
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:227
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:228
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:236
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:251
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb:50
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptors.rb:159
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:44
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:50
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:448
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:512
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:59
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:65
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:70
        20  greeter_server.rb:34
        16  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547
         7  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
         7  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:36
         6  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:403
         6  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538
         4  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:234
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:268
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:376
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:482
         3  greeter_server.rb:46
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/core/time_consts.rb:49
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:228
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:536
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:543
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:37
         2  greeter_server.rb:41
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb:34

allocated objects by class
-----------------------------------
       401  String
       281  Array
       168  Hash
       124  Proc
        63  Thread::Mutex
        42  Time
        40  GRPC::Core::MetadataArray
        40  Google::Protobuf::Internal::Arena
        40  Struct::BatchResult
        33  Thread
        32  Thread::Queue
        20  GRPC::ActiveCall
        20  GRPC::ActiveCall::SingleReqView
        20  GRPC::Core::Call
        20  GRPC::InterceptionContext
        20  Helloworld::HelloReply
        20  Helloworld::HelloRequest
        20  Struct::NewServerRpc
        20  Struct::Status
         3  Thread::ConditionVariable
         2  MatchData
         1  GRPC::Core::CallError
         1  GRPC::Core::Server
         1  GRPC::InterceptorRegistry
         1  GRPC::Pool
         1  GRPC::RpcServer
         1  GreeterServer
         1  Method
         1  Symbol
         1  Thread::Backtrace
         1  TmpChannelArgs

retained memory by gem
-----------------------------------
   2103501  grpc-1.36.0-x86_64-linux
       296  other

retained memory by file
-----------------------------------
   2103461  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb
       296  greeter_server.rb
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb

retained memory by location
-----------------------------------
   2098008  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:234
      3080  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
       488  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:376
       336  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:536
       240  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:403
       176  greeter_server.rb:40
       168  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:34
       120  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:228
       120  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547
       120  greeter_server.rb:46
       112  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:543
       109  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538
        80  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
        76  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:29
        76  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:39
        72  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:230
        72  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:32
        72  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:373
        64  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:229
        64  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:33
        64  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:374
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb:34
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:235

retained memory by class
-----------------------------------
   2098376  Thread
      2096  Hash
      1669  String
       320  Proc
       248  Array
       216  Thread::Mutex
       192  Thread::ConditionVariable
       176  GRPC::RpcServer
       152  Thread::Queue
       120  GRPC::Pool
        72  Method
        40  GRPC::Core::Server
        40  GRPC::InterceptorRegistry
        40  GreeterServer
        40  Symbol

retained objects by gem
-----------------------------------
        65  grpc-1.36.0-x86_64-linux
         4  other

retained objects by file
-----------------------------------
        64  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb
         4  greeter_server.rb
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb

retained objects by location
-----------------------------------
        34  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:234
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:403
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547
         3  greeter_server.rb:46
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:376
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:536
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:543
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb:34
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:228
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:229
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:230
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:235
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:29
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:32
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:33
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:34
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:373
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:374
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:39
         1  greeter_server.rb:40

retained objects by class
-----------------------------------
        41  String
         4  Proc
         3  Array
         3  Hash
         3  Thread
         3  Thread::ConditionVariable
         3  Thread::Mutex
         2  Thread::Queue
         1  GRPC::Core::Server
         1  GRPC::InterceptorRegistry
         1  GRPC::Pool
         1  GRPC::RpcServer
         1  GreeterServer
         1  Method
         1  Symbol


Allocated String Report
-----------------------------------
        25  "/helloworld.Greeter/SayHello"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452
         4  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

        21  "EDT"
        21  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        21  "EST"
        21  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        21  "user-agent"
        21  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452

        20  "\n\x05world"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:253

        20  "\n\vHello world"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:35

        20  "1969-12-31 18:59:59 -0500"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        20  "2021-04-01 13:49:07 -0400"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        20  "Hello world"
        20  greeter_server.rb:33

        20  "OK"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:227

        20  "deadline is 1969-12-31 18:59:59 -0500; (now=2021-04-01 13:49:07 -0400)"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        20  "grpc-ruby/1.36.0 grpc-c/15.0.0 (linux; chttp2)"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452

        20  "ipv6:[::1]:36006"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:113

        20  "localhost:50051"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452

        20  "schedule another job"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:65

        20  "world"
        20  greeter_server.rb:33

         3  "DEFAULT"
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:403

         3  "INT"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         3  "SIGQUIT"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
         1  greeter_server.rb:46

         3  "SayHello"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:36
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538

         2  "QUIT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396

         2  "SIG"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396

         2  "\\1_\\2"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:35
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:36

         2  "keyreq"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

         2  "keyrest"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

         2  "nokey"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

         1  "#<GRPC::RpcServer:0x0000562a4ac972d0>"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:482

         1  "ABRT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "ALRM"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "BUS"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "CONT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "EXIT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "FPE"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "GRPC::RpcServer"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:482

         1  "HUP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "ILL"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "IOT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "KILL"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "PIPE"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "SEGV"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "STOP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "SYS"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TERM"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TRAP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TSTP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "URG"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "request_call completion failed"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452

         1  "stopped, all workers are shutdown"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:105

         1  "stopped: #<GRPC::RpcServer:0x0000562a4ac972d0>"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:482

         1  "stopping, will wait for all the workers to exit"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:94


Retained String Report
-----------------------------------
         2  "INT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396

         2  "QUIT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396

         1  "/helloworld.Greeter/SayHello"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538

         1  "ABRT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "ALRM"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "BUS"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "CHLD"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "CLD"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "CONT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "EXIT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "FPE"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "HUP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "ILL"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "IOT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "KILL"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "PIPE"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "POLL"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "PROF"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "PWR"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "SEGV"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "SIGQUIT"
         1  greeter_server.rb:46

         1  "STOP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "SYS"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TERM"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TRAP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TSTP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TTIN"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TTOU"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "URG"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "USR1"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "USR2"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "VTALRM"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "WINCH"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "XCPU"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "XFSZ"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "int"
         1  greeter_server.rb:46

         1  "keyreq"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

         1  "keyrest"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

         1  "nokey"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

We've ran the Memory Profiler 2nd time and here's the report that it had generated:

Total allocated: 2294786 bytes (2539 objects)
Total retained:  2103797 bytes (69 objects)

allocated memory by gem
-----------------------------------
   2279050  grpc-1.36.0-x86_64-linux
     15736  other

allocated memory by file
-----------------------------------
   2194854  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb
     58240  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb
     21760  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb
     15736  greeter_server.rb
      1640  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptors.rb
       784  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb
       172  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/core/time_consts.rb

allocated memory by location
-----------------------------------
   2098048  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:234
     25455  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452
     16880  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501
     15840  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:82
     15360  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:240
     14112  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:503
      9920  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:253
      8640  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:47
      8640  greeter_server.rb:33
      6720  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:228
      6720  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:251
      6720  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:50
      6720  greeter_server.rb:34
      4800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:35
      4800  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:100
      3200  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:59
      3080  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
      2880  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:101
      2880  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:106
      2880  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:109
      2880  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:236
      2280  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:80
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:100
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:113
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:130
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:147
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:227
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb:50
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptors.rb:159
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:44
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:448
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:512
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:65
      1600  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:70
       860  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547
       664  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:36
       528  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:376
       504  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:268
       360  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:403
       336  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:536
       317  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538
       288  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:228
       280  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
       206  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:482
       176  greeter_server.rb:40
       172  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/core/time_consts.rb:49
       168  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:34
       120  greeter_server.rb:46
       112  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:543
        80  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:37

allocated memory by class
-----------------------------------
   2110616  Thread
     46328  Hash
     40342  String
     24968  Array
     14720  Proc
      8856  Thread::Mutex
      8320  Struct::BatchResult
      7392  GRPC::ActiveCall
      7052  Time
      3200  GRPC::Core::MetadataArray
      3200  Google::Protobuf::Internal::Arena
      3200  Struct::NewServerRpc
      2880  Struct::Status
      2432  Thread::Queue
      2240  GRPC::Core::Call
      2240  Helloworld::HelloReply
      2240  Helloworld::HelloRequest
      1600  GRPC::ActiveCall::SingleReqView
      1600  GRPC::InterceptionContext
       336  MatchData
       224  Thread::Backtrace
       192  Thread::ConditionVariable
       176  GRPC::RpcServer
       120  GRPC::Pool
        72  Method
        40  GRPC::Core::CallError
        40  GRPC::Core::Server
        40  GRPC::InterceptorRegistry
        40  GreeterServer
        40  Symbol
        40  TmpChannelArgs

allocated objects by gem
-----------------------------------
      2293  grpc-1.36.0-x86_64-linux
       246  other

allocated objects by file
-----------------------------------
      1160  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb
       720  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb
       320  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb
       246  greeter_server.rb
        41  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptors.rb
        10  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/core/time_consts.rb

allocated objects by location
-----------------------------------
       325  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452
       242  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501
       200  greeter_server.rb:33
       160  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:240
       160  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:47
       120  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:253
        90  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:100
        90  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:82
        80  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:35
        80  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:503
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:100
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:101
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:106
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:109
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:113
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:130
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:147
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:227
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:228
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:236
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:251
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb:50
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptors.rb:159
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:44
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:50
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:448
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:512
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:59
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:65
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:70
        40  greeter_server.rb:34
        34  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
        30  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:80
        16  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547
         7  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
         7  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:36
         6  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:403
         6  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538
         4  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:234
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:268
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:376
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:482
         3  greeter_server.rb:46
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/core/time_consts.rb:49
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:228
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:536
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:543
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:37
         2  greeter_server.rb:41
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb:34

allocated objects by class
-----------------------------------
       721  String
       461  Array
       328  Hash
       184  Proc
       123  Thread::Mutex
        82  Time
        80  GRPC::Core::MetadataArray
        80  Google::Protobuf::Internal::Arena
        80  Struct::BatchResult
        40  GRPC::ActiveCall
        40  GRPC::ActiveCall::SingleReqView
        40  GRPC::Core::Call
        40  GRPC::InterceptionContext
        40  Helloworld::HelloReply
        40  Helloworld::HelloRequest
        40  Struct::NewServerRpc
        40  Struct::Status
        33  Thread
        32  Thread::Queue
         3  Thread::ConditionVariable
         2  MatchData
         1  GRPC::Core::CallError
         1  GRPC::Core::Server
         1  GRPC::InterceptorRegistry
         1  GRPC::Pool
         1  GRPC::RpcServer
         1  GreeterServer
         1  Method
         1  Symbol
         1  Thread::Backtrace
         1  TmpChannelArgs

retained memory by gem
-----------------------------------
   2103501  grpc-1.36.0-x86_64-linux
       296  other

retained memory by file
-----------------------------------
   2103461  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb
       296  greeter_server.rb
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb

retained memory by location
-----------------------------------
   2098008  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:234
      3080  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
       488  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:376
       336  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:536
       240  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:403
       176  greeter_server.rb:40
       168  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:34
       120  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:228
       120  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547
       120  greeter_server.rb:46
       112  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:543
       109  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538
        80  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
        76  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:29
        76  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:39
        72  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:230
        72  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:32
        72  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:373
        64  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:229
        64  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:33
        64  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:374
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb:34
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:235

retained memory by class
-----------------------------------
   2098376  Thread
      2096  Hash
      1669  String
       320  Proc
       248  Array
       216  Thread::Mutex
       192  Thread::ConditionVariable
       176  GRPC::RpcServer
       152  Thread::Queue
       120  GRPC::Pool
        72  Method
        40  GRPC::Core::Server
        40  GRPC::InterceptorRegistry
        40  GreeterServer
        40  Symbol

retained objects by gem
-----------------------------------
        65  grpc-1.36.0-x86_64-linux
         4  other

retained objects by file
-----------------------------------
        64  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb
         4  greeter_server.rb
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb

retained objects by location
-----------------------------------
        34  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:234
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:403
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547
         3  greeter_server.rb:46
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:376
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:536
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:543
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb:34
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:228
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:229
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:230
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:235
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:29
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:32
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:33
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:34
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:373
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:374
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:39
         1  greeter_server.rb:40

retained objects by class
-----------------------------------
        41  String
         4  Proc
         3  Array
         3  Hash
         3  Thread
         3  Thread::ConditionVariable
         3  Thread::Mutex
         2  Thread::Queue
         1  GRPC::Core::Server
         1  GRPC::InterceptorRegistry
         1  GRPC::Pool
         1  GRPC::RpcServer
         1  GreeterServer
         1  Method
         1  Symbol


Allocated String Report
-----------------------------------
        45  "/helloworld.Greeter/SayHello"
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452
         4  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

        41  "EDT"
        41  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        41  "EST"
        41  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        41  "user-agent"
        41  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452

        40  "\n\x05world"
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:253

        40  "\n\vHello world"
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb:35

        40  "1969-12-31 18:59:59 -0500"
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        40  "Hello world"
        40  greeter_server.rb:33

        40  "OK"
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:227

        40  "grpc-ruby/1.36.0 grpc-c/15.0.0 (linux; chttp2)"
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452

        40  "localhost:50051"
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452

        40  "schedule another job"
        40  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:65

        40  "world"
        40  greeter_server.rb:33

        20  "2021-04-01 13:52:01 -0400"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        20  "2021-04-01 13:52:03 -0400"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        20  "deadline is 1969-12-31 18:59:59 -0500; (now=2021-04-01 13:52:01 -0400)"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        20  "deadline is 1969-12-31 18:59:59 -0500; (now=2021-04-01 13:52:03 -0400)"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:501

        20  "ipv6:[::1]:36064"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:113

        20  "ipv6:[::1]:36066"
        20  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:113

         3  "DEFAULT"
         3  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:403

         3  "INT"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         3  "SIGQUIT"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396
         1  greeter_server.rb:46

         3  "SayHello"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:36
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538

         2  "QUIT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396

         2  "SIG"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396

         2  "\\1_\\2"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:35
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:36

         2  "keyreq"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

         2  "keyrest"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

         2  "nokey"
         2  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

         1  "#<GRPC::RpcServer:0x0000561b9e741598>"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:482

         1  "ALRM"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "BUS"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "GRPC::RpcServer"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:482

         1  "PIPE"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "PROF"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "SEGV"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "SYS"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TERM"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TTIN"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TTOU"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "USR1"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "USR2"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "VTALRM"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "WINCH"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "XCPU"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "XFSZ"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "request_call completion failed"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:452

         1  "stopped, all workers are shutdown"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:105

         1  "stopped: #<GRPC::RpcServer:0x0000561b9e741598>"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:482

         1  "stopping, will wait for all the workers to exit"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:94


Retained String Report
-----------------------------------
         2  "INT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396

         2  "QUIT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:396

         1  "/helloworld.Greeter/SayHello"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:538

         1  "ABRT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "ALRM"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "BUS"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "CHLD"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "CLD"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "CONT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "EXIT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "FPE"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "HUP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "ILL"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "IOT"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "KILL"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "PIPE"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "POLL"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "PROF"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "PWR"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "SEGV"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "SIGQUIT"
         1  greeter_server.rb:46

         1  "STOP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "SYS"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TERM"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TRAP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TSTP"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TTIN"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "TTOU"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "URG"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "USR1"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "USR2"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "VTALRM"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "WINCH"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "XCPU"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "XFSZ"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:389

         1  "int"
         1  greeter_server.rb:46

         1  "keyreq"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

         1  "keyrest"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

         1  "nokey"
         1  /home/muhammet/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0/gems/grpc-1.36.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb:547

Anything else we should know about your project / environment?

No.

@bruno-
Copy link

bruno- commented Apr 6, 2021

I can also reproduce this problem. In my case it's more like a memory explosion unfortunately.

Here's a really minimal reproduction script:

require "google/protobuf/well_known_types"

loop do
  Google::Protobuf::Value.new
end

With the above script the memory explodes, quickly reaching 1Gb (in less than a minute) and continues to grow steeply.
I used just htop to monitor program's memory use.

Here's more info about my setup:

$ uname -a
Linux ubuntu2004.localdomain 5.4.0-65-generic #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ ruby -v
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]

Gem versions:

grpc (1.36.0)
google-protobuf (3.15.3)
googleapis-common-protos-types (1.0.6)

What did you expect to see?

For the above provided short script I expected the program's memory use (inspected via htop) to stop growing at some point. A reasonable memory use for this script would be, say 50Mb.

What did you see instead?

I monitored program's memory use via htop. The memory use did not stop growing. It quickly reached 1Gb and continued growing past that at a fast pace.

@bruno-
Copy link

bruno- commented Apr 6, 2021

I wanted to see if there are gem releases that are not affected by this memory leak.

I used the same script as above:

require "google/protobuf/well_known_types"

loop do
  Google::Protobuf::Value.new
end

and ran this script with a number of google-protobuf gem versions. It seems this memory leak happens only with google-protobuf gem versions 3.15.3 and above.

The following gem versions did NOT have the memory leak problem: 3.15.1, 3.15.2, 3.14.0, 4.0.0.rc.2.

@bruno-
Copy link

bruno- commented Apr 6, 2021

I just realized in my case this is a protocol buffers related problem and should probably be reported to that repository.
There's this issue that looks similar protocolbuffers/protobuf#8421

Please ignore my two posts above, I opened a new issue here: protocolbuffers/protobuf#8455

Thank you for working on grpc 🙏, it's a great tool, keep up the good work!

@peterzhu2118
Copy link
Contributor

This looks like it should be fixed in protobuf versions 3.15.8 and higher. Are you still able to repro this?

@bruno-
Copy link

bruno- commented Nov 24, 2021

No, I think this issue was fixed, see the protobuf issue protocolbuffers/protobuf#8455 and the related fix protocolbuffers/protobuf#8461

@MuhammetDilmac
Copy link
Author

Yeah, this issue was fixed. Thanks, @bruno-, and @peterzhu2118 :)

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

5 participants