Skip to content
  • nagachika's avatar
    e84f8076
    merge revision(s) 64799,64800,64801: [Backport #15105] · e84f8076
    nagachika authored
    	fix typo.
    
    	* vm_exec.h (DEBUG_END_INSN()): use `ec` instead of `th`.
    	  This macro is used when `VMDEBUG > 0`.
    
    
    	escape all env properly.
    
    	* vm_backtrace.c (rb_debug_inspector_open): escape all env using
    	  `rb_vm_stack_to_heap()` before making bindings.
    	  [Bug #15105]
    
    	  There is a complicated story of this issue:
    	  Without this patch, IFUNC frame does not escaped. A IFUNC frame
    	  points to CFUNC ep as previous ep. However, CFUNC ep can be escaped
    	  because of making bindings of Ruby level frames.
    	  IFUNC's ep can points to invalidated ep and `rb_iter_break()` will
    	  fail. This is why `any?` fails.
    
    	* test/-ext-/debug/test_debug.rb: add a test.
    
    
    	* remove trailing spaces.
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@66074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
    e84f8076
    merge revision(s) 64799,64800,64801: [Backport #15105]
    nagachika authored
    	fix typo.
    
    	* vm_exec.h (DEBUG_END_INSN()): use `ec` instead of `th`.
    	  This macro is used when `VMDEBUG > 0`.
    
    
    	escape all env properly.
    
    	* vm_backtrace.c (rb_debug_inspector_open): escape all env using
    	  `rb_vm_stack_to_heap()` before making bindings.
    	  [Bug #15105]
    
    	  There is a complicated story of this issue:
    	  Without this patch, IFUNC frame does not escaped. A IFUNC frame
    	  points to CFUNC ep as previous ep. However, CFUNC ep can be escaped
    	  because of making bindings of Ruby level frames.
    	  IFUNC's ep can points to invalidated ep and `rb_iter_break()` will
    	  fail. This is why `any?` fails.
    
    	* test/-ext-/debug/test_debug.rb: add a test.
    
    
    	* remove trailing spaces.
    
    git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@66074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Loading