Project

General

Profile

Bug #13832

Updated by mrkn (Kenta Murata) over 6 years ago

The following script occurs `[BUG] vm_call_cfunc: cfp consistency error` on ruby that is compiled with `-O0`. 

 ```console ```ruby 
 $ cat test.rb 
 def callback 
   p :callback 
   @non_existing_ivar 
 end 

 ObjectSpace.define_finalizer(Object.new, &method(:callback)) 
 GC.start 
 $ RBENV_VERSION=trunk-o0 ruby -v test.rb 
 ruby 2.5.0dev (2017-08-20 trunk 58053) [x86_64-darwin16] 
 test.rb:7: [BUG] vm_call_cfunc: cfp consistency error (0x0000000108988fa0, 0x0000000108988f70) 
 ruby 2.5.0dev (2017-08-20 trunk 58053) [x86_64-darwin16] 

 -- Crash Report log information -------------------------------------------- 
    See Crash Report log file under the one of following: 
      * ~/Library/Logs/DiagnosticReports 
      * /Library/Logs/DiagnosticReports 
    for more details. 
 Don't forget to include the above Crash Report log file in bug reports. 

 -- Control frame information ----------------------------------------------- 
 c:0004 p:---- s:0015 e:000012 IFUNC 
 c:0003 p:---- s:0010 e:000009 CFUNC    :start 
 c:0002 p:0054 s:0006 e:000005 EVAL     test.rb:7 [FINISH] 
 c:0001 p:0000 s:0003 E:001980 (none) [FINISH] 

 -- Ruby level backtrace information ---------------------------------------- 
 test.rb:7:in `<main>' 
 test.rb:7:in `start' 

 -- C level backtrace information ------------------------------------------- 
 0     libruby.2.5.0.dylib                   0x0000000108637cb9 rb_print_backtrace + 25 
 1     libruby.2.5.0.dylib                   0x0000000108637dc8 rb_vm_bugreport + 136 
 2     libruby.2.5.0.dylib                   0x0000000108437d8f rb_bug + 479 
 3     libruby.2.5.0.dylib                   0x0000000108622c25 vm_call_cfunc_with_frame + 693 
 4     libruby.2.5.0.dylib                   0x000000010861e19a vm_call_cfunc + 170 
 5     libruby.2.5.0.dylib                   0x000000010861d67a vm_call_method_each_type + 186 
 6     libruby.2.5.0.dylib                   0x000000010861d410 vm_call_method + 160 
 7     libruby.2.5.0.dylib                   0x000000010861d365 vm_call_general + 53 
 8     libruby.2.5.0.dylib                   0x0000000108609bd3 vm_exec_core + 8163 
 9     libruby.2.5.0.dylib                   0x0000000108618ce6 vm_exec + 182 
 10    libruby.2.5.0.dylib                   0x0000000108619a3d rb_iseq_eval_main + 45 
 11    libruby.2.5.0.dylib                   0x00000001084420b9 ruby_exec_internal + 233 
 12    libruby.2.5.0.dylib                   0x0000000108441fc1 ruby_exec_node + 33 
 13    libruby.2.5.0.dylib                   0x0000000108441f80 ruby_run_node + 64 
 14    ruby                                  0x00000001083a5f11 main + 113 

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

 * Loaded script: test.rb 

 * Loaded features: 

     0 enumerator.so 
     1 thread.rb 
     2 rational.so 
     3 complex.so 
     4 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/x86_64-darwin16/enc/encdb.bundle 
     5 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/x86_64-darwin16/enc/trans/transdb.bundle 
     6 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/x86_64-darwin16/rbconfig.rb 
     7 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/compatibility.rb 
     8 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/defaults.rb 
     9 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/deprecate.rb 
    10 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/errors.rb 
    11 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/version.rb 
    12 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/requirement.rb 
    13 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/platform.rb 
    14 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/basic_specification.rb 
    15 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/stub_specification.rb 
    16 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/util/list.rb 
    17 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/x86_64-darwin16/stringio.bundle 
    18 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/specification.rb 
    19 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/exceptions.rb 
    20 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/dependency.rb 
    21 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/core_ext/kernel_gem.rb 
    22 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/monitor.rb 
    23 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb 
    24 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems.rb 
    25 /Users/mrkn/.rbenv/versions/trunk-o0/lib/ruby/2.5.0/rubygems/path_support.rb 

 [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 

 [IMPORTANT] 
 Don't forget to include the Crash Report log file under 
 DiagnosticReports directory in bug reports. 

 Abort trap: 6 
 ``` 

 This also occurs on non-optimized ruby 2.4.1. 

Back