Project

General

Profile

Actions

Bug #18178

closed

RubyVM::AST.of(method_defined_in_C) Segmentation fault

Added by pocke (Masataka Kuwabara) about 1 month ago. Updated about 1 month ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 3.1.0dev (2021-09-17T11:46:18Z master b45fe48fbb) [x86_64-linux]
[ruby-core:105341]

Description

RubyVM::AbstractSyntaxTree.of segfault when it receives a method defined in C.

$ ruby -ve 'RubyVM::AbstractSyntaxTree.of(String.instance_method(:gsub))' 
ruby 3.1.0dev (2021-09-17T11:46:18Z master b45fe48fbb) [x86_64-linux]
<internal:ast>:67: [BUG] Segmentation fault at 0x0000000000000010
ruby 3.1.0dev (2021-09-17T11:46:18Z master b45fe48fbb) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0003 p:0003 s:0013 e:000012 METHOD <internal:ast>:67
c:0002 p:0028 s:0006 e:000005 EVAL   -e:1 [FINISH]
c:0001 p:0000 s:0003 E:001750 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
-e:1:in `<main>'
<internal:ast>:67:in `of'

-- Machine register context ------------------------------------------------
 RIP: 0x00007f38f67c4d50 RBP: 0x00007f38f26f56d0 RSP: 0x00007ffdae0b0f88
 RAX: 0x0000000000000000 RBX: 0x0000000000000000 RCX: 0x0000000000000000
 RDX: 0x000055bf9a13e050 RDI: 0x0000000000000000 RSI: 0x00007f38f6a82b80
  R8: 0x0000000000000000  R9: 0x00007f38f5c4da80 R10: 0x00007f38f669ec08
 R11: 0x00007f38f67c6b20 R12: 0x0000000000000000 R13: 0x000055bf9a1078c0
 R14: 0x000055bf9a1ef038 R15: 0x00007f38f5d57f68 EFL: 0x0000000000010206

-- C level backtrace information -------------------------------------------
/home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1(rb_vm_bugreport+0x559) [0x7f38f69627d9]
/home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1(rb_bug_for_fatal_signal+0xf0) [0x7f38f67681c0]
/home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1(sigsegv+0x49) [0x7f38f68ba5c9]
[0x7f38f664b870]
/home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1(rb_iseq_realpath+0x0) [0x7f38f67c4d50]
/home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1(rb_iseq_from_eval_p+0x9) [0x7f38f67c6b29]
/home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1(ast_s_of+0x144) [0x7f38f66e5c74]
/home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1(vm_exec_core+0x26e1) [0x7f38f6949e61]
/home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1(rb_vm_exec+0x18a) [0x7f38f694cdaa]
/home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1(rb_ec_exec_node+0xa5) [0x7f38f676cd45]
/home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1(ruby_run_node+0x56) [0x7f38f6772b26]
/home/pocke/.rbenv/versions/trunk/bin/ruby(main+0x6f) [0x55bf9998112f]

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

* Loaded script: -e

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 fiber.so
    3 rational.so
    4 complex.so
    5 ruby2_keywords.rb
    6 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
    7 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
    8 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/rbconfig.rb
    9 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/compatibility.rb
   10 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/defaults.rb
   11 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/deprecate.rb
   12 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/errors.rb
   13 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/unknown_command_spell_checker.rb
   14 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/exceptions.rb
   15 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/basic_specification.rb
   16 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/stub_specification.rb
   17 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/text.rb
   18 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/user_interaction.rb
   19 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/specification_policy.rb
   20 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/util/list.rb
   21 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/platform.rb
   22 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/version.rb
   23 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/requirement.rb
   24 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/specification.rb
   25 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/util.rb
   26 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/dependency.rb
   27 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/core_ext/kernel_gem.rb
   28 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/monitor.so
   29 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/monitor.rb
   30 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb
   31 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/core_ext/kernel_warn.rb
   32 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems.rb
   33 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/rubygems/path_support.rb
   34 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/error_highlight/version.rb
   35 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/error_highlight/base.rb
   36 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/error_highlight/formatter.rb
   37 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/error_highlight/core_ext.rb
   38 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/error_highlight.rb
   39 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/version.rb
   40 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/core_ext/name_error.rb
   41 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/levenshtein.rb
   42 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/jaro_winkler.rb
   43 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/spell_checker.rb
   44 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
   45 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
   46 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/spell_checkers/name_error_checkers.rb
   47 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/spell_checkers/method_name_checker.rb
   48 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/spell_checkers/key_error_checker.rb
   49 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/spell_checkers/null_checker.rb
   50 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/tree_spell_checker.rb
   51 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/spell_checkers/require_path_checker.rb
   52 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean/formatters/plain_formatter.rb
   53 /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/did_you_mean.rb

