Actions
Bug #6655
closedCalling instance_methods after prepend causes VM crash
Description
=begin
This code:
class Example
prepend Module.new
instance_methods
end
Causes the following crash on trunk:
example.rb:3: [BUG] Segmentation fault
ruby 2.0.0dev (2012-06-27 trunk 36234) [x86_64-darwin11.3.0]
-- Control frame information -----------------------------------------------
c:0004 p:---- s:0009 b:0009 e:000008 CFUNC :instance_methods
c:0003 p:0034 s:0006 b:0006 e:000005 CLASS example.rb:3
c:0002 p:0009 s:0004 b:0004 e:001b68 EVAL example.rb:1 [FINISH]
c:0001 p:0000 s:0002 b:0002 e:001dc8 TOP [FINISH]
example.rb:1:in `<main>'
example.rb:3:in `<class:Example>'
example.rb:3:in `instance_methods'
-- C level backtrace information -------------------------------------------
See Crash Report log file under ~/Library/Logs/CrashReporter or
/Library/Logs/CrashReporter, for the more detail of.
-- Other runtime information -----------------------------------------------
* Loaded script: example.rb
* Loaded features:
0 enumerator.so
1 /Users/konstantin/.rbenv/versions/2.0.0-dev/lib/ruby/2.0.0/x86_64-darwin11.3.0/enc/encdb.bundle
2 /Users/konstantin/.rbenv/versions/2.0.0-dev/lib/ruby/2.0.0/x86_64-darwin11.3.0/enc/trans/transdb.bundle
3 /Users/konstantin/.rbenv/versions/2.0.0-dev/lib/ruby/2.0.0/rubygems/defaults.rb
4 /Users/konstantin/.rbenv/versions/2.0.0-dev/lib/ruby/2.0.0/x86_64-darwin11.3.0/rbconfig.rb
5 /Users/konstantin/.rbenv/versions/2.0.0-dev/lib/ruby/2.0.0/rubygems/deprecate.rb
6 /Users/konstantin/.rbenv/versions/2.0.0-dev/lib/ruby/2.0.0/rubygems/exceptions.rb
7 /Users/konstantin/.rbenv/versions/2.0.0-dev/lib/ruby/2.0.0/rubygems/custom_require.rb
8 /Users/konstantin/.rbenv/versions/2.0.0-dev/lib/ruby/2.0.0/rubygems.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
[1] 5026 abort ruby example.rb
=end
Updated by nobu (Nobuyoshi Nakada) over 12 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r36236.
Konstantin, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
fix null m_tbl
- class.c (class_instance_method_list): m_tbl in prepended
class/module is NULL. [ruby-core:45915][Bug #6655]
Actions
Like0
Like0