From: Tanaka Akira Date: 2008-05-16T18:05:55+09:00 Subject: [ruby-dev:34726] memory leak by Array#sort! 以下のように、Array#sort! の中で配列を変更するとメモりリークします。 % ./ruby -ve ' loop { ary = (1..100).to_a ary.sort! {|a,b| ary[0] = "a"; a <=> b} GC.start puts File.read("/proc/#{$$}/status").lines.grep(/^VmSize/) } ' ruby 1.9.0 (2008-05-16 revision 16436) [i686-linux] VmSize: 7256 kB ... VmSize: 27220 kB ... あと、上記のスクリプトを ^C で止めた時、以下の TypeError に なることがあります。 -e:6:in `write': invalid inspect_tbl list for :write in # (TypeError) from -e:6:in `puts' from -e:6:in `puts' from -e:6:in `block in
' from -e:2:in `loop' from -e:2:in `
' -- [田中 哲][たなか あきら][Tanaka Akira]