bigcommerce / gruf

gRPC Ruby Framework
https://github.com/bigcommerce/gruf
MIT License
626 stars 73 forks source link

Segmentation fault when using Alpine #94

Closed qarol closed 4 years ago

qarol commented 4 years ago

How to Reproduce

Steps to reproduce the behavior:

  1. docker run --rm -it ruby:2.6.5-alpine /bin/sh
  2. apk update && apk add --no-cache gcompat
  3. gem install gruf
  4. gruf
/ # gruf
/usr/local/lib/ruby/2.6.0/forwardable.rb:230: [BUG] Segmentation fault at 0x000000000003dda6
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux-musl]

-- Control frame information -----------------------------------------------
c:0011 p:---- s:0055 e:000054 CFUNC  :add_http2_port
c:0010 p:0029 s:0049 e:000048 METHOD /usr/local/lib/ruby/2.6.0/forwardable.rb:230
c:0009 p:0235 s:0042 e:000041 BLOCK  /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/server.rb:77
c:0008 p:0022 s:0037 e:000036 METHOD /usr/local/lib/ruby/2.6.0/monitor.rb:235
c:0007 p:0007 s:0033 e:000032 METHOD /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/server.rb:57
c:0006 p:0039 s:0029 E:002540 METHOD /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/server.rb:106
c:0005 p:0030 s:0023 e:000022 METHOD /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/cli/executor.rb:52
c:0004 p:0064 s:0017 e:000016 TOP    /usr/local/bundle/gems/gruf-2.8.0/bin/gruf:29 [FINISH]
c:0003 p:---- s:0013 e:000012 CFUNC  :load
c:0002 p:0109 s:0008 E:001a60 EVAL   /usr/local/bundle/bin/gruf:23 [FINISH]
c:0001 p:0000 s:0003 E:001e70 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
/usr/local/bundle/bin/gruf:23:in `<main>'
/usr/local/bundle/bin/gruf:23:in `load'
/usr/local/bundle/gems/gruf-2.8.0/bin/gruf:29:in `<top (required)>'
/usr/local/bundle/gems/gruf-2.8.0/lib/gruf/cli/executor.rb:52:in `run'
/usr/local/bundle/gems/gruf-2.8.0/lib/gruf/server.rb:106:in `start!'
/usr/local/bundle/gems/gruf-2.8.0/lib/gruf/server.rb:57:in `server'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/usr/local/bundle/gems/gruf-2.8.0/lib/gruf/server.rb:77:in `block in server'
/usr/local/lib/ruby/2.6.0/forwardable.rb:230:in `add_http2_port'
/usr/local/lib/ruby/2.6.0/forwardable.rb:230:in `add_http2_port'

-- Machine register context ------------------------------------------------
 RIP: 0x000000000003dda6 RBP: 0x00007f5de9d31cb3 RSP: 0x00007ffcdf9bf738
 RAX: 0x00007ffcdf9bf7c0 RBX: 0x00007ffcdf9bf9a0 RCX: 0x0000000000000040
 RDX: 0x0000000000000001 RDI: 0x00007ffcdf9bf770 RSI: 0x0000000000000040
  R8: 0x00007f5de9d31cb3  R9: 0x00007ffcdf9bf758 R10: 0x00007f5dec639156
 R11: 0x0000000000000000 R12: 0x00007ffcdf9bf758 R13: 0x0000000000000061
 R14: 0x00007ffcdf9bf770 R15: 0x00007ffcdf9bf8c0 EFL: 0x0000000000010246

-- Other runtime information -----------------------------------------------

