Project

General

Profile

Actions

Bug #13287

closed

Stack consistency error (sp: 97, bp: 96)

Added by v49564 (Victor Bruley) over 7 years ago. Updated over 7 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
[ruby-core:79940]

Description

This works:

/ (?<foo>.*)/ =~ "bar" && true

This produces a stack consistency error with 2.4.0 but not with 2.3.3:

/ (?<foo>.*)/ =~ "bar" &&
true
$ irb
2.4.0 :001 > / (?<foo>.*)/ =~ "bar" && true
 => nil 
2.4.0 :002 > / (?<foo>.*)/ =~ "bar" &&
2.4.0 :003 >   true
(irb):2: [BUG] Stack consistency error (sp: 96, bp: 95)
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0019 p:0027 s:0096 e:000094 EVAL   (irb):2 [FINISH]
c:0018 p:---- s:0092 e:000091 CFUNC  :eval
c:0017 p:0025 s:0084 e:000083 METHOD /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/workspace.rb:87
c:0016 p:0027 s:0076 e:000074 METHOD /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/context.rb:381
c:0015 p:0024 s:0069 e:000068 BLOCK  /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:493
c:0014 p:0041 s:0060 e:000059 METHOD /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:627
c:0013 p:0011 s:0054 e:000053 BLOCK  /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:490
c:0012 p:0128 s:0049 e:000048 BLOCK  /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/ruby-lex.rb:246 [FINISH]
c:0011 p:---- s:0045 e:000044 CFUNC  :loop
c:0010 p:0009 s:0041 e:000040 BLOCK  /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/ruby-lex.rb:232 [FINISH]
c:0009 p:---- s:0038 e:000037 CFUNC  :catch
c:0008 p:0018 s:0033 e:000032 METHOD /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/ruby-lex.rb:231
c:0007 p:0037 s:0029 E:002510 METHOD /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:489
c:0006 p:0008 s:0025 e:000024 BLOCK  /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:430 [FINISH]
c:0005 p:---- s:0022 e:000021 CFUNC  :catch
c:0004 p:0075 s:0017 E:000e08 METHOD /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:429
c:0003 p:0118 s:0012 e:000011 METHOD /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:385
c:0002 p:0023 s:0006 e:000005 EVAL   /home/victor/.rvm/rubies/ruby-2.4.0/bin/irb:11 [FINISH]
c:0001 p:0000 s:0003 E:001940 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
/home/victor/.rvm/rubies/ruby-2.4.0/bin/irb:11:in `<main>'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:385:in `start'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:429:in `run'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:429:in `catch'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:430:in `block in run'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:489:in `eval_input'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/ruby-lex.rb:231:in `each_top_level_statement'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/ruby-lex.rb:231:in `catch'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/ruby-lex.rb:232:in `block in each_top_level_statement'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/ruby-lex.rb:232:in `loop'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/ruby-lex.rb:246:in `block (2 levels) in each_top_level_statement'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:490:in `block in eval_input'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:627:in `signal_status'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb:493:in `block (2 levels) in eval_input'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/context.rb:381:in `evaluate'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/workspace.rb:87:in `evaluate'
/home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/workspace.rb:87:in `eval'
(irb):2:in `irb_binding'

-- C level backtrace information -------------------------------------------
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(rb_vm_bugreport+0xc1c) [0x7fb08766c06c]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(rb_bug+0xd3) [0x7fb0874f8b83]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec_core+0x63d3) [0x7fb08765da23]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec+0x91) [0x7fb08765dc31]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(eval_string_with_cref+0x174) [0x7fb0876608b4]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(rb_f_eval+0xbc) [0x7fb087660d5c]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_call_cfunc+0xea) [0x7fb08764ff2a]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec_core+0x14a0) [0x7fb087658af0]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec+0x91) [0x7fb08765dc31]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(loop_i+0x38c) [0x7fb0876639bc]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(rb_rescue2+0xc7) [0x7fb087501967]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_call_cfunc+0xea) [0x7fb08764ff2a]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_call_method+0xe3) [0x7fb08765f693]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec_core+0x106a) [0x7fb0876586ba]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec+0x91) [0x7fb08765dc31]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(invoke_iseq_block_from_c+0x37a) [0x7fb08765e9ea]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(invoke_block_from_c_splattable.constprop.136+0xd8) [0x7fb08765fdc8]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(catch_i+0x4b) [0x7fb0876603db]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_catch_protect+0x9c) [0x7fb08765221c]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(rb_catch_obj+0x19) [0x7fb087652349]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_call_cfunc+0xea) [0x7fb08764ff2a]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_call_method+0xe3) [0x7fb08765f693]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec_core+0x106a) [0x7fb0876586ba]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec+0x91) [0x7fb08765dc31]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(invoke_iseq_block_from_c+0x37a) [0x7fb08765e9ea]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(invoke_block_from_c_splattable.constprop.136+0xd8) [0x7fb08765fdc8]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(catch_i+0x4b) [0x7fb0876603db]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_catch_protect+0x9c) [0x7fb08765221c]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(rb_catch_obj+0x19) [0x7fb087652349]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_call_cfunc+0xea) [0x7fb08764ff2a]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_call_method+0xe3) [0x7fb08765f693]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec_core+0x106a) [0x7fb0876586ba]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(vm_exec+0x91) [0x7fb08765dc31]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(ruby_exec_internal+0xb0) [0x7fb0874fea10]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(ruby_exec_node+0x1d) [0x7fb0875006ed]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/../lib/libruby.so.2.4(ruby_run_node+0x1e) [0x7fb0875035be]
/home/victor/.rvm/rubies/ruby-2.4.0/bin/ruby(main+0x4b) [0x40085b] main.c:36

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

* Loaded script: irb

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 rational.so
    3 complex.so
    4 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so
    5 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so
    6 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/unicode_normalize.rb
    7 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/rbconfig.rb
    8 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/compatibility.rb
    9 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/defaults.rb
   10 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/deprecate.rb
   11 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/errors.rb
   12 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/version.rb
   13 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/requirement.rb
   14 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/platform.rb
   15 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/basic_specification.rb
   16 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/stub_specification.rb
   17 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/util/list.rb
   18 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so
   19 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/specification.rb
   20 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/exceptions.rb
   21 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/dependency.rb
   22 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_gem.rb
   23 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/monitor.rb
   24 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb
   25 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems.rb
   26 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/rubygems/path_support.rb
   27 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/version.rb
   28 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/core_ext/name_error.rb
   29 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/levenshtein.rb
   30 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/jaro_winkler.rb
   31 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checker.rb
   32 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/delegate.rb
   33 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
   34 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
   35 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb
   36 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/method_name_checker.rb
   37 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/null_checker.rb
   38 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean/formatter.rb
   39 /home/victor/.rvm/gems/ruby-2.4.0@global/gems/did_you_mean-1.1.0/lib/did_you_mean.rb
   40 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/e2mmap.rb
   41 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/init.rb
   42 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/workspace.rb
   43 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/inspector.rb
   44 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/output-method.rb
   45 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/context.rb
   46 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/extend-command.rb
   47 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/notifier.rb
   48 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/slex.rb
   49 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/ruby-token.rb
   50 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/ruby-lex.rb
   51 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/src_encoding.rb
   52 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/magic-file.rb
   53 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/readline.so
   54 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/input-method.rb
   55 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/locale.rb
   56 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb.rb
   57 /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/completion.rb
   58 /home/victor/.rvm/scripts/irbrc.rb

* Process memory map:

00400000-00401000 r-xp 00000000 00:2e 2888892                            /home/victor/.rvm/rubies/ruby-2.4.0/bin/ruby
00600000-00601000 r--p 00000000 00:2e 2888892                            /home/victor/.rvm/rubies/ruby-2.4.0/bin/ruby
00601000-00602000 rw-p 00001000 00:2e 2888892                            /home/victor/.rvm/rubies/ruby-2.4.0/bin/ruby
01e7e000-02375000 rw-p 00000000 00:00 0                                  [heap]
7fb085087000-7fb08509d000 r-xp 00000000 08:15 162332                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7fb08509d000-7fb08529c000 ---p 00016000 08:15 162332                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7fb08529c000-7fb08529d000 rw-p 00015000 08:15 162332                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7fb08529f000-7fb0852c4000 r-xp 00000000 08:15 139682                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7fb0852c4000-7fb0854c3000 ---p 00025000 08:15 139682                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7fb0854c3000-7fb0854c7000 r--p 00024000 08:15 139682                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7fb0854c7000-7fb0854c8000 rw-p 00028000 08:15 139682                     /lib/x86_64-linux-gnu/libtinfo.so.5.9
7fb0854cf000-7fb08550c000 r-xp 00000000 08:15 146047                     /lib/x86_64-linux-gnu/libreadline.so.6.3
7fb08550c000-7fb08570c000 ---p 0003d000 08:15 146047                     /lib/x86_64-linux-gnu/libreadline.so.6.3
7fb08570c000-7fb08570e000 r--p 0003d000 08:15 146047                     /lib/x86_64-linux-gnu/libreadline.so.6.3
7fb08570e000-7fb085714000 rw-p 0003f000 08:15 146047                     /lib/x86_64-linux-gnu/libreadline.so.6.3
7fb085714000-7fb085715000 rw-p 00000000 00:00 0 
7fb085717000-7fb08571f000 r-xp 00000000 00:2e 3015837                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/readline.so
7fb08571f000-7fb08591e000 ---p 00008000 00:2e 3015837                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/readline.so
7fb08591e000-7fb08591f000 r--p 00007000 00:2e 3015837                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/readline.so
7fb08591f000-7fb085920000 rw-p 00008000 00:2e 3015837                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/readline.so
7fb085927000-7fb08592f000 r-xp 00000000 00:2e 3015907                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so
7fb08592f000-7fb085b2f000 ---p 00008000 00:2e 3015907                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so
7fb085b2f000-7fb085b30000 r--p 00008000 00:2e 3015907                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so
7fb085b30000-7fb085b31000 rw-p 00009000 00:2e 3015907                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/stringio.so
7fb085b37000-7fb085b39000 r-xp 00000000 00:2e 3015881                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so
7fb085b39000-7fb085d39000 ---p 00002000 00:2e 3015881                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so
7fb085d39000-7fb085d3a000 r--p 00002000 00:2e 3015881                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so
7fb085d3a000-7fb085d3b000 rw-p 00003000 00:2e 3015881                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/trans/transdb.so
7fb085d3f000-7fb085d41000 r-xp 00000000 00:2e 3015857                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so
7fb085d41000-7fb085f40000 ---p 00002000 00:2e 3015857                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so
7fb085f40000-7fb085f41000 r--p 00001000 00:2e 3015857                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so
7fb085f41000-7fb085f42000 rw-p 00002000 00:2e 3015857                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/x86_64-linux/enc/encdb.so
7fb085f47000-7fb086494000 r--p 00000000 08:15 1054618                    /usr/lib/locale/locale-archive
7fb086497000-7fb08659f000 r-xp 00000000 08:15 156865                     /lib/x86_64-linux-gnu/libm-2.23.so
7fb08659f000-7fb08679e000 ---p 00108000 08:15 156865                     /lib/x86_64-linux-gnu/libm-2.23.so
7fb08679e000-7fb08679f000 r--p 00107000 08:15 156865                     /lib/x86_64-linux-gnu/libm-2.23.so
7fb08679f000-7fb0867a0000 rw-p 00108000 08:15 156865                     /lib/x86_64-linux-gnu/libm-2.23.so
7fb0867a7000-7fb0867b0000 r-xp 00000000 08:15 156827                     /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fb0867b0000-7fb0869af000 ---p 00009000 08:15 156827                     /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fb0869af000-7fb0869b0000 r--p 00008000 08:15 156827                     /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fb0869b0000-7fb0869b1000 rw-p 00009000 08:15 156827                     /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fb0869b1000-7fb0869df000 rw-p 00000000 00:00 0 
7fb0869df000-7fb0869e2000 r-xp 00000000 08:15 156763                     /lib/x86_64-linux-gnu/libdl-2.23.so
7fb0869e2000-7fb086be1000 ---p 00003000 08:15 156763                     /lib/x86_64-linux-gnu/libdl-2.23.so
7fb086be1000-7fb086be2000 r--p 00002000 08:15 156763                     /lib/x86_64-linux-gnu/libdl-2.23.so
7fb086be2000-7fb086be3000 rw-p 00003000 08:15 156763                     /lib/x86_64-linux-gnu/libdl-2.23.so
7fb086be7000-7fb086c66000 r-xp 00000000 08:15 1054452                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7fb086c66000-7fb086e65000 ---p 0007f000 08:15 1054452                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7fb086e65000-7fb086e66000 r--p 0007e000 08:15 1054452                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7fb086e66000-7fb086e67000 rw-p 0007f000 08:15 1054452                    /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.0
7fb086e67000-7fb086e7f000 r-xp 00000000 08:15 156872                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7fb086e7f000-7fb08707e000 ---p 00018000 08:15 156872                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7fb08707e000-7fb08707f000 r--p 00017000 08:15 156872                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7fb08707f000-7fb087080000 rw-p 00018000 08:15 156872                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7fb087080000-7fb087084000 rw-p 00000000 00:00 0 
7fb087087000-7fb087246000 r-xp 00000000 08:15 156808                     /lib/x86_64-linux-gnu/libc-2.23.so
7fb087246000-7fb087446000 ---p 001bf000 08:15 156808                     /lib/x86_64-linux-gnu/libc-2.23.so
7fb087446000-7fb08744a000 r--p 001bf000 08:15 156808                     /lib/x86_64-linux-gnu/libc-2.23.so
7fb08744a000-7fb08744c000 rw-p 001c3000 08:15 156808                     /lib/x86_64-linux-gnu/libc-2.23.so
7fb08744c000-7fb087450000 rw-p 00000000 00:00 0 
7fb087457000-7fb087745000 r-xp 00000000 00:2e 3016179                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/libruby.so.2.4.0
7fb087745000-7fb087944000 ---p 002ee000 00:2e 3016179                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/libruby.so.2.4.0
7fb087944000-7fb08794a000 r--p 002ed000 00:2e 3016179                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/libruby.so.2.4.0
7fb08794a000-7fb08794d000 rw-p 002f3000 00:2e 3016179                    /home/victor/.rvm/rubies/ruby-2.4.0/lib/libruby.so.2.4.0
7fb08794d000-7fb08795e000 rw-p 00000000 00:00 0 
7fb08795f000-7fb087985000 r-xp 00000000 08:15 156665                     /lib/x86_64-linux-gnu/ld-2.23.so
7fb087a17000-7fb087a3b000 r--s 00000000 00:2e 2888892                    /home/victor/.rvm/rubies/ruby-2.4.0/bin/ruby
7fb087a3f000-7fb087a46000 r--s 00000000 08:15 284974                     /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache
7fb087a4a000-7fb087a7b000 rw-p 00000000 00:00 0 
7fb087a7b000-7fb087a7c000 ---p 00000000 00:00 0 
7fb087a7c000-7fb087b84000 rw-p 00000000 00:00 0 
7fb087b84000-7fb087b85000 r--p 00025000 08:15 156665                     /lib/x86_64-linux-gnu/ld-2.23.so
7fb087b85000-7fb087b86000 rw-p 00026000 08:15 156665                     /lib/x86_64-linux-gnu/ld-2.23.so
7fb087b86000-7fb087b88000 rw-p 00000000 00:00 0 
7fb087b88000-7fb087b8a000 rw-p 00000000 00:00 0 
7ffc0a867000-7ffc0b066000 rw-p 00000000 00:00 0                          [stack]
7ffc0b0af000-7ffc0b0b1000 r--p 00000000 00:00 0                          [vvar]
7ffc0b0b1000-7ffc0b0b3000 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 (core dumped)

Updated by shyouhei (Shyouhei Urabe) over 7 years ago

zsh % diff -upw \
        <(ruby --dump=insns -e '/(?<foo>.*)/ =~ "bar" && true'    | sed -E 's/ +\( +[0-9]\)$//') \
        <(ruby --dump=insns -e '/(?<foo>.*)/ =~ "bar" &&' -e true | sed -E 's/ +\( +[0-9]\)$//')
--- /dev/fd/11  2017-03-07 15:35:58.000000000 +0900
+++ /dev/fd/12  2017-03-07 15:35:58.000000000 +0900
@@ -7,11 +7,12 @@ local table (size: 1, argc: 0 [opts: 0,
 0006 getglobal        $~
 0008 dup
 0009 branchunless     16
-0011 putobject        :foo
+0011 trace            1
 0013 opt_aref         <callinfo!mid:[], argc:1, ARGS_SIMPLE>, <callcache>
-0016 setlocal_OP__WC__0 3
-0018 dup
-0019 branchunless     24
-0021 pop
-0022 putobject        true
-0024 leave
+0016 putobject        :foo
+0018 setlocal_OP__WC__0 3
+0020 dup
+0021 branchunless     26
+0023 pop
+0024 putobject        true
+0026 leave

putobject at address 11 seems to be replaced with trace.

Actions #2

Updated by nobu (Nobuyoshi Nakada) over 7 years ago

  • Status changed from Open to Closed

Applied in changeset r57801.


parse.y: remove trace

  • parse.y (reg_named_capture_assign_iter): do not insert trace
    instructions before local variable assinments. putobject is
    expected at first. [ruby-core:79940] [Bug #13287]

Updated by nobu (Nobuyoshi Nakada) over 7 years ago

  • Backport changed from 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN to 2.2: DONTNEED, 2.3: DONTNEED, 2.4: REQUIRED

Updated by naruse (Yui NARUSE) over 7 years ago

  • Backport changed from 2.2: DONTNEED, 2.3: DONTNEED, 2.4: REQUIRED to 2.2: DONTNEED, 2.3: DONTNEED, 2.4: DONE

ruby_2_4 r57934 merged revision(s) 57801.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0