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
}