* Loaded script: /usr/local/bundle/bin/gruf

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 rational.so
    3 complex.so
    4 /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/encdb.so
    5 /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/trans/transdb.so
    6 /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/rbconfig.rb
    7 /usr/local/lib/ruby/2.6.0/rubygems/compatibility.rb
    8 /usr/local/lib/ruby/2.6.0/rubygems/defaults.rb
    9 /usr/local/lib/ruby/2.6.0/rubygems/deprecate.rb
   10 /usr/local/lib/ruby/2.6.0/rubygems/errors.rb
   11 /usr/local/lib/ruby/2.6.0/rubygems/version.rb
   12 /usr/local/lib/ruby/2.6.0/rubygems/requirement.rb
   13 /usr/local/lib/ruby/2.6.0/rubygems/platform.rb
   14 /usr/local/lib/ruby/2.6.0/rubygems/basic_specification.rb
   15 /usr/local/lib/ruby/2.6.0/rubygems/stub_specification.rb
   16 /usr/local/lib/ruby/2.6.0/delegate.rb
   17 /usr/local/lib/ruby/2.6.0/uri/rfc2396_parser.rb
   18 /usr/local/lib/ruby/2.6.0/uri/rfc3986_parser.rb
   19 /usr/local/lib/ruby/2.6.0/uri/common.rb
   20 /usr/local/lib/ruby/2.6.0/uri/generic.rb
   21 /usr/local/lib/ruby/2.6.0/uri/file.rb
   22 /usr/local/lib/ruby/2.6.0/uri/ftp.rb
   23 /usr/local/lib/ruby/2.6.0/uri/http.rb
   24 /usr/local/lib/ruby/2.6.0/uri/https.rb
   25 /usr/local/lib/ruby/2.6.0/uri/ldap.rb
   26 /usr/local/lib/ruby/2.6.0/uri/ldaps.rb
   27 /usr/local/lib/ruby/2.6.0/uri/mailto.rb
   28 /usr/local/lib/ruby/2.6.0/uri.rb
   29 /usr/local/lib/ruby/2.6.0/rubygems/specification_policy.rb
   30 /usr/local/lib/ruby/2.6.0/rubygems/util/list.rb
   31 /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/stringio.so
   32 /usr/local/lib/ruby/2.6.0/rubygems/specification.rb
   33 /usr/local/lib/ruby/2.6.0/rubygems/exceptions.rb
   34 /usr/local/lib/ruby/2.6.0/rubygems/util.rb
   35 /usr/local/lib/ruby/2.6.0/rubygems/bundler_version_finder.rb
   36 /usr/local/lib/ruby/2.6.0/rubygems/dependency.rb
   37 /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_gem.rb
   38 /usr/local/lib/ruby/2.6.0/monitor.rb
   39 /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb
   40 /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_warn.rb
   41 /usr/local/lib/ruby/2.6.0/rubygems.rb
   42 /usr/local/lib/ruby/2.6.0/rubygems/path_support.rb
   43 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/version.rb
   44 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/core_ext/name_error.rb
   45 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/levenshtein.rb
   46 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/jaro_winkler.rb
   47 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checker.rb
   48 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
   49 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
   50 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb
   51 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/method_name_checker.rb
   52 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/key_error_checker.rb
   53 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/spell_checkers/null_checker.rb
   54 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean/formatters/plain_formatter.rb
   55 /usr/local/lib/ruby/gems/2.6.0/gems/did_you_mean-1.3.0/lib/did_you_mean.rb
   56 /usr/local/lib/ruby/2.6.0/tsort.rb
   57 /usr/local/lib/ruby/2.6.0/rubygems/request_set/gem_dependency_api.rb
   58 /usr/local/lib/ruby/2.6.0/rubygems/request_set/lockfile/parser.rb
   59 /usr/local/lib/ruby/2.6.0/rubygems/request_set/lockfile/tokenizer.rb
   60 /usr/local/lib/ruby/2.6.0/rubygems/request_set/lockfile.rb
   61 /usr/local/lib/ruby/2.6.0/rubygems/request_set.rb
   62 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb
   63 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/errors.rb
   64 /usr/local/lib/ruby/2.6.0/set.rb
   65 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb
   66 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb
   67 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb
   68 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb
   69 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb
   70 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb
   71 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb
   72 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb
   73 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb
   74 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb
   75 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/state.rb
   76 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb
   77 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb
   78 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb
   79 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/resolution.rb
   80 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/resolver.rb
   81 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb
   82 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo/lib/molinillo.rb
   83 /usr/local/lib/ruby/2.6.0/rubygems/resolver/molinillo.rb
   84 /usr/local/lib/ruby/2.6.0/rubygems/resolver/activation_request.rb
   85 /usr/local/lib/ruby/2.6.0/rubygems/resolver/conflict.rb
   86 /usr/local/lib/ruby/2.6.0/rubygems/resolver/dependency_request.rb
   87 /usr/local/lib/ruby/2.6.0/rubygems/resolver/requirement_list.rb
   88 /usr/local/lib/ruby/2.6.0/rubygems/resolver/stats.rb
   89 /usr/local/lib/ruby/2.6.0/rubygems/resolver/set.rb
   90 /usr/local/lib/ruby/2.6.0/rubygems/resolver/api_set.rb
   91 /usr/local/lib/ruby/2.6.0/rubygems/resolver/composed_set.rb
   92 /usr/local/lib/ruby/2.6.0/rubygems/resolver/best_set.rb
   93 /usr/local/lib/ruby/2.6.0/rubygems/resolver/current_set.rb
   94 /usr/local/lib/ruby/2.6.0/rubygems/resolver/git_set.rb
   95 /usr/local/lib/ruby/2.6.0/rubygems/resolver/index_set.rb
   96 /usr/local/lib/ruby/2.6.0/rubygems/resolver/installer_set.rb
   97 /usr/local/lib/ruby/2.6.0/rubygems/resolver/lock_set.rb
   98 /usr/local/lib/ruby/2.6.0/rubygems/resolver/vendor_set.rb
   99 /usr/local/lib/ruby/2.6.0/rubygems/resolver/source_set.rb
  100 /usr/local/lib/ruby/2.6.0/rubygems/resolver/specification.rb
  101 /usr/local/lib/ruby/2.6.0/rubygems/resolver/spec_specification.rb
  102 /usr/local/lib/ruby/2.6.0/rubygems/resolver/api_specification.rb
  103 /usr/local/lib/ruby/2.6.0/rubygems/resolver/git_specification.rb
  104 /usr/local/lib/ruby/2.6.0/rubygems/resolver/index_specification.rb
  105 /usr/local/lib/ruby/2.6.0/rubygems/resolver/installed_specification.rb
  106 /usr/local/lib/ruby/2.6.0/rubygems/resolver/local_specification.rb
  107 /usr/local/lib/ruby/2.6.0/rubygems/resolver/lock_specification.rb
  108 /usr/local/lib/ruby/2.6.0/rubygems/resolver/vendor_specification.rb
  109 /usr/local/lib/ruby/2.6.0/rubygems/resolver.rb
  110 /usr/local/lib/ruby/2.6.0/rubygems/source/git.rb
  111 /usr/local/lib/ruby/2.6.0/rubygems/source/installed.rb
  112 /usr/local/lib/ruby/2.6.0/rubygems/source/specific_file.rb
  113 /usr/local/lib/ruby/2.6.0/rubygems/source/local.rb
  114 /usr/local/lib/ruby/2.6.0/rubygems/source/lock.rb
  115 /usr/local/lib/ruby/2.6.0/rubygems/source/vendor.rb
  116 /usr/local/lib/ruby/2.6.0/rubygems/source.rb
  117 /usr/local/lib/ruby/2.6.0/bundler/version.rb
  118 /usr/local/lib/ruby/2.6.0/bundler/compatibility_guard.rb
  119 /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/pathname.so
  120 /usr/local/lib/ruby/2.6.0/pathname.rb
  121 /usr/local/lib/ruby/2.6.0/bundler/constants.rb
  122 /usr/local/lib/ruby/2.6.0/rubygems/text.rb
  123 /usr/local/lib/ruby/2.6.0/rubygems/user_interaction.rb
  124 /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/etc.so
  125 /usr/local/lib/ruby/2.6.0/rubygems/config_file.rb
  126 /usr/local/lib/ruby/2.6.0/bundler/rubygems_integration.rb
  127 /usr/local/lib/ruby/2.6.0/bundler/current_ruby.rb
  128 /usr/local/lib/ruby/2.6.0/bundler/shared_helpers.rb
  129 /usr/local/lib/ruby/2.6.0/rubygems/ext/builder.rb
  130 /usr/local/lib/ruby/2.6.0/bundler/setup.rb
  131 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/structs.rb
  132 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/core/status_codes.rb
  133 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/google_rpc_status_utils.rb
  134 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/errors.rb
  135 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/2.6/grpc_c.so
  136 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/grpc.rb
  137 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/logconfig.rb
  138 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/notifier.rb
  139 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/version.rb
  140 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/core/time_consts.rb
  141 /usr/local/lib/ruby/2.6.0/forwardable/impl.rb
  142 /usr/local/lib/ruby/2.6.0/forwardable.rb
  143 /usr/local/lib/ruby/2.6.0/weakref.rb
  144 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/generic/bidi_call.rb
  145 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb
  146 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/generic/client_stub.rb
  147 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_desc.rb
  148 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb
  149 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/generic/rpc_server.rb
  150 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptor_registry.rb
  151 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptors.rb
  152 /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc.rb
  153 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/core_ext/module/delegation.rb
  154 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/concern.rb
  155 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/constants.rb
  156 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/engine.rb
  157 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb
  158 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb
  159 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/mri_object.rb
  160 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/jruby_object.rb
  161 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/rbx_object.rb
  162 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/truffleruby_object.rb
  163 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/object.rb
  164 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/volatile.rb
  165 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb
  166 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb
  167 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/jruby_lockable_object.rb
  168 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/rbx_lockable_object.rb
  169 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb
  170 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/condition.rb
  171 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/lock.rb
  172 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization.rb
  173 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb
  174 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb
  175 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/map.rb
  176 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/core_ext/hash/deep_merge.rb
  177 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/core_ext/hash/except.rb
  178 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/core_ext/hash/slice.rb
  179 /usr/local/bundle/gems/i18n-1.8.2/lib/i18n/version.rb
  180 /usr/local/lib/ruby/2.6.0/cgi/core.rb
  181 /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/cgi/escape.so
  182 /usr/local/lib/ruby/2.6.0/cgi/util.rb
  183 /usr/local/lib/ruby/2.6.0/cgi/cookie.rb
  184 /usr/local/lib/ruby/2.6.0/cgi.rb
  185 /usr/local/bundle/gems/i18n-1.8.2/lib/i18n/exceptions.rb
  186 /usr/local/bundle/gems/i18n-1.8.2/lib/i18n/interpolate/ruby.rb
  187 /usr/local/bundle/gems/i18n-1.8.2/lib/i18n.rb
  188 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/lazy_load_hooks.rb
  189 /usr/local/bundle/gems/i18n-1.8.2/lib/i18n/config.rb
  190 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/i18n.rb
  191 /usr/local/lib/ruby/2.6.0/singleton.rb
  192 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/core_ext/kernel/singleton_class.rb
  193 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/deprecation/instance_delegator.rb
  194 /usr/local/lib/ruby/2.6.0/securerandom.rb
  195 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/notifications/instrumenter.rb
  196 /usr/local/lib/ruby/2.6.0/mutex_m.rb
  197 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/notifications/fanout.rb
  198 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/per_thread_registry.rb
  199 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/notifications.rb
  200 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/deprecation/behaviors.rb
  201 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/deprecation/reporting.rb
  202 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/deprecation/constant_accessor.rb
  203 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/core_ext/array/extract_options.rb
  204 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/core_ext/module/redefine_method.rb
  205 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/deprecation/method_wrappers.rb
  206 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/deprecation/proxy_wrappers.rb
  207 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/core_ext/module/deprecation.rb
  208 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/deprecation.rb
  209 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/inflector/inflections.rb
  210 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/multibyte.rb
  211 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/core_ext/string/multibyte.rb
  212 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/inflector/transliterate.rb
  213 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/inflections.rb
  214 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/inflector/methods.rb
  215 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/core_ext/string/inflections.rb
  216 /usr/local/bundle/gems/activesupport-6.0.2.1/lib/active_support/inflector.rb
  217 /usr/local/lib/ruby/2.6.0/base64.rb
  218 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/version.rb
  219 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/logging.rb
  220 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/loggable.rb
  221 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/configuration.rb
  222 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/errors/helpers.rb
  223 /usr/local/bundle/gems/slop-4.8.0/lib/slop/option.rb
  224 /usr/local/bundle/gems/slop-4.8.0/lib/slop/options.rb
  225 /usr/local/bundle/gems/slop-4.8.0/lib/slop/parser.rb
  226 /usr/local/bundle/gems/slop-4.8.0/lib/slop/result.rb
  227 /usr/local/bundle/gems/slop-4.8.0/lib/slop/types.rb
  228 /usr/local/bundle/gems/slop-4.8.0/lib/slop/error.rb
  229 /usr/local/bundle/gems/slop-4.8.0/lib/slop.rb
  230 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/cli/executor.rb
  231 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/controllers/request.rb
  232 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/controllers/service_binder.rb
  233 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/controllers/base.rb
  234 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/outbound/request_context.rb
  235 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/registry.rb
  236 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/client_interceptor.rb
  237 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/server_interceptor.rb
  238 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/context.rb
  239 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/timer.rb
  240 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/active_record/connection_reset.rb
  241 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/authentication/basic.rb
  242 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/instrumentation/statsd.rb
  243 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/instrumentation/output_metadata_timer.rb
  244 /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/socket.so
  245 /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/io/wait.so
  246 /usr/local/lib/ruby/2.6.0/socket.rb
  247 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/instrumentation/request_logging/formatters/base.rb
  248 /usr/local/lib/ruby/2.6.0/json/version.rb
  249 /usr/local/lib/ruby/2.6.0/ostruct.rb
  250 /usr/local/lib/ruby/2.6.0/json/generic_object.rb
  251 /usr/local/lib/ruby/2.6.0/json/common.rb
  252 /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/parser.so
  253 /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/generator.so
  254 /usr/local/lib/ruby/2.6.0/json/ext.rb
  255 /usr/local/lib/ruby/2.6.0/json.rb
  256 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/instrumentation/request_logging/formatters/logstash.rb
  257 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/instrumentation/request_logging/formatters/plain.rb
  258 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/instrumentation/request_logging/interceptor.rb
  259 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/interceptors/base.rb
  260 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/hooks/registry.rb
  261 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/hooks/executor.rb
  262 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/hooks/base.rb
  263 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/timer.rb
  264 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/response.rb
  265 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/errors/field.rb
  266 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/errors/debug_info.rb
  267 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/serializers/errors/base.rb
  268 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/serializers/errors/json.rb
  269 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/error.rb
  270 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/client/error.rb
  271 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/client/error_factory.rb
  272 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/client.rb
  273 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/version.rb
  274 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/errors.rb
  275 /usr/local/lib/ruby/2.6.0/timeout.rb
  276 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/event.rb
  277 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/dereferenceable.rb
  278 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/obligation.rb
  279 /usr/local/lib/ruby/2.6.0/logger.rb
  280 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/logging.rb
  281 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/deprecation.rb
  282 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/executor_service.rb
  283 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb
  284 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/serial_executor_service.rb
  285 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/immediate_executor.rb
  286 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/delay.rb
  287 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb
  288 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb
  289 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb
  290 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb
  291 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/monotonic_time.rb
  292 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb
  293 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb
  294 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb
  295 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/processor_counter.rb
  296 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/configuration.rb
  297 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb
  298 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_boolean.rb
  299 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_integer.rb
  300 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb
  301 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_fixnum.rb
  302 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb
  303 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_count_down_latch.rb
  304 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/java_count_down_latch.rb
  305 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb
  306 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb
  307 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/abstract_thread_local_var.rb
  308 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb
  309 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/java_thread_local_var.rb
  310 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/thread_local_var.rb
  311 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb
  312 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_semaphore.rb
  313 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/semaphore.rb
  314 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomics.rb
  315 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb
  316 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/simple_executor_service.rb
  317 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/indirect_immediate_executor.rb
  318 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/java_executor_service.rb
  319 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/java_single_thread_executor.rb
  320 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb
  321 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb
  322 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb
  323 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb
  324 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/serialized_execution_delegator.rb
  325 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb
  326 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb
  327 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb
  328 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/observable.rb
  329 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/ivar.rb
  330 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/options.rb
  331 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/scheduled_task.rb
  332 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb
  333 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb
  334 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb
  335 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb
  336 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executors.rb
  337 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb
  338 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/agent.rb
  339 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atom.rb
  340 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util.rb
  341 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/array.rb
  342 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/hash.rb
  343 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/set.rb
  344 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/tuple.rb
  345 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/async.rb
  346 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/future.rb
  347 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/dataflow.rb
  348 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/maybe.rb
  349 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/exchanger.rb
  350 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb
  351 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/immutable_struct.rb
  352 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/mutable_struct.rb
  353 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/mvar.rb
  354 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/promise.rb
  355 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb
  356 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/timer_task.rb
  357 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/tvar.rb
  358 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb
  359 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/re_include.rb
  360 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/promises.rb
  361 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/synchronized_delegator.rb
  362 /usr/local/bundle/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent.rb
  363 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/synchronized_client.rb
  364 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/instrumentable_grpc_server.rb
  365 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf/server.rb
  366 /usr/local/bundle/gems/gruf-2.8.0/lib/gruf.rb

