From: tenderlove@... Date: 2019-01-10T00:23:10+00:00 Subject: [ruby-core:90958] [Ruby trunk Bug#13286][Closed] Segfault when using rb_debug_inspector_open / rb_debug_inspector_frame_binding_get with Fiddle, but not when directly from C extension Issue #13286 has been updated by tenderlovemaking (Aaron Patterson). Status changed from Assigned to Closed Fixed here: https://github.com/ruby/fiddle/commit/0fc697bbc5c55c5f45ea4f67a6279fba38d2d514 ---------------------------------------- Bug #13286: Segfault when using rb_debug_inspector_open / rb_debug_inspector_frame_binding_get with Fiddle, but not when directly from C extension https://bugs.ruby-lang.org/issues/13286#change-76164 * Author: shreeve (Steve Shreeve) * Status: Closed * Priority: Normal * Assignee: tenderlovemaking (Aaron Patterson) * Target version: * ruby -v: ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux] * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- ## System ```shell $ uname -a Linux clients 4.1.5-x86_64-linode61 #7 SMP Mon Aug 24 13:46:31 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux $ ruby -v ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux] ``` ## Program ### When using the following C extension, there are no segfaults ```shell $ cat of_caller.c ``` ```c #include "ruby/ruby.h" #include "ruby/debug.h" static VALUE callback(const rb_debug_inspector_t *dbg_context, void *data) { long item = NUM2LONG(*((VALUE *)data)); return rb_debug_inspector_frame_binding_get(dbg_context, item + 1); } static VALUE of_caller(VALUE self, VALUE item) { return rb_debug_inspector_open(callback, (void *) &item); } void Init_bindings(VALUE self) { VALUE cBinding = rb_define_class("Binding", rb_cObject); rb_define_singleton_method(cBinding, "of_caller", of_caller, 1); rb_define_method(cBinding, "of_caller", of_caller, 1); } ``` ### But, when using this `Fiddle` version, there are intermittent Ruby crashes ```shell $ cat of_caller.rb ``` ```ruby require 'fiddle/import' module Fiddle module Binding extend Fiddle::Importer dlload Fiddle.dlopen(nil) rb_debug_inspector_open = extern "void* rb_debug_inspector_open(void*, void*)" rb_debug_inspector_frame_binding_get = extern "void* rb_debug_inspector_frame_binding_get(void*, long)" callback = bind("void* callback(void*, void*)") {|ctx, n| rb_debug_inspector_frame_binding_get.call(ctx, n+4)} end end class Binding def self.of_caller(n); ::Fiddle::Binding.rb_debug_inspector_open(::Fiddle::Binding['callback'], n).to_value; end def of_caller(n); self.class.of_caller(n); end end ``` ### The code used to test the `C` and `Ruby` versions ```ruby # below here is just to test it out... outer = 40 class A def a a = 30 B.new.b end end class B def b b = 20 C.new.c end end class C def c c = 10 puts binding.of_caller(0).eval('local_variables') # c puts binding.of_caller(1).eval('local_variables') # b puts binding.of_caller(2).eval('local_variables') # a puts binding.of_caller(3).eval('local_variables') # outer puts binding.of_caller(9).eval('local_variables') rescue puts($!) end end 50.times { A.new.a } ``` ## Results ```shell $ ruby ./of_caller.rb c b a outer no such frame c b a outer no such frame ... there are a total of 47 of these "c,b,a,out,no such" repeats ... c b a outer ./of_caller.rb:8: [BUG] Segmentation fault at 0x00000000000008 ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux] -- Control frame information ----------------------------------------------- c:0011 p:---- s:0052 e:000051 CFUNC :call c:0010 p:0021 s:0046 E:001110 METHOD ./of_caller.rb:8 c:0009 p:0037 s:0040 E:000b48 METHOD ./of_caller.rb:14 c:0008 p:0013 s:0035 E:000218 METHOD ./of_caller.rb:15 c:0007 p:0102 s:0030 E:000458 METHOD ./of_caller.rb:41 c:0006 p:0023 s:0024 E:000288 METHOD ./of_caller.rb:30 c:0005 p:0023 s:0019 E:0024d8 METHOD ./of_caller.rb:23 c:0004 p:0017 s:0014 E:0016a0 BLOCK ./of_caller.rb:45 [FINISH] c:0003 p:---- s:0011 e:000010 CFUNC :times c:0002 p:0073 s:0007 E:002688 EVAL ./of_caller.rb:45 [FINISH] c:0001 p:0000 s:0003 E:000e20 (none) [FINISH] -- Ruby level backtrace information ---------------------------------------- ./of_caller.rb:45:in `<main>' ./of_caller.rb:45:in `times' ./of_caller.rb:45:in `block in <main>' ./of_caller.rb:23:in `a' ./of_caller.rb:30:in `b' ./of_caller.rb:41:in `c' ./of_caller.rb:15:in `of_caller' ./of_caller.rb:14:in `of_caller' ./of_caller.rb:8:in `rb_debug_inspector_open' ./of_caller.rb:8:in `call' -- Machine register context ------------------------------------------------ RIP: 0x00007f3c3764250e RBP: 0x000055fdc2a036f8 RSP: 0x00007ffd8ceb71e0 RAX: 0x0000000000000008 RBX: 0x0000000000000008 RCX: 0x0000000000000000 RDX: 0x000000000000001d RDI: 0x0000000000bc530c RSI: 0x000055fdc2af2bb6 R8: 0x209604bcef02eb42 R9: 0x8a75da5f9c77ef5e R10: 0x00007f3c37645dcb R11: 0x00007f3c382a8870 R12: 0x000055fdc2a02f30 R13: 0x0000000000000003 R14: 0x00007ffd8ceb72c0 R15: 0x000055fdc2d570f8 EFL: 0x0000000000010206 -- C level backtrace information ------------------------------------------- /opt/rubies/ruby-2.4.0/bin/ruby(rb_vm_bugreport+0x528) [0x55fdc07237e8] vm_dump.c:679 /opt/rubies/ruby-2.4.0/bin/ruby(rb_bug_context+0xd0) [0x55fdc0718980] error.c:426 /opt/rubies/ruby-2.4.0/bin/ruby(sigsegv+0x3e) [0x55fdc0614abe] signal.c:907 /lib/x86_64-linux-gnu/libpthread.so.0 [0x7f3c38c3a340] /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/fiddle.so(with_gvl_callback+0x3e) [0x7f3c3764250e] closure.c:73 /opt/rubies/ruby-2.4.0/bin/ruby(rb_thread_call_with_gvl+0x1db) [0x55fdc065120b] thread.c:1495 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/fiddle.so(callback+0x54) [0x7f3c37642b44] closure.c:195 /usr/lib/x86_64-linux-gnu/libffi.so.6(ffi_closure_unix64_inner+0x1fb) [0x7f3c3743c8cb] /usr/lib/x86_64-linux-gnu/libffi.so.6(ffi_closure_unix64+0x46) [0x7f3c3743cc44] /opt/rubies/ruby-2.4.0/bin/ruby(rb_debug_inspector_open+0x1ea) [0x55fdc06a036a] vm_backtrace.c:1186 /usr/lib/x86_64-linux-gnu/libffi.so.6(ffi_call_unix64+0x4c) [0x7f3c3743cadc] /usr/lib/x86_64-linux-gnu/libffi.so.6(ffi_call+0x1fc) [0x7f3c3743c40c] /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/fiddle.so(nogvl_ffi_call+0x18) [0x7f3c37643bd8] function.c:160 /opt/rubies/ruby-2.4.0/bin/ruby(rb_thread_call_without_gvl+0x42) [0x55fdc06508e2] thread.c:1294 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/fiddle.so(function_call+0x305) [0x7f3c37643a05] function.c:219 /opt/rubies/ruby-2.4.0/bin/ruby(vm_call_cfunc+0xf1) [0x55fdc0685151] vm_insnhelper.c:1752 /opt/rubies/ruby-2.4.0/bin/ruby(vm_exec_core+0x2f90) [0x55fdc068dc70] insns.def:967 /opt/rubies/ruby-2.4.0/bin/ruby(vm_exec+0x87) [0x55fdc0691207] vm.c:1712 /opt/rubies/ruby-2.4.0/bin/ruby(rb_yield_1+0x592) [0x55fdc069af52] vm.c:969 /opt/rubies/ruby-2.4.0/bin/ruby(int_dotimes+0x3e) [0x55fdc057fd9e] numeric.c:4968 /opt/rubies/ruby-2.4.0/bin/ruby(vm_call_cfunc+0xf1) [0x55fdc0685151] vm_insnhelper.c:1752 /opt/rubies/ruby-2.4.0/bin/ruby(vm_call_method+0xe3) [0x55fdc0693263] vm_insnhelper.c:2291 /opt/rubies/ruby-2.4.0/bin/ruby(vm_exec_core+0x2f90) [0x55fdc068dc70] insns.def:967 /opt/rubies/ruby-2.4.0/bin/ruby(vm_exec+0x87) [0x55fdc0691207] vm.c:1712 /opt/rubies/ruby-2.4.0/bin/ruby(ruby_exec_internal+0xad) [0x55fdc05200ad] eval.c:244 /opt/rubies/ruby-2.4.0/bin/ruby(ruby_run_node+0x2d) [0x55fdc052378d] eval.c:308 /opt/rubies/ruby-2.4.0/bin/ruby(main+0x4b) [0x55fdc051fe6b] addr2line.c:177 -- Other runtime information ----------------------------------------------- * Loaded script: ./of_caller.rb * Loaded features: 0 enumerator.so 1 thread.rb 2 rational.so 3 complex.so 4 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so 5 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so 6 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/unicode_normalize.rb 7 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/rbconfig.rb 8 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/compatibility.rb 9 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/defaults.rb 10 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/deprecate.rb 11 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/errors.rb 12 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/version.rb 13 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/requirement.rb 14 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/platform.rb 15 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/basic_specification.rb 16 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/stub_specification.rb 17 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/util/list.rb 18 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so 19 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/specification.rb 20 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/exceptions.rb 21 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/dependency.rb 22 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_gem.rb 23 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/monitor.rb 24 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb 25 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems.rb 26 /opt/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/path_support.rb 27 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/version.rb 28 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/core_ext/name_error.rb 29 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/levenshtein.rb 30 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/jaro_winkler.rb 31 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checker.rb 32 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/delegate.rb 33 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb 34 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb 35 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb 36 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/method_name_checker.rb 37 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/null_checker.rb 38 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/formatter.rb 39 /opt/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean.rb 40 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/fiddle.so 41 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/fiddle/function.rb 42 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/fiddle/closure.rb 43 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/fiddle.rb 44 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/fiddle/value.rb 45 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/fiddle/pack.rb 46 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/fiddle/struct.rb 47 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/fiddle/cparser.rb 48 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/fiddle/import.rb * Process memory map: 55fdc04fb000-55fdc07fb000 r-xp 00000000 08:00 4517097 /opt/rubies/ruby-2.4.0/bin/ruby 55fdc09fb000-55fdc0a00000 r--p 00300000 08:00 4517097 /opt/rubies/ruby-2.4.0/bin/ruby 55fdc0a00000-55fdc0a01000 rw-p 00305000 08:00 4517097 /opt/rubies/ruby-2.4.0/bin/ruby 55fdc0a01000-55fdc0a13000 rw-p 00000000 00:00 0 55fdc2a02000-55fdc2e5c000 rw-p 00000000 00:00 0 [heap] 7f3c36111000-7f3c362d3000 r--s 00000000 08:00 18047 /lib/x86_64-linux-gnu/libc-2.19.so 7f3c362d3000-7f3c37221000 r--s 00000000 08:00 4517097 /opt/rubies/ruby-2.4.0/bin/ruby 7f3c37221000-7f3c37237000 r-xp 00000000 08:00 20410 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f3c37237000-7f3c37436000 ---p 00016000 08:00 20410 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f3c37436000-7f3c37437000 rw-p 00015000 08:00 20410 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f3c37437000-7f3c3743e000 r-xp 00000000 08:00 6866 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 7f3c3743e000-7f3c3763d000 ---p 00007000 08:00 6866 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 7f3c3763d000-7f3c3763e000 r--p 00006000 08:00 6866 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 7f3c3763e000-7f3c3763f000 rw-p 00007000 08:00 6866 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 7f3c3763f000-7f3c37648000 r-xp 00000000 08:00 4524620 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/fiddle.so 7f3c37648000-7f3c37847000 ---p 00009000 08:00 4524620 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/fiddle.so 7f3c37847000-7f3c37848000 r--p 00008000 08:00 4524620 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/fiddle.so 7f3c37848000-7f3c37849000 rw-p 00009000 08:00 4524620 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/fiddle.so 7f3c37849000-7f3c37851000 r-xp 00000000 08:00 4524618 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so 7f3c37851000-7f3c37a50000 ---p 00008000 08:00 4524618 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so 7f3c37a50000-7f3c37a51000 r--p 00007000 08:00 4524618 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so 7f3c37a51000-7f3c37a52000 rw-p 00008000 08:00 4524618 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so 7f3c37a52000-7f3c37a54000 r-xp 00000000 08:00 4524562 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so 7f3c37a54000-7f3c37c54000 ---p 00002000 08:00 4524562 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so 7f3c37c54000-7f3c37c55000 r--p 00002000 08:00 4524562 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so 7f3c37c55000-7f3c37c56000 rw-p 00003000 08:00 4524562 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so 7f3c37c56000-7f3c37c58000 r-xp 00000000 08:00 4524572 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so 7f3c37c58000-7f3c37e57000 ---p 00002000 08:00 4524572 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so 7f3c37e57000-7f3c37e58000 r--p 00001000 08:00 4524572 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so 7f3c37e58000-7f3c37e59000 rw-p 00002000 08:00 4524572 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so 7f3c37e59000-7f3c38122000 r--p 00000000 08:00 949 /usr/lib/locale/locale-archive 7f3c38122000-7f3c382dd000 r-xp 00000000 08:00 18047 /lib/x86_64-linux-gnu/libc-2.19.so 7f3c382dd000-7f3c384dc000 ---p 001bb000 08:00 18047 /lib/x86_64-linux-gnu/libc-2.19.so 7f3c384dc000-7f3c384e0000 r--p 001ba000 08:00 18047 /lib/x86_64-linux-gnu/libc-2.19.so 7f3c384e0000-7f3c384e2000 rw-p 001be000 08:00 18047 /lib/x86_64-linux-gnu/libc-2.19.so 7f3c384e2000-7f3c384e7000 rw-p 00000000 00:00 0 7f3c384e7000-7f3c385ec000 r-xp 00000000 08:00 16793 /lib/x86_64-linux-gnu/libm-2.19.so 7f3c385ec000-7f3c387eb000 ---p 00105000 08:00 16793 /lib/x86_64-linux-gnu/libm-2.19.so 7f3c387eb000-7f3c387ec000 r--p 00104000 08:00 16793 /lib/x86_64-linux-gnu/libm-2.19.so 7f3c387ec000-7f3c387ed000 rw-p 00105000 08:00 16793 /lib/x86_64-linux-gnu/libm-2.19.so 7f3c387ed000-7f3c387f6000 r-xp 00000000 08:00 17782 /lib/x86_64-linux-gnu/libcrypt-2.19.so 7f3c387f6000-7f3c389f6000 ---p 00009000 08:00 17782 /lib/x86_64-linux-gnu/libcrypt-2.19.so 7f3c389f6000-7f3c389f7000 r--p 00009000 08:00 17782 /lib/x86_64-linux-gnu/libcrypt-2.19.so 7f3c389f7000-7f3c389f8000 rw-p 0000a000 08:00 17782 /lib/x86_64-linux-gnu/libcrypt-2.19.so 7f3c389f8000-7f3c38a26000 rw-p 00000000 00:00 0 7f3c38a26000-7f3c38a29000 r-xp 00000000 08:00 17270 /lib/x86_64-linux-gnu/libdl-2.19.so 7f3c38a29000-7f3c38c28000 ---p 00003000 08:00 17270 /lib/x86_64-linux-gnu/libdl-2.19.so 7f3c38c28000-7f3c38c29000 r--p 00002000 08:00 17270 /lib/x86_64-linux-gnu/libdl-2.19.so 7f3c38c29000-7f3c38c2a000 rw-p 00003000 08:00 17270 /lib/x86_64-linux-gnu/libdl-2.19.so 7f3c38c2a000-7f3c38c43000 r-xp 00000000 08:00 18048 /lib/x86_64-linux-gnu/libpthread-2.19.so 7f3c38c43000-7f3c38e42000 ---p 00019000 08:00 18048 /lib/x86_64-linux-gnu/libpthread-2.19.so 7f3c38e42000-7f3c38e43000 r--p 00018000 08:00 18048 /lib/x86_64-linux-gnu/libpthread-2.19.so 7f3c38e43000-7f3c38e44000 rw-p 00019000 08:00 18048 /lib/x86_64-linux-gnu/libpthread-2.19.so 7f3c38e44000-7f3c38e48000 rw-p 00000000 00:00 0 7f3c38e48000-7f3c38e6b000 r-xp 00000000 08:00 17951 /lib/x86_64-linux-gnu/ld-2.19.so 7f3c38ea7000-7f3c38eaf000 r--s 00000000 08:00 6866 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 7f3c38eaf000-7f3c38f01000 r--s 00000000 08:00 4524620 /opt/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/fiddle.so 7f3c38f01000-7f3c38f24000 r--s 00000000 08:00 18048 /lib/x86_64-linux-gnu/libpthread-2.19.so 7f3c38f24000-7f3c38f55000 rw-p 00000000 00:00 0 7f3c38f55000-7f3c38f5c000 r--s 00000000 08:00 21069997 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache 7f3c38f5c000-7f3c39061000 rw-p 00000000 00:00 0 7f3c39062000-7f3c39063000 rw-p 00000000 00:00 0 7f3c39063000-7f3c39064000 r-xp 00000000 00:00 0 7f3c39064000-7f3c39065000 ---p 00000000 00:00 0 7f3c39065000-7f3c3906a000 rw-p 00000000 00:00 0 [stack:30831] 7f3c3906a000-7f3c3906b000 r--p 00022000 08:00 17951 /lib/x86_64-linux-gnu/ld-2.19.so 7f3c3906b000-7f3c3906c000 rw-p 00023000 08:00 17951 /lib/x86_64-linux-gnu/ld-2.19.so 7f3c3906c000-7f3c3906d000 rw-p 00000000 00:00 0 7ffd8c6bb000-7ffd8ceba000 rw-p 00000000 00:00 0 7ffd8ceea000-7ffd8ceec000 r--p 00000000 00:00 0 [vvar] 7ffd8ceec000-7ffd8ceee000 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: http://www.ruby-lang.org/bugreport.html Aborted ``` -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>