Actions
Bug #16617
closedI can have instance methods bound to objects which are not their owner
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
Description
Usually, an UnboundMethod can only be bound to objects of its owner. However, sometimes the limitations can be circumvented. See the following example:
class A
def foo
self.class
end
end
class B
end
module R
Bar = refine A do
def foo
super
end
end
end
using R
unbound = R::Bar.instance_method :foo
p unbound.bind_call B.new # => B
You can see that although foo
is a method of A
, it is called on an object of B
.
This can lead to chaos. I can override UnboundMethod#bind
like this:
class UnboundMethod
UnlimitedBind = Module.new
def free_bind receiver
UnlimitedBind.module_exec [name, owner] do |(name, owner)|
refine owner do
define_method name do |*args, **opts, &block|
super *args, **opts, &block
end
end
end.instance_method(name).bind receiver
end
end
using UnboundMethod::UnlimitedBind
Then, I can bind any UnboundMethod to any object at ease...
class A
def foo
self.class
end
end
class B
end
p A.instance_method(:foo).free_bind(B.new).call # => B
What is even worse is that, free-binding instance methods in the core library can easily lead to segmentation fault in C level:
String.instance_method(:gsub).free_bind(42).call ?a, ?b # => Segmentation fault
This can output:
[BUG] Segmentation fault at 0x0000000000000055
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0005 p:---- s:0024 e:000023 CFUNC :gsub
c:0004 p:0022 s:0018 e:000017 BLOCK test.rb:39 [FINISH]
c:0003 p:---- s:0012 e:000011 CFUNC :call
c:0002 p:0096 s:0006 e:000005 EVAL test.rb:56 [FINISH]
c:0001 p:0000 s:0003 E:001b50 (none) [FINISH]
-- Ruby level backtrace information ----------------------------------------
test.rb:56:in `<main>'
test.rb:56:in `call'
test.rb:39:in `block (3 levels) in free_bind'
test.rb:39:in `gsub'
-- Machine register context ------------------------------------------------
RIP: 0x00007f3cd7f836a7 RBP: 0x00005589c0050c40 RSP: 0x00007ffc63e38f10
RAX: 0x0000000000000005 RBX: 0x00007f3cd6a520a8 RCX: 0x0000000000000001
RDX: 0x0000000000000000 RDI: 0x0000000000000055 RSI: 0x00005589c0050c40
R8: 0x0000000000000000 R9: 0x0000000000000000 R10: 0x0000000000000003
R11: 0x00005589c0050ab0 R12: 0x0000000000000055 R13: 0x0000000055550883
R14: 0x0000000000000000 R15: 0x0000000000000055 EFL: 0x0000000000010202
-- C level backtrace information -------------------------------------------
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(rb_vm_bugreport+0x555) [0x7f3cd7ffb125] vm_dump.c:755
[0x7f3cd7e3a3c7]
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(sigsegv+0x4b) [0x7f3cd7f66c5b] signal.c:946
/lib/x86_64-linux-gnu/libc.so.6(0x7f3cd7bccf60) [0x7f3cd7bccf60]
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(rb_strseq_index+0x17) [0x7f3cd7f836a7] string.c:3494
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(str_gsub+0x352) [0x7f3cd7f90b12] string.c:4937
[0x7f3cd7fda3c9]
[0x7f3cd7ff2c9c]
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(vm_call_method+0x55) [0x7f3cd7ff3435] vm_insnhelper.c:3026
[0x7f3cd7ff3135]
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(vm_call_method+0x55) [0x7f3cd7ff3435] vm_insnhelper.c:3026
[0x7f3cd7fe71da]
[0x7f3cd7feb13c]
[0x7f3cd7febfa8]
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(vm_call_bmethod_body+0x28) [0x7f3cd7fecd58] vm_insnhelper.c:2570
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(rb_vm_call0+0xbf) [0x7f3cd7fed2ef] vm_eval.c:52
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(rb_vm_call_kw+0x68) [0x7f3cd7fed588] vm_eval.c:268
[0x7f3cd7f12da1]
[0x7f3cd7fda3c9]
[0x7f3cd7ff2c9c]
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(vm_call_method+0x55) [0x7f3cd7ff3435] vm_insnhelper.c:3026
[0x7f3cd7fe5622]
[0x7f3cd7feb13c]
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(rb_ec_exec_node+0xaa) [0x7f3cd7e3edba] eval.c:277
/usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7(ruby_run_node+0x49) [0x7f3cd7e44029] eval.c:335
/usr/share/rvm/rubies/ruby-2.7.0/bin/ruby(main+0x5b) [0x5589bed4910b] ./main.c:50
-- Other runtime information -----------------------------------------------
* Loaded script: test.rb
* Loaded features:
0 enumerator.so
1 thread.rb
2 rational.so
3 complex.so
4 ruby2_keywords.rb
5 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
6 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/trans/transdb.so
7 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/rbconfig.rb
8 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/compatibility.rb
9 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/defaults.rb
10 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/deprecate.rb
11 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/errors.rb
12 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/version.rb
13 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/requirement.rb
14 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/platform.rb
15 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/basic_specification.rb
16 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/stub_specification.rb
17 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/util.rb
18 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/text.rb
19 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/user_interaction.rb
20 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/specification_policy.rb
21 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/util/list.rb
22 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/specification.rb
23 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/exceptions.rb
24 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/bundler_version_finder.rb
25 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/dependency.rb
26 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/core_ext/kernel_gem.rb
27 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/monitor.so
28 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/monitor.rb
29 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb
30 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/core_ext/kernel_warn.rb
31 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems.rb
32 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/rubygems/path_support.rb
33 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/version.rb
34 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/core_ext/name_error.rb
35 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/levenshtein.rb
36 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/jaro_winkler.rb
37 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/spell_checker.rb
38 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
39 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
40 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/spell_checkers/name_error_checkers.rb
41 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/spell_checkers/method_name_checker.rb
42 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/spell_checkers/key_error_checker.rb
43 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/spell_checkers/null_checker.rb
44 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/formatters/plain_formatter.rb
45 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean/tree_spell_checker.rb
46 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/did_you_mean.rb
* Process memory map:
5589bed48000-5589bed49000 r--p 00000000 08:01 337300 /usr/share/rvm/rubies/ruby-2.7.0/bin/ruby
5589bed49000-5589bed4a000 r-xp 00001000 08:01 337300 /usr/share/rvm/rubies/ruby-2.7.0/bin/ruby
5589bed4a000-5589bed4b000 r--p 00002000 08:01 337300 /usr/share/rvm/rubies/ruby-2.7.0/bin/ruby
5589bed4b000-5589bed4c000 r--p 00002000 08:01 337300 /usr/share/rvm/rubies/ruby-2.7.0/bin/ruby
5589bed4c000-5589bed4d000 rw-p 00003000 08:01 337300 /usr/share/rvm/rubies/ruby-2.7.0/bin/ruby
5589c0026000-5589c0413000 rw-p 00000000 00:00 0 [heap]
7f3cd1fcd000-7f3cd21b6000 r--s 00000000 08:01 665165 /usr/lib/x86_64-linux-gnu/libc-2.29.so
7f3cd21b6000-7f3cd2c0f000 rw-p 00000000 00:00 0
7f3cd2c0f000-7f3cd359d000 r--s 00000000 08:01 337302 /usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7.0
7f3cd359d000-7f3cd35ce000 r--s 00000000 08:01 337300 /usr/share/rvm/rubies/ruby-2.7.0/bin/ruby
7f3cd35ce000-7f3cd35d1000 r--p 00000000 08:01 665071 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7f3cd35d1000-7f3cd35e2000 r-xp 00003000 08:01 665071 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7f3cd35e2000-7f3cd35e6000 r--p 00014000 08:01 665071 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7f3cd35e6000-7f3cd35e7000 r--p 00017000 08:01 665071 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7f3cd35e7000-7f3cd35e8000 rw-p 00018000 08:01 665071 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
7f3cd3609000-7f3cd360a000 ---p 00000000 00:00 0
7f3cd360a000-7f3cd36ab000 rw-p 00000000 00:00 0
7f3cd36ab000-7f3cd36ac000 ---p 00000000 00:00 0
7f3cd36ac000-7f3cd374d000 rw-p 00000000 00:00 0
7f3cd374d000-7f3cd374e000 ---p 00000000 00:00 0
7f3cd374e000-7f3cd37ef000 rw-p 00000000 00:00 0
7f3cd37ef000-7f3cd37f0000 ---p 00000000 00:00 0
7f3cd37f0000-7f3cd3891000 rw-p 00000000 00:00 0
7f3cd3891000-7f3cd3892000 ---p 00000000 00:00 0
7f3cd3892000-7f3cd3933000 rw-p 00000000 00:00 0
7f3cd3933000-7f3cd3934000 ---p 00000000 00:00 0
7f3cd3934000-7f3cd39d5000 rw-p 00000000 00:00 0
7f3cd39d5000-7f3cd39d6000 ---p 00000000 00:00 0
7f3cd39d6000-7f3cd3a77000 rw-p 00000000 00:00 0
7f3cd3a77000-7f3cd3a78000 ---p 00000000 00:00 0
7f3cd3a78000-7f3cd3b19000 rw-p 00000000 00:00 0
7f3cd3b19000-7f3cd3b1a000 ---p 00000000 00:00 0
7f3cd3b1a000-7f3cd3bbb000 rw-p 00000000 00:00 0
7f3cd3bbb000-7f3cd3bbc000 ---p 00000000 00:00 0
7f3cd3bbc000-7f3cd3c5d000 rw-p 00000000 00:00 0
7f3cd3c5d000-7f3cd3c5e000 ---p 00000000 00:00 0
7f3cd3c5e000-7f3cd3cff000 rw-p 00000000 00:00 0
7f3cd3cff000-7f3cd3d00000 ---p 00000000 00:00 0
7f3cd3d00000-7f3cd3da1000 rw-p 00000000 00:00 0
7f3cd3da1000-7f3cd3da2000 ---p 00000000 00:00 0
7f3cd3da2000-7f3cd3e43000 rw-p 00000000 00:00 0
7f3cd3e43000-7f3cd3e44000 ---p 00000000 00:00 0
7f3cd3e44000-7f3cd3ee5000 rw-p 00000000 00:00 0
7f3cd3ee5000-7f3cd3ee6000 ---p 00000000 00:00 0
7f3cd3ee6000-7f3cd3f87000 rw-p 00000000 00:00 0
7f3cd3f87000-7f3cd3f88000 ---p 00000000 00:00 0
7f3cd3f88000-7f3cd4029000 rw-p 00000000 00:00 0
7f3cd4029000-7f3cd402a000 ---p 00000000 00:00 0
7f3cd402a000-7f3cd40cb000 rw-p 00000000 00:00 0
7f3cd40cb000-7f3cd40cc000 ---p 00000000 00:00 0
7f3cd40cc000-7f3cd416d000 rw-p 00000000 00:00 0
7f3cd416d000-7f3cd416e000 ---p 00000000 00:00 0
7f3cd416e000-7f3cd420f000 rw-p 00000000 00:00 0
7f3cd420f000-7f3cd4210000 ---p 00000000 00:00 0
7f3cd4210000-7f3cd42b1000 rw-p 00000000 00:00 0
7f3cd42b1000-7f3cd42b2000 ---p 00000000 00:00 0
7f3cd42b2000-7f3cd4353000 rw-p 00000000 00:00 0
7f3cd4353000-7f3cd4354000 ---p 00000000 00:00 0
7f3cd4354000-7f3cd43f5000 rw-p 00000000 00:00 0
7f3cd43f5000-7f3cd43f6000 ---p 00000000 00:00 0
7f3cd43f6000-7f3cd4497000 rw-p 00000000 00:00 0
7f3cd4497000-7f3cd4498000 ---p 00000000 00:00 0
7f3cd4498000-7f3cd4539000 rw-p 00000000 00:00 0
7f3cd4539000-7f3cd453a000 ---p 00000000 00:00 0
7f3cd453a000-7f3cd45db000 rw-p 00000000 00:00 0
7f3cd45db000-7f3cd45dc000 ---p 00000000 00:00 0
7f3cd45dc000-7f3cd467d000 rw-p 00000000 00:00 0
7f3cd467d000-7f3cd467e000 ---p 00000000 00:00 0
7f3cd467e000-7f3cd471f000 rw-p 00000000 00:00 0
7f3cd471f000-7f3cd4720000 ---p 00000000 00:00 0
7f3cd4720000-7f3cd47c1000 rw-p 00000000 00:00 0
7f3cd47c1000-7f3cd47c2000 ---p 00000000 00:00 0
7f3cd47c2000-7f3cd4863000 rw-p 00000000 00:00 0
7f3cd4863000-7f3cd4864000 ---p 00000000 00:00 0
7f3cd4864000-7f3cd4905000 rw-p 00000000 00:00 0
7f3cd4905000-7f3cd4906000 ---p 00000000 00:00 0
7f3cd4906000-7f3cd49a7000 rw-p 00000000 00:00 0
7f3cd49a7000-7f3cd49a8000 ---p 00000000 00:00 0
7f3cd49a8000-7f3cd6b53000 rw-p 00000000 00:00 0
7f3cd6b53000-7f3cd792e000 r--p 00000000 08:01 663519 /usr/lib/locale/locale-archive
7f3cd792e000-7f3cd7930000 rw-p 00000000 00:00 0
7f3cd7930000-7f3cd793f000 r--p 00000000 08:01 665784 /usr/lib/x86_64-linux-gnu/libm-2.29.so
7f3cd793f000-7f3cd79e5000 r-xp 0000f000 08:01 665784 /usr/lib/x86_64-linux-gnu/libm-2.29.so
7f3cd79e5000-7f3cd7a7c000 r--p 000b5000 08:01 665784 /usr/lib/x86_64-linux-gnu/libm-2.29.so
7f3cd7a7c000-7f3cd7a7d000 r--p 0014b000 08:01 665784 /usr/lib/x86_64-linux-gnu/libm-2.29.so
7f3cd7a7d000-7f3cd7a7e000 rw-p 0014c000 08:01 665784 /usr/lib/x86_64-linux-gnu/libm-2.29.so
7f3cd7a7e000-7f3cd7a7f000 r--p 00000000 08:01 665245 /usr/lib/x86_64-linux-gnu/libcrypt-2.29.so
7f3cd7a7f000-7f3cd7a85000 r-xp 00001000 08:01 665245 /usr/lib/x86_64-linux-gnu/libcrypt-2.29.so
7f3cd7a85000-7f3cd7a87000 r--p 00007000 08:01 665245 /usr/lib/x86_64-linux-gnu/libcrypt-2.29.so
7f3cd7a87000-7f3cd7a88000 ---p 00009000 08:01 665245 /usr/lib/x86_64-linux-gnu/libcrypt-2.29.so
7f3cd7a88000-7f3cd7a89000 r--p 00009000 08:01 665245 /usr/lib/x86_64-linux-gnu/libcrypt-2.29.so
7f3cd7a89000-7f3cd7a8a000 rw-p 0000a000 08:01 665245 /usr/lib/x86_64-linux-gnu/libcrypt-2.29.so
7f3cd7a8a000-7f3cd7ab8000 rw-p 00000000 00:00 0
7f3cd7ab8000-7f3cd7ac2000 r--p 00000000 08:01 660745 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.2
7f3cd7ac2000-7f3cd7b1f000 r-xp 0000a000 08:01 660745 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.2
7f3cd7b1f000-7f3cd7b36000 r--p 00067000 08:01 660745 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.2
7f3cd7b36000-7f3cd7b37000 ---p 0007e000 08:01 660745 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.2
7f3cd7b37000-7f3cd7b38000 r--p 0007e000 08:01 660745 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.2
7f3cd7b38000-7f3cd7b39000 rw-p 0007f000 08:01 660745 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.2
7f3cd7b39000-7f3cd7b3c000 r--p 00000000 08:01 666120 /usr/lib/x86_64-linux-gnu/librt-2.29.so
7f3cd7b3c000-7f3cd7b40000 r-xp 00003000 08:01 666120 /usr/lib/x86_64-linux-gnu/librt-2.29.so
7f3cd7b40000-7f3cd7b42000 r--p 00007000 08:01 666120 /usr/lib/x86_64-linux-gnu/librt-2.29.so
7f3cd7b42000-7f3cd7b43000 r--p 00008000 08:01 666120 /usr/lib/x86_64-linux-gnu/librt-2.29.so
7f3cd7b43000-7f3cd7b44000 rw-p 00009000 08:01 666120 /usr/lib/x86_64-linux-gnu/librt-2.29.so
7f3cd7b44000-7f3cd7b46000 rw-p 00000000 00:00 0
7f3cd7b46000-7f3cd7b48000 r--p 00000000 08:01 661383 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7f3cd7b48000-7f3cd7b59000 r-xp 00002000 08:01 661383 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7f3cd7b59000-7f3cd7b5f000 r--p 00013000 08:01 661383 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7f3cd7b5f000-7f3cd7b60000 ---p 00019000 08:01 661383 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7f3cd7b60000-7f3cd7b61000 r--p 00019000 08:01 661383 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7f3cd7b61000-7f3cd7b62000 rw-p 0001a000 08:01 661383 /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7f3cd7b62000-7f3cd7b69000 r--p 00000000 08:01 666054 /usr/lib/x86_64-linux-gnu/libpthread-2.29.so
7f3cd7b69000-7f3cd7b78000 r-xp 00007000 08:01 666054 /usr/lib/x86_64-linux-gnu/libpthread-2.29.so
7f3cd7b78000-7f3cd7b7d000 r--p 00016000 08:01 666054 /usr/lib/x86_64-linux-gnu/libpthread-2.29.so
7f3cd7b7d000-7f3cd7b7e000 r--p 0001a000 08:01 666054 /usr/lib/x86_64-linux-gnu/libpthread-2.29.so
7f3cd7b7e000-7f3cd7b7f000 rw-p 0001b000 08:01 666054 /usr/lib/x86_64-linux-gnu/libpthread-2.29.so
7f3cd7b7f000-7f3cd7b83000 rw-p 00000000 00:00 0
7f3cd7b83000-7f3cd7b84000 r--p 00000000 08:01 665302 /usr/lib/x86_64-linux-gnu/libdl-2.29.so
7f3cd7b84000-7f3cd7b86000 r-xp 00001000 08:01 665302 /usr/lib/x86_64-linux-gnu/libdl-2.29.so
7f3cd7b86000-7f3cd7b87000 r--p 00003000 08:01 665302 /usr/lib/x86_64-linux-gnu/libdl-2.29.so
7f3cd7b87000-7f3cd7b88000 r--p 00003000 08:01 665302 /usr/lib/x86_64-linux-gnu/libdl-2.29.so
7f3cd7b88000-7f3cd7b89000 rw-p 00004000 08:01 665302 /usr/lib/x86_64-linux-gnu/libdl-2.29.so
7f3cd7b89000-7f3cd7bae000 r--p 00000000 08:01 665165 /usr/lib/x86_64-linux-gnu/libc-2.29.so
7f3cd7bae000-7f3cd7d21000 r-xp 00025000 08:01 665165 /usr/lib/x86_64-linux-gnu/libc-2.29.so
7f3cd7d21000-7f3cd7d6a000 r--p 00198000 08:01 665165 /usr/lib/x86_64-linux-gnu/libc-2.29.so
7f3cd7d6a000-7f3cd7d6d000 r--p 001e0000 08:01 665165 /usr/lib/x86_64-linux-gnu/libc-2.29.so
7f3cd7d6d000-7f3cd7d70000 rw-p 001e3000 08:01 665165 /usr/lib/x86_64-linux-gnu/libc-2.29.so
7f3cd7d70000-7f3cd7d74000 rw-p 00000000 00:00 0
7f3cd7d74000-7f3cd7da1000 r--p 00000000 08:01 337302 /usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7.0
7f3cd7da1000-7f3cd8007000 r-xp 0002d000 08:01 337302 /usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7.0
7f3cd8007000-7f3cd80fc000 r--p 00293000 08:01 337302 /usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7.0
7f3cd80fc000-7f3cd8102000 r--p 00387000 08:01 337302 /usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7.0
7f3cd8102000-7f3cd8105000 rw-p 0038d000 08:01 337302 /usr/share/rvm/rubies/ruby-2.7.0/lib/libruby.so.2.7.0
7f3cd8105000-7f3cd8120000 rw-p 00000000 00:00 0
7f3cd8120000-7f3cd8126000 r-xp 00000000 08:01 701669 /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
7f3cd8126000-7f3cd8325000 ---p 00006000 08:01 701669 /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
7f3cd8325000-7f3cd8326000 r--p 00005000 08:01 701669 /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
7f3cd8326000-7f3cd8327000 rw-p 00006000 08:01 701669 /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0
7f3cd8327000-7f3cd8329000 rw-p 00000000 00:00 0
7f3cd833a000-7f3cd833b000 r--p 00000000 08:01 337411 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/monitor.so
7f3cd833b000-7f3cd833c000 r-xp 00001000 08:01 337411 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/monitor.so
7f3cd833c000-7f3cd833d000 r--p 00002000 08:01 337411 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/monitor.so
7f3cd833d000-7f3cd833e000 r--p 00002000 08:01 337411 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/monitor.so
7f3cd833e000-7f3cd833f000 rw-p 00003000 08:01 337411 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/monitor.so
7f3cd833f000-7f3cd8340000 r--p 00000000 08:01 337397 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/trans/transdb.so
7f3cd8340000-7f3cd8342000 r-xp 00001000 08:01 337397 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/trans/transdb.so
7f3cd8342000-7f3cd8343000 r--p 00003000 08:01 337397 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/trans/transdb.so
7f3cd8343000-7f3cd8344000 r--p 00003000 08:01 337397 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/trans/transdb.so
7f3cd8344000-7f3cd8345000 rw-p 00004000 08:01 337397 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/trans/transdb.so
7f3cd8345000-7f3cd8346000 r--p 00000000 08:01 337377 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
7f3cd8346000-7f3cd8347000 r-xp 00001000 08:01 337377 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
7f3cd8347000-7f3cd8348000 r--p 00002000 08:01 337377 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
7f3cd8348000-7f3cd8349000 r--p 00002000 08:01 337377 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
7f3cd8349000-7f3cd834a000 rw-p 00003000 08:01 337377 /usr/share/rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/x86_64-linux/enc/encdb.so
7f3cd834a000-7f3cd834b000 r--p 00000000 08:01 664945 /usr/lib/x86_64-linux-gnu/ld-2.29.so
7f3cd834b000-7f3cd836c000 r-xp 00001000 08:01 664945 /usr/lib/x86_64-linux-gnu/ld-2.29.so
7f3cd836c000-7f3cd8374000 r--p 00022000 08:01 664945 /usr/lib/x86_64-linux-gnu/ld-2.29.so
7f3cd8374000-7f3cd8375000 r--p 00029000 08:01 664945 /usr/lib/x86_64-linux-gnu/ld-2.29.so
7f3cd8375000-7f3cd8376000 rw-p 0002a000 08:01 664945 /usr/lib/x86_64-linux-gnu/ld-2.29.so
7f3cd8376000-7f3cd8377000 rw-p 00000000 00:00 0
7ffc6363e000-7ffc63e3d000 rw-p 00000000 00:00 0 [stack]
7ffc63fb6000-7ffc63fb9000 r--p 00000000 00:00 0 [vvar]
7ffc63fb9000-7ffc63fba000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Actions
Like0
Like0