https://dev.mikutter.hachune.net/
https://dev.mikutter.hachune.net/favicon.ico?1619448608
2013-01-13T04:47:27Z
やること
mikutter - バグ #556: Gtk::TreeIterがリークしている問題
https://dev.mikutter.hachune.net/issues/556?journal_id=1011
2013-01-13T04:47:27Z
toshi_a 初音
toshi.alternative@gmail.com
<ul><li><strong>ファイル</strong> <a href="/attachments/69">mikutter-memory.20130113.png</a> <a class="icon-only icon-download" title="ダウンロード" href="/attachments/download/69/mikutter-memory.20130113.png">mikutter-memory.20130113.png</a> を追加</li></ul><p>RubyGtk2のコードに少し手を入れたらGtk::TreeIterがガベージコレクトされるようになった。Stringとかがギザギザなのは TimeLimitedStorage でオブジェクトの参照が定期的に切り離されてGCが働くからだと思う。<br />ただこれで完全に解決かどうかは怪しい。今でも若干Gtk::TreeIterが時間経過と共に、ごくわずかにだが増えていってる。</p>
<p>もう少しちゃんと調査して、この変更をRubyGnome2プロジェクトに取り込んでもらうべきかどうか考えてみる。</p>
mikutter - バグ #556: Gtk::TreeIterがリークしている問題
https://dev.mikutter.hachune.net/issues/556?journal_id=1016
2013-01-30T16:47:42Z
toshi_a 初音
toshi.alternative@gmail.com
<ul><li><strong>ファイル</strong> <a href="/attachments/72">mikutter-memory-20130131.png</a> <a class="icon-only icon-download" title="ダウンロード" href="/attachments/download/72/mikutter-memory-20130131.png">mikutter-memory-20130131.png</a> を追加</li><li><strong>ステータス</strong> を <i>新規</i> から <i>実装待ち</i> に変更</li></ul><p>先の、わずかにGtk::TreeIterがリークしている問題も原因が判明し、修正を加えて、home_timelineと依存する幾つかのプラグインだけで60時間以上稼働させてみたところ、最終のメモリ使用量は470MB程度になった。また、オブジェクトの数の遷移のグラフを見ても、ほぼ増えていないので解決したといってよさそう。</p>
<p>今回手を入れたコードを、 RubyGNOME2 プロジェクトに送ったところ、取り込んでもらえた。</p>
<p><a class="external" href="https://github.com/ruby-gnome2/ruby-gnome2/pull/128">https://github.com/ruby-gnome2/ruby-gnome2/pull/128</a></p>
<p>また、この変更は 1/30 にリリースされた Ruby GNOME2 1.2.1 に含まれている。これからもディストリのパッケージの関係などで古いRuby Gtkを使い続ける人が多いと思われるので、メモリリーク回避用のコードは削除せずに残しておき、起動時にバージョンを確認して、どちらの実装を使うか選択するようにする。<br />また、この不具合に対する対策は、 0.2.1 にも適用する。</p>
mikutter - バグ #556: Gtk::TreeIterがリークしている問題
https://dev.mikutter.hachune.net/issues/556?journal_id=1050
2013-03-09T16:56:33Z
toshi_a 初音
toshi.alternative@gmail.com
<ul><li><strong>ステータス</strong> を <i>実装待ち</i> から <i>終了</i> に変更</li></ul>