* Process memory map:

55bf99980000-55bf99981000 r--p 00000000 08:02 16281712                   /home/pocke/.rbenv/versions/trunk/bin/ruby
55bf99981000-55bf99982000 r-xp 00001000 08:02 16281712                   /home/pocke/.rbenv/versions/trunk/bin/ruby
55bf99982000-55bf99983000 r--p 00002000 08:02 16281712                   /home/pocke/.rbenv/versions/trunk/bin/ruby
55bf99983000-55bf99984000 r--p 00002000 08:02 16281712                   /home/pocke/.rbenv/versions/trunk/bin/ruby
55bf99984000-55bf99985000 rw-p 00003000 08:02 16281712                   /home/pocke/.rbenv/versions/trunk/bin/ruby
55bf9a103000-55bf9a443000 rw-p 00000000 00:00 0                          [heap]
7f38f267c000-7f38f26b1000 r--s 00000000 08:02 16281712                   /home/pocke/.rbenv/versions/trunk/bin/ruby
7f38f26b1000-7f38f26b4000 r--p 00000000 08:02 4722349                    /usr/lib/libgcc_s.so.1
7f38f26b4000-7f38f26c6000 r-xp 00003000 08:02 4722349                    /usr/lib/libgcc_s.so.1
7f38f26c6000-7f38f26c9000 r--p 00015000 08:02 4722349                    /usr/lib/libgcc_s.so.1
7f38f26c9000-7f38f26ca000 ---p 00018000 08:02 4722349                    /usr/lib/libgcc_s.so.1
7f38f26ca000-7f38f26cb000 r--p 00018000 08:02 4722349                    /usr/lib/libgcc_s.so.1
7f38f26cb000-7f38f26cc000 rw-p 00019000 08:02 4722349                    /usr/lib/libgcc_s.so.1
7f38f26ef000-7f38f26f0000 r--p 00000000 08:02 16289278                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/monitor.so
7f38f26f0000-7f38f26f1000 r-xp 00001000 08:02 16289278                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/monitor.so
7f38f26f1000-7f38f26f2000 r--p 00002000 08:02 16289278                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/monitor.so
7f38f26f2000-7f38f26f3000 r--p 00002000 08:02 16289278                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/monitor.so
7f38f26f3000-7f38f26f4000 rw-p 00003000 08:02 16289278                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/monitor.so
7f38f26f4000-7f38f2714000 rw-p 00000000 00:00 0 
7f38f2718000-7f38f2768000 rw-p 00000000 00:00 0 
7f38f276b000-7f38f276c000 r--p 00000000 08:02 16286894                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
7f38f276c000-7f38f276d000 r-xp 00001000 08:02 16286894                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
7f38f276d000-7f38f276e000 r--p 00002000 08:02 16286894                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
7f38f276e000-7f38f276f000 r--p 00002000 08:02 16286894                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
7f38f276f000-7f38f2770000 rw-p 00003000 08:02 16286894                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/trans/transdb.so
7f38f2770000-7f38f2771000 ---p 00000000 00:00 0 
7f38f2771000-7f38f2812000 rw-p 00000000 00:00 0 
7f38f2812000-7f38f2813000 ---p 00000000 00:00 0 
7f38f2813000-7f38f28b4000 rw-p 00000000 00:00 0 
7f38f28b4000-7f38f28b5000 ---p 00000000 00:00 0 
7f38f28b5000-7f38f2956000 rw-p 00000000 00:00 0 
7f38f2956000-7f38f2957000 ---p 00000000 00:00 0 
7f38f2957000-7f38f29f8000 rw-p 00000000 00:00 0 
7f38f29f8000-7f38f29f9000 ---p 00000000 00:00 0 
7f38f29f9000-7f38f2a9a000 rw-p 00000000 00:00 0 
7f38f2a9a000-7f38f2a9b000 ---p 00000000 00:00 0 
7f38f2a9b000-7f38f2b3c000 rw-p 00000000 00:00 0 
7f38f2b3c000-7f38f2b3d000 ---p 00000000 00:00 0 
7f38f2b3d000-7f38f2bde000 rw-p 00000000 00:00 0 
7f38f2bde000-7f38f2bdf000 ---p 00000000 00:00 0 
7f38f2bdf000-7f38f2c80000 rw-p 00000000 00:00 0 
7f38f2c80000-7f38f2c81000 ---p 00000000 00:00 0 
7f38f2c81000-7f38f2d22000 rw-p 00000000 00:00 0 
7f38f2d22000-7f38f2d23000 ---p 00000000 00:00 0 
7f38f2d23000-7f38f2dc4000 rw-p 00000000 00:00 0 
7f38f2dc4000-7f38f2dc5000 ---p 00000000 00:00 0 
7f38f2dc5000-7f38f2e66000 rw-p 00000000 00:00 0 
7f38f2e66000-7f38f2e67000 ---p 00000000 00:00 0 
7f38f2e67000-7f38f2f08000 rw-p 00000000 00:00 0 
7f38f2f08000-7f38f2f09000 ---p 00000000 00:00 0 
7f38f2f09000-7f38f2faa000 rw-p 00000000 00:00 0 
7f38f2faa000-7f38f2fab000 ---p 00000000 00:00 0 
7f38f2fab000-7f38f304c000 rw-p 00000000 00:00 0 
7f38f304c000-7f38f304d000 ---p 00000000 00:00 0 
7f38f304d000-7f38f30ee000 rw-p 00000000 00:00 0 
7f38f30ee000-7f38f30ef000 ---p 00000000 00:00 0 
7f38f30ef000-7f38f3190000 rw-p 00000000 00:00 0 
7f38f3190000-7f38f3191000 ---p 00000000 00:00 0 
7f38f3191000-7f38f3232000 rw-p 00000000 00:00 0 
7f38f3232000-7f38f3233000 ---p 00000000 00:00 0 
7f38f3233000-7f38f32d4000 rw-p 00000000 00:00 0 
7f38f32d4000-7f38f32d5000 ---p 00000000 00:00 0 
7f38f32d5000-7f38f3376000 rw-p 00000000 00:00 0 
7f38f3376000-7f38f3377000 ---p 00000000 00:00 0 
7f38f3377000-7f38f3418000 rw-p 00000000 00:00 0 
7f38f3418000-7f38f3419000 ---p 00000000 00:00 0 
7f38f3419000-7f38f34ba000 rw-p 00000000 00:00 0 
7f38f34ba000-7f38f34bb000 ---p 00000000 00:00 0 
7f38f34bb000-7f38f355c000 rw-p 00000000 00:00 0 
7f38f355c000-7f38f355d000 ---p 00000000 00:00 0 
7f38f355d000-7f38f35fe000 rw-p 00000000 00:00 0 
7f38f35fe000-7f38f35ff000 ---p 00000000 00:00 0 
7f38f35ff000-7f38f36a0000 rw-p 00000000 00:00 0 
7f38f36a0000-7f38f36a1000 ---p 00000000 00:00 0 
7f38f36a1000-7f38f3742000 rw-p 00000000 00:00 0 
7f38f3742000-7f38f3743000 ---p 00000000 00:00 0 
7f38f3743000-7f38f37e4000 rw-p 00000000 00:00 0 
7f38f37e4000-7f38f37e5000 ---p 00000000 00:00 0 
7f38f37e5000-7f38f3886000 rw-p 00000000 00:00 0 
7f38f3886000-7f38f3887000 ---p 00000000 00:00 0 
7f38f3887000-7f38f3928000 rw-p 00000000 00:00 0 
7f38f3928000-7f38f3929000 ---p 00000000 00:00 0 
7f38f3929000-7f38f39ca000 rw-p 00000000 00:00 0 
7f38f39ca000-7f38f39cb000 ---p 00000000 00:00 0 
7f38f39cb000-7f38f3a6c000 rw-p 00000000 00:00 0 
7f38f3a6c000-7f38f3a6d000 ---p 00000000 00:00 0 
7f38f3a6d000-7f38f3b0e000 rw-p 00000000 00:00 0 
7f38f3b0e000-7f38f3b0f000 ---p 00000000 00:00 0 
7f38f3b0f000-7f38f5bb0000 rw-p 00000000 00:00 0 
7f38f5bb3000-7f38f5d59000 rw-p 00000000 00:00 0 
7f38f5d59000-7f38f623b000 r--p 00000000 08:02 4761962                    /usr/lib/locale/locale-archive
7f38f623b000-7f38f623d000 rw-p 00000000 00:00 0 
7f38f623d000-7f38f6263000 r--p 00000000 08:02 4721731                    /usr/lib/libc-2.33.so
7f38f6263000-7f38f63ae000 r-xp 00026000 08:02 4721731                    /usr/lib/libc-2.33.so
7f38f63ae000-7f38f63fa000 r--p 00171000 08:02 4721731                    /usr/lib/libc-2.33.so
7f38f63fa000-7f38f63fd000 r--p 001bc000 08:02 4721731                    /usr/lib/libc-2.33.so
7f38f63fd000-7f38f6400000 rw-p 001bf000 08:02 4721731                    /usr/lib/libc-2.33.so
7f38f6400000-7f38f6409000 rw-p 00000000 00:00 0 
7f38f6409000-7f38f6418000 r--p 00000000 08:02 4721765                    /usr/lib/libm-2.33.so
7f38f6418000-7f38f64b2000 r-xp 0000f000 08:02 4721765                    /usr/lib/libm-2.33.so
7f38f64b2000-7f38f654a000 r--p 000a9000 08:02 4721765                    /usr/lib/libm-2.33.so
7f38f654a000-7f38f654b000 ---p 00141000 08:02 4721765                    /usr/lib/libm-2.33.so
7f38f654b000-7f38f654c000 r--p 00141000 08:02 4721765                    /usr/lib/libm-2.33.so
7f38f654c000-7f38f654d000 rw-p 00142000 08:02 4721765                    /usr/lib/libm-2.33.so
7f38f654d000-7f38f654f000 r--p 00000000 08:02 4768629                    /usr/lib/libcrypt.so.2.0.0
7f38f654f000-7f38f6561000 r-xp 00002000 08:02 4768629                    /usr/lib/libcrypt.so.2.0.0
7f38f6561000-7f38f657a000 r--p 00014000 08:02 4768629                    /usr/lib/libcrypt.so.2.0.0
7f38f657a000-7f38f657b000 r--p 0002c000 08:02 4768629                    /usr/lib/libcrypt.so.2.0.0
7f38f657b000-7f38f657c000 rw-p 0002d000 08:02 4768629                    /usr/lib/libcrypt.so.2.0.0
7f38f657c000-7f38f6586000 rw-p 00000000 00:00 0 
7f38f6586000-7f38f6588000 r--p 00000000 08:02 4721749                    /usr/lib/libdl-2.33.so
7f38f6588000-7f38f658a000 r-xp 00002000 08:02 4721749                    /usr/lib/libdl-2.33.so
7f38f658a000-7f38f658b000 r--p 00004000 08:02 4721749                    /usr/lib/libdl-2.33.so
7f38f658b000-7f38f658c000 r--p 00004000 08:02 4721749                    /usr/lib/libdl-2.33.so
7f38f658c000-7f38f658d000 rw-p 00005000 08:02 4721749                    /usr/lib/libdl-2.33.so
7f38f658d000-7f38f659e000 r--p 00000000 08:02 4725422                    /usr/lib/libgmp.so.10.4.1
7f38f659e000-7f38f6612000 r-xp 00011000 08:02 4725422                    /usr/lib/libgmp.so.10.4.1
7f38f6612000-7f38f6629000 r--p 00085000 08:02 4725422                    /usr/lib/libgmp.so.10.4.1
7f38f6629000-7f38f662a000 ---p 0009c000 08:02 4725422                    /usr/lib/libgmp.so.10.4.1
7f38f662a000-7f38f662c000 r--p 0009c000 08:02 4725422                    /usr/lib/libgmp.so.10.4.1
7f38f662c000-7f38f662d000 rw-p 0009e000 08:02 4725422                    /usr/lib/libgmp.so.10.4.1
7f38f662d000-7f38f6630000 r--p 00000000 08:02 4721822                    /usr/lib/librt-2.33.so
7f38f6630000-7f38f6634000 r-xp 00003000 08:02 4721822                    /usr/lib/librt-2.33.so
7f38f6634000-7f38f6636000 r--p 00007000 08:02 4721822                    /usr/lib/librt-2.33.so
7f38f6636000-7f38f6637000 r--p 00008000 08:02 4721822                    /usr/lib/librt-2.33.so
7f38f6637000-7f38f6638000 rw-p 00009000 08:02 4721822                    /usr/lib/librt-2.33.so
7f38f6638000-7f38f663f000 r--p 00000000 08:02 4721813                    /usr/lib/libpthread-2.33.so
7f38f663f000-7f38f664e000 r-xp 00007000 08:02 4721813                    /usr/lib/libpthread-2.33.so
7f38f664e000-7f38f6652000 r--p 00016000 08:02 4721813                    /usr/lib/libpthread-2.33.so
7f38f6652000-7f38f6653000 ---p 0001a000 08:02 4721813                    /usr/lib/libpthread-2.33.so
7f38f6653000-7f38f6654000 r--p 0001a000 08:02 4721813                    /usr/lib/libpthread-2.33.so
7f38f6654000-7f38f6655000 rw-p 0001b000 08:02 4721813                    /usr/lib/libpthread-2.33.so
7f38f6655000-7f38f6659000 rw-p 00000000 00:00 0 
7f38f6659000-7f38f665c000 r--p 00000000 08:02 4731329                    /usr/lib/libz.so.1.2.11
7f38f665c000-7f38f666a000 r-xp 00003000 08:02 4731329                    /usr/lib/libz.so.1.2.11
7f38f666a000-7f38f6670000 r--p 00011000 08:02 4731329                    /usr/lib/libz.so.1.2.11
7f38f6670000-7f38f6671000 ---p 00017000 08:02 4731329                    /usr/lib/libz.so.1.2.11
7f38f6671000-7f38f6672000 r--p 00017000 08:02 4731329                    /usr/lib/libz.so.1.2.11
7f38f6672000-7f38f6673000 rw-p 00018000 08:02 4731329                    /usr/lib/libz.so.1.2.11
7f38f6673000-7f38f6674000 r--p 00000000 08:02 16289276                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
7f38f6674000-7f38f6675000 r-xp 00001000 08:02 16289276                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
7f38f6675000-7f38f6676000 r--p 00002000 08:02 16289276                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
7f38f6676000-7f38f6677000 r--p 00002000 08:02 16289276                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
7f38f6677000-7f38f6678000 rw-p 00003000 08:02 16289276                   /home/pocke/.rbenv/versions/trunk/lib/ruby/3.1.0/x86_64-linux/enc/encdb.so
7f38f6678000-7f38f6694000 rw-p 00000000 00:00 0 
7f38f6696000-7f38f66c7000 r--p 00000000 08:02 16258939                   /home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1.0
7f38f66c7000-7f38f6970000 r-xp 00031000 08:02 16258939                   /home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1.0
7f38f6970000-7f38f6a7f000 r--p 002da000 08:02 16258939                   /home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1.0
7f38f6a7f000-7f38f6a80000 ---p 003e9000 08:02 16258939                   /home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1.0
7f38f6a80000-7f38f6a87000 r--p 003e9000 08:02 16258939                   /home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1.0
7f38f6a87000-7f38f6a8a000 rw-p 003f0000 08:02 16258939                   /home/pocke/.rbenv/versions/trunk/lib/libruby.so.3.1.0
7f38f6a8a000-7f38f6a9e000 rw-p 00000000 00:00 0 
7f38f6a9e000-7f38f6a9f000 r--p 00000000 08:02 4721691                    /usr/lib/ld-2.33.so
7f38f6a9f000-7f38f6ac3000 r-xp 00001000 08:02 4721691                    /usr/lib/ld-2.33.so
7f38f6ac3000-7f38f6acc000 r--p 00025000 08:02 4721691                    /usr/lib/ld-2.33.so
7f38f6acc000-7f38f6ace000 r--p 0002d000 08:02 4721691                    /usr/lib/ld-2.33.so
7f38f6ace000-7f38f6ad0000 rw-p 0002f000 08:02 4721691                    /usr/lib/ld-2.33.so
7ffdad8b4000-7ffdae0b3000 rw-p 00000000 00:00 0                          [stack]
7ffdae1bd000-7ffdae1c1000 r--p 00000000 00:00 0                          [vvar]
7ffdae1c1000-7ffdae1c3000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]

I can reproduce it only with Ruby 3.1-dev. It just returns nil with Ruby 2.6.0-3.0.2.

$ docker run -it --rm rubylang/all-ruby env ALL_RUBY_SINCE=2.6 ./all-ruby -e 'p RubyVM::AbstractSyntaxTree.of(String.instance_method(:gsub))' 
ruby-2.6.0          nil
...
ruby-3.0.2          nil
Actions #1

Updated by mame (Yusuke Endoh) about 1 month ago

  • Status changed from Open to Closed

Applied in changeset git|ed9d9cee76ee941c504ccea33c70c0eb5d825813.


ast.c: AST.of checks if a given method object is defined in C

[Bug #18178]

Actions

Also available in: Atom PDF