Bug #1997

memory leak on redefining method

Added by Usaku NAKAMURA over 5 years ago. Updated almost 4 years ago.

[ruby-dev:39165]
Status:Closed
Priority:Normal
Assignee:Nobuyoshi Nakada
ruby -v:ruby 1.9.2dev (2009-08-26 trunk 24658) [i386-mswin32] Backport:

Description

=begin
以下のスクリプトがメモリをどんどん食いつぶします。

loop do
class C
def foo
end
end
GC.start
end

vm_method.cのrb_add_method()を見たところ、TODOを直し忘れてるようです。
また、remove_methodでもメモリを解放してないので、同じようにメモリを食いつぶすことが出来そうです。

# なかださんが修正を考えてくれているそうなので、アサインしときます
=end

History

#1 Updated by Nobuyoshi Nakada over 5 years ago

=begin
なかだです。

At Wed, 26 Aug 2009 15:30:50 +0900,
Usaku NAKAMURA wrote in :

以下のスクリプトがメモリをどんどん食いつぶします。

loop do
class C
def foo
end
end
GC.start
end

vm_method.cのrb_add_method()を見たところ、TODOを直し忘れてるようです。
また、remove_methodでもメモリを解放してないので、同じようにメモリを食いつぶすことが出来そうです。

aliasの扱いがまずそうだったので、かなり大きくなってしまいました。

  • method_h (rb_method_definition_t): split from rb_method_entry_t.

    http://gist.github.com/176200

    --- 僕の前にBugはない。
    --- 僕の後ろにBugはできる。
    中田 伸悦

=end

#2 Updated by Nobuyoshi Nakada over 5 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

=begin
Applied in changeset r24691.
=end

Also available in: Atom PDF