はじめまして。
ruby-gnome2を試していたところ
[BUG] object allocation during garbage collection phase
というエラーが出ました。
環境は
Debian GNU/Linux sid
ruby 1.8.7 (2008-06-20 patchlevel 22) [i486-linux]
libgtk2-ruby (ruby-gnome2 0.17.0~rc1-1)
です。
別のマシン(Debian GNU/Linux etch)
ruby 1.8.5 (2006-08-25) [i486-linux]
libgtk2-ruby (ruby-gnome2 0.15.0-1.1etch1)
では、エラーが出ません。
再現用スクリプトは
--->--->--->--->
#!/usr/bin/ruby1.8
require "gtk2"
window = Gtk::Window.new
window.signal_connect("destroy"){
puts "Window destroyed"
Gtk.main_quit
}
window.realize
drawable = window.window
gc = Gdk::GC.new(drawable)
black = Gdk::Color.new(0,0,0)
white = Gdk::Color.new(65535,65535,65535)
window.show_all
cycle = 0
Gtk.timeout_add(50){
print("cycle = ",cycle,"\n")
cycle = cycle + 1
if cycle%2 == 0 then
gc.set_rgb_fg_color(black)
drawable.draw_rectangle(gc,true,100,100,10,10)
else
gc.set_rgb_fg_color(white)
drawable.draw_rectangle(gc,true,100,100,10,10)
end
}
Gtk.main
<---<---<---<---
私のパソコン(sid)ではcycleが500くらいでエラーになりました。
どのようにしたら、エラーを回避できるでしょうか?