Bug #1756: Segfault with define_method and Implicit Argument Form of super
http://redmine.ruby-lang.org/issues/show/1756

Author: Run Paint Run Run
Status: Open, Priority: Low
Category: core
ruby -v: ruby 1.9.2dev (2009-07-08 trunk 23995) [i686-linux]

$ cat super.rb 
  lambda do
    Class.new do
      define_method :a do
        super
      end.call
    end
  end.call

  $ ruby -v super.rb 
  super.rb:4: [BUG] Segmentation fault
  ruby 1.9.2dev (2009-07-08 trunk 23995) [i686-linux]

  -- control frame ----------
  c:0013 p:0008 s:0030 b:0029 l:0025d4 d:000028 LAMBDA super.rb:4
  c:0012 p:---- s:0027 b:0027 l:000026 d:000026 FINISH
  c:0011 p:---- s:0025 b:0025 l:000024 d:000024 CFUNC  :call
  c:0010 p:0017 s:0022 b:0022 l:0025d4 d:000b04 BLOCK  super.rb:5
  c:0009 p:---- s:0020 b:0020 l:000019 d:000019 FINISH
  c:0008 p:---- s:0018 b:0018 l:000017 d:000017 CFUNC  :initialize
  c:0007 p:---- s:0016 b:0016 l:000015 d:000015 CFUNC  :new
  c:0006 p:0015 s:0013 b:0013 l:0025d4 d:000f7c LAMBDA super.rb:2
  c:0005 p:---- s:0011 b:0011 l:000010 d:000010 FINISH
  c:0004 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC  :call
  c:0003 p:0015 s:0006 b:0006 l:0025d4 d:000ec4 EVAL   super.rb:1
  c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
  c:0001 p:0000 s:0002 b:0002 l:0025d4 d:0025d4 TOP   
  ---------------------------
  super.rb:1:in `<main>'
  super.rb:1:in `call'
  super.rb:2:in `block in <main>'
  super.rb:2:in `new'
  super.rb:2:in `initialize'
  super.rb:5:in `block (2 levels) in <main>'
  super.rb:5:in `call'
  super.rb:4:in `block (3 levels) in <main>'

  -- C level backtrace information -------------------------------------------
  ruby(rb_vm_bugreport+0xb5) [0x81619c5]
  ruby [0x819d5fb]
  ruby(rb_bug+0x28) [0x819d688]
  ruby [0x80f6745]
  [0xb8029410]
  ruby [0x8159212]
  ruby(rb_vm_invoke_proc+0x246) [0x815b5d6]
  ruby [0x8063ac5]
  ruby [0x814d8fd]
  ruby [0x815fa6b]
  ruby [0x8152526]
  ruby [0x8159212]
  ruby [0x815acc3]
  ruby [0x809629c]
  ruby [0x814d8fd]
  ruby [0x815b8e9]
  ruby [0x815bd3c]
  ruby(rb_obj_call_init+0x42) [0x805cfd2]
  ruby(rb_class_new_instance+0x2a) [0x809662a]
  ruby [0x814d8fd]
  ruby [0x815fa6b]
  ruby [0x8152526]
  ruby [0x8159212]
  ruby(rb_vm_invoke_proc+0x246) [0x815b5d6]
  ruby [0x8063ac5]
  ruby [0x814d8fd]
  ruby [0x815fa6b]
  ruby [0x8152526]
  ruby [0x8159212]
  ruby(rb_iseq_eval_main+0x1a3) [0x8159483]
  ruby(ruby_exec_node+0x97) [0x805d457]
  ruby(ruby_run_node+0x46) [0x805ed26]
  ruby(main+0x60) [0x805c850]
  /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7e4a775]
  ruby [0x805c751]

  [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


----------------------------------------
http://redmine.ruby-lang.org