reassign 490305 libglib2-ruby1.8 0.17.0~rc1-5 tag 490305 + patch thanks Hi Lucas,
2008/9/17 Lucas Nussbaum <[EMAIL PROTECTED]>: > On 09/09/08 at 08:39 +0200, Lucas Nussbaum wrote: >> > 2008/9/7 Thomas Viehmann: >> > > Noritada Kobayashi wrote: >> > >> Please wait a little while. This issue may not be resulted from a bug >> > >> inside Kazehakase. >> > > >> > > I can't speak for the release team, but I'd like to point out that a >> > > little while is more likely be measured in lower single-digit number of >> > > days than weeks or months, so you should hurry indeed. >> > >> > All right. Now I reassign the bug to ruby1.8. >> >> I don't think it's a bug in ruby1.8. Garbage collection changed a bit >> recently, which triggered some bugs in several libs (see #494515 for >> example). If it's not a bug in kazehakase itself, it's more likely to be >> a bug in libgtk-ruby1.8, since it happens while requiring that lib in >> /usr/share/kazehakase/ext/ruby/kazehakase-init-pre.rb. >> >> FWIW, I tried with libgtk2-ruby1.8 0.17.0~rc1-5, but it doesn't fix the >> problem. >> >> Based on the above info, I'm reassigning to libgtk2-ruby1.8. Feel free >> to reassign to ruby1.8 if it turns out that it's a bug in ruby1.8. But >> it doesn't sound like the most likely candidate. > > I tried to work on this a bit more. > > In a pure lenny chroot, on a different machine, I can't reproduce the > bug (but I still reproduce it on my laptop). I found no proof that it > isn't a bug in kazehakase, but in ruby or ruby-gnome2, so I'm > reassigning to kazehakase. Thank you very much for working on that issue. It seems that time has come for us to close the bug. :-) Today, Kouhei Sutou, an upstream developer of both Ruby/GNOME2 and Kazehakase's Ruby extension, finally figured out that the issue is caused by a bug in libglib2-ruby1.8. He fixed the bug in the repository of Ruby/GNOME2 at r3312. So, I created an attached patch based on that revision, rebuilt the ruby-gnome2 package with it applied, and confirmed that the issue is no more reproduced. It took a bit long time since Kouhei couldn't reproduce the bug on his machine (Debian sid, amd64). I must thank him for working on the issue on such a condition. Thanks, -nori
Index: ruby-gnome2-0.17.0~rc1/ChangeLog =================================================================== --- ruby-gnome2-0.17.0~rc1.orig/ChangeLog 2008-09-18 10:53:22.000000000 +0900 +++ ruby-gnome2-0.17.0~rc1/ChangeLog 2008-09-18 10:55:05.000000000 +0900 @@ -1,3 +1,8 @@ +2008-09-18 Kouhei Sutou <[EMAIL PROTECTED]> + + * src/rbglib_maincontext.c: use VALUE not guint to + rb_set_end_proc()'s data. This will fix Debian bug [#490305]. + 2008-05-23 Kouhei Sutou <[EMAIL PROTECTED]> * run-tests.rb: don't use open3, just output to stdout and stderr. Index: ruby-gnome2-0.17.0~rc1/glib/src/rbglib_maincontext.c =================================================================== --- ruby-gnome2-0.17.0~rc1.orig/glib/src/rbglib_maincontext.c 2008-09-18 10:53:22.000000000 +0900 +++ ruby-gnome2-0.17.0~rc1/glib/src/rbglib_maincontext.c 2008-09-18 10:53:40.000000000 +0900 @@ -753,6 +753,14 @@ } #endif +#ifndef HAVE_RB_THREAD_BLOCKING_REGION +static void +ruby_source_remove(VALUE tag) +{ + g_source_remove(NUM2UINT(tag)); +} +#endif + void Init_glib_main_context() { @@ -831,7 +839,7 @@ source = ruby_source_new(); tag = g_source_attach(source, NULL); g_source_unref(source); - rb_set_end_proc((void (*)(VALUE))g_source_remove, (VALUE)tag); + rb_set_end_proc(ruby_source_remove, UINT2NUM(tag)); } #endif }