* Process memory map:

5618cedcf000-5618cedd0000 r--p 00000000 08:01 3603955                    /usr/local/bin/ruby
5618cedd0000-5618cedd1000 r-xp 00001000 08:01 3603955                    /usr/local/bin/ruby
5618cedd1000-5618cedd2000 r--p 00002000 08:01 3603955                    /usr/local/bin/ruby
5618cedd2000-5618cedd3000 r--p 00002000 08:01 3603955                    /usr/local/bin/ruby
5618cedd3000-5618cedd4000 rw-p 00003000 08:01 3603955                    /usr/local/bin/ruby
5618d010c000-5618d0e23000 rw-p 00000000 00:00 0                          [heap]
7f5de8d90000-7f5de8d92000 ---p 00000000 00:00 0
7f5de8d92000-7f5de8f94000 rw-p 00000000 00:00 0
7f5de8f94000-7f5de8f96000 ---p 00000000 00:00 0
7f5de8f96000-7f5de9198000 rw-p 00000000 00:00 0
7f5de9198000-7f5de919a000 ---p 00000000 00:00 0
7f5de919a000-7f5de91bb000 rw-p 00000000 00:00 0
7f5de91bb000-7f5de91bd000 ---p 00000000 00:00 0
7f5de91bd000-7f5de91de000 rw-p 00000000 00:00 0
7f5de91de000-7f5de91e0000 ---p 00000000 00:00 0
7f5de91e0000-7f5de9201000 rw-p 00000000 00:00 0
7f5de9201000-7f5de9203000 ---p 00000000 00:00 0
7f5de9203000-7f5de9405000 rw-p 00000000 00:00 0
7f5de9405000-7f5de9407000 ---p 00000000 00:00 0
7f5de9407000-7f5de9609000 rw-p 00000000 00:00 0
7f5de9609000-7f5de960b000 ---p 00000000 00:00 0
7f5de960b000-7f5de980d000 rw-p 00000000 00:00 0
7f5de980d000-7f5de980f000 r--p 00000000 08:01 3737841                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/generator.so
7f5de980f000-7f5de9815000 r-xp 00002000 08:01 3737841                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/generator.so
7f5de9815000-7f5de9817000 r--p 00008000 08:01 3737841                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/generator.so
7f5de9817000-7f5de9818000 r--p 00009000 08:01 3737841                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/generator.so
7f5de9818000-7f5de9819000 rw-p 0000a000 08:01 3737841                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/generator.so
7f5de9819000-7f5de985f000 rw-p 00000000 00:00 0
7f5de9861000-7f5de9863000 r--p 00000000 08:01 3737842                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/parser.so
7f5de9863000-7f5de9866000 r-xp 00002000 08:01 3737842                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/parser.so
7f5de9866000-7f5de9867000 r--p 00005000 08:01 3737842                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/parser.so
7f5de9867000-7f5de9868000 r--p 00006000 08:01 3737842                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/parser.so
7f5de9868000-7f5de9869000 r--p 00006000 08:01 3737842                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/parser.so
7f5de9869000-7f5de986a000 rw-p 00007000 08:01 3737842                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/json/ext/parser.so
7f5de986a000-7f5de986b000 r--p 00000000 08:01 3737838                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/io/wait.so
7f5de986b000-7f5de986c000 r-xp 00001000 08:01 3737838                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/io/wait.so
7f5de986c000-7f5de986d000 r--p 00002000 08:01 3737838                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/io/wait.so
7f5de986d000-7f5de986e000 r--p 00002000 08:01 3737838                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/io/wait.so
7f5de986e000-7f5de986f000 rw-p 00003000 08:01 3737838                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/io/wait.so
7f5de986f000-7f5de9875000 r--p 00000000 08:01 3605048                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/socket.so
7f5de9875000-7f5de9895000 r-xp 00006000 08:01 3605048                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/socket.so
7f5de9895000-7f5de989c000 r--p 00026000 08:01 3605048                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/socket.so
7f5de989c000-7f5de989d000 r--p 0002d000 08:01 3605048                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/socket.so
7f5de989d000-7f5de989e000 r--p 0002d000 08:01 3605048                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/socket.so
7f5de989e000-7f5de989f000 rw-p 0002e000 08:01 3605048                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/socket.so
7f5de989f000-7f5de98a0000 r--p 00000000 08:01 3737752                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/cgi/escape.so
7f5de98a0000-7f5de98a2000 r-xp 00001000 08:01 3737752                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/cgi/escape.so
7f5de98a2000-7f5de98a3000 r--p 00003000 08:01 3737752                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/cgi/escape.so
7f5de98a3000-7f5de98a4000 r--p 00003000 08:01 3737752                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/cgi/escape.so
7f5de98a4000-7f5de98a5000 rw-p 00004000 08:01 3737752                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/cgi/escape.so
7f5de98a5000-7f5de9a80000 rw-p 00000000 00:00 0
7f5de9a80000-7f5de9a81000 r--p 00000000 08:01 396206                     /lib/ld-linux-x86-64.so.2
7f5de9a81000-7f5de9a83000 r-xp 00001000 08:01 396206                     /lib/ld-linux-x86-64.so.2
7f5de9a83000-7f5de9a84000 r--p 00003000 08:01 396206                     /lib/ld-linux-x86-64.so.2
7f5de9a84000-7f5de9a85000 r--p 00003000 08:01 396206                     /lib/ld-linux-x86-64.so.2
7f5de9a85000-7f5de9a86000 rw-p 00004000 08:01 396206                     /lib/ld-linux-x86-64.so.2
7f5de9a86000-7f5dea010000 r-xp 00000000 08:01 396498                     /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/2.6/grpc_c.so
7f5dea010000-7f5dea02e000 r--p 0038a000 08:01 396498                     /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/2.6/grpc_c.so
7f5dea02e000-7f5dea031000 rw-p 003a8000 08:01 396498                     /usr/local/bundle/gems/grpc-1.27.0-x86_64-linux/src/ruby/lib/grpc/2.6/grpc_c.so
7f5dea031000-7f5dea039000 rw-p 00000000 00:00 0
7f5dea039000-7f5dea03b000 r--p 00000000 08:01 3605033                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/etc.so
7f5dea03b000-7f5dea03e000 r-xp 00002000 08:01 3605033                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/etc.so
7f5dea03e000-7f5dea040000 r--p 00005000 08:01 3605033                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/etc.so
7f5dea040000-7f5dea041000 r--p 00006000 08:01 3605033                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/etc.so
7f5dea041000-7f5dea042000 rw-p 00007000 08:01 3605033                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/etc.so
7f5dea042000-7f5dea044000 r--p 00000000 08:01 3605041                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/pathname.so
7f5dea044000-7f5dea04a000 r-xp 00002000 08:01 3605041                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/pathname.so
7f5dea04a000-7f5dea04c000 r--p 00008000 08:01 3605041                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/pathname.so
7f5dea04c000-7f5dea04d000 r--p 00009000 08:01 3605041                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/pathname.so
7f5dea04d000-7f5dea04e000 rw-p 0000a000 08:01 3605041                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/pathname.so
7f5dea04e000-7f5dea0af000 rw-p 00000000 00:00 0
7f5dea0af000-7f5dea0b1000 r--p 00000000 08:01 3605049                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/stringio.so
7f5dea0b1000-7f5dea0b6000 r-xp 00002000 08:01 3605049                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/stringio.so
7f5dea0b6000-7f5dea0b8000 r--p 00007000 08:01 3605049                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/stringio.so
7f5dea0b8000-7f5dea0b9000 r--p 00008000 08:01 3605049                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/stringio.so
7f5dea0b9000-7f5dea0ba000 rw-p 00009000 08:01 3605049                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/stringio.so
7f5dea0ba000-7f5dea0bb000 r--p 00000000 08:01 3737821                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/trans/transdb.so
7f5dea0bb000-7f5dea0bd000 r-xp 00001000 08:01 3737821                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/trans/transdb.so
7f5dea0bd000-7f5dea0be000 r--p 00003000 08:01 3737821                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/trans/transdb.so
7f5dea0be000-7f5dea0bf000 r--p 00003000 08:01 3737821                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/trans/transdb.so
7f5dea0bf000-7f5dea0c0000 rw-p 00004000 08:01 3737821                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/trans/transdb.so
7f5dea0c0000-7f5dea0c1000 r--p 00000000 08:01 3737763                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/encdb.so
7f5dea0c1000-7f5dea0c2000 r-xp 00001000 08:01 3737763                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/encdb.so
7f5dea0c2000-7f5dea0c3000 r--p 00002000 08:01 3737763                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/encdb.so
7f5dea0c3000-7f5dea0c4000 r--p 00002000 08:01 3737763                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/encdb.so
7f5dea0c4000-7f5dea0c5000 rw-p 00003000 08:01 3737763                    /usr/local/lib/ruby/2.6.0/x86_64-linux-musl/enc/encdb.so
7f5dea0c5000-7f5dec1cf000 rw-p 00000000 00:00 0
7f5dec1cf000-7f5dec1da000 r--p 00000000 08:01 822819                     /usr/lib/libgmp.so.10.3.2
7f5dec1da000-7f5dec21b000 r-xp 0000b000 08:01 822819                     /usr/lib/libgmp.so.10.3.2
7f5dec21b000-7f5dec231000 r--p 0004c000 08:01 822819                     /usr/lib/libgmp.so.10.3.2
7f5dec231000-7f5dec233000 r--p 00061000 08:01 822819                     /usr/lib/libgmp.so.10.3.2
7f5dec233000-7f5dec234000 rw-p 00063000 08:01 822819                     /usr/lib/libgmp.so.10.3.2
7f5dec234000-7f5dec237000 r--p 00000000 08:01 821052                     /lib/libz.so.1.2.11
7f5dec237000-7f5dec245000 r-xp 00003000 08:01 821052                     /lib/libz.so.1.2.11
7f5dec245000-7f5dec24c000 r--p 00011000 08:01 821052                     /lib/libz.so.1.2.11
7f5dec24c000-7f5dec24d000 r--p 00017000 08:01 821052                     /lib/libz.so.1.2.11
7f5dec24d000-7f5dec24e000 rw-p 00018000 08:01 821052                     /lib/libz.so.1.2.11
7f5dec24e000-7f5dec278000 r--p 00000000 08:01 3603995                    /usr/local/lib/libruby.so.2.6.5
7f5dec278000-7f5dec4ae000 r-xp 0002a000 08:01 3603995                    /usr/local/lib/libruby.so.2.6.5
7f5dec4ae000-7f5dec594000 r--p 00260000 08:01 3603995                    /usr/local/lib/libruby.so.2.6.5
7f5dec594000-7f5dec595000 r--p 00346000 08:01 3603995                    /usr/local/lib/libruby.so.2.6.5
7f5dec595000-7f5dec59d000 r--p 00346000 08:01 3603995                    /usr/local/lib/libruby.so.2.6.5
7f5dec59d000-7f5dec59e000 rw-p 0034e000 08:01 3603995                    /usr/local/lib/libruby.so.2.6.5
7f5dec59e000-7f5dec5ad000 rw-p 00000000 00:00 0
7f5dec5ad000-7f5dec5c2000 r--p 00000000 08:01 821047                     /lib/ld-musl-x86_64.so.1
7f5dec5c2000-7f5dec608000 r-xp 00015000 08:01 821047                     /lib/ld-musl-x86_64.so.1
7f5dec608000-7f5dec63a000 r--p 0005b000 08:01 821047                     /lib/ld-musl-x86_64.so.1
7f5dec63a000-7f5dec63b000 r--p 0008c000 08:01 821047                     /lib/ld-musl-x86_64.so.1
7f5dec63b000-7f5dec63c000 rw-p 0008d000 08:01 821047                     /lib/ld-musl-x86_64.so.1
7f5dec63c000-7f5dec63f000 rw-p 00000000 00:00 0
7ffcdf1c3000-7ffcdf9c2000 rw-p 00000000 00:00 0                          [stack]
7ffcdf9d6000-7ffcdf9d9000 r--p 00000000 00:00 0                          [vvar]
7ffcdf9d9000-7ffcdf9db000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: https://www.ruby-lang.org/bugreport.html

Aborted

What should happen?

We shouldn't see segmentation fault issue. At least missed service definition exception.

Anything else we should know?

splittingred commented 4 years ago

This is not due to gruf, but to the underlying grpc library:

docker run --rm -it ruby:2.6.5-alpine /bin/sh
apk update && apk add --no-cache gcompat
gem install grpc
ruby -e "require 'grpc'; s = GRPC::RpcServer.new; puts s.add_http2_port('0.0.0.0:9001', :this_port_is_insecure)"

...will cause the segfault.

Likely it's due to something related to:

Closing this, as gruf is not the issue here, rather Ruby gRPC itself on Alpine. Thanks for reporting! I'd follow up with the Google team.