Bug #2499

InstructionSequence.dissassemble can crash

Added by marcandre (Marc-Andre Lafortune) over 2 years ago. Updated about 1 year ago.

[ruby-core:27226]
Status:Closed Start date:12/19/2009
Priority:Normal Due date:
Assignee:ko1 (Koichi Sasada) % Done:

100%

Category:core
Target version:1.9.2
ruby -v:ruby 1.9.2dev (2009-12-19 trunk 26121) [x86_64-darwin10.2.0]

Description

I was trying to understand what InstructionSequence.disassemble is supposed to do when:

$ rubydev -e 'RubyVM::InstructionSequence.disassemble("x".method(:upcase))'
-e:1: [BUG] Segmentation fault
ruby 1.9.2dev (2009-12-19 trunk 26121) [x86_64-darwin10.2.0]

-- control frame ----------
c:0004 p:---- s:0010 b:0010 l:000009 d:000009 CFUNC  :disassemble
c:0003 p:0027 s:0006 b:0006 l:0022c8 d:001e98 EVAL   -e:1
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0022c8 d:0022c8 TOP   
---------------------------
-e:1:in `<main>'
-e:1:in `disassemble'

-- C level backtrace information -------------------------------------------

[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

Abort trap

Associated revisions

Revision 26158
Added by nobu (Nobuyoshi Nakada) over 2 years ago

* iseq.c (iseq_s_disasm): return nil for native methods. [ruby-core:27226], [Bug#2499]

History

Updated by naruse (Yui NARUSE) over 2 years ago

  • Status changed from Open to Assigned
  • Assignee set to ko1 (Koichi Sasada)

Updated by nobu (Nobuyoshi Nakada) over 2 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100
This issue was solved with changeset r26158.
Marc-Andre, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

Also available in: Atom PDF