From: Kazuhiro N. <zn...@mb...> - 2004-03-13 18:53:05
|
西山です。 GConf::Client#notify_addでunsetが通知されると [BUG] Segmentation faultで落ちます。 #!/usr/bin/env ruby require 'gtk2' require 'gconf2' GCONF_TEST_KEY = "/extra/test/directory/key" client = GConf::Client.new value = client[GCONF_TEST_KEY] p value client.add_dir(GCONF_TEST_KEY) client.notify_add(GCONF_TEST_KEY) {|client, entry| p [client, entry, entry.value] } th = Thread.start { Gtk.main } client[GCONF_TEST_KEY] = true sleep 0.1 client[GCONF_TEST_KEY] = false sleep 0.1 client[GCONF_TEST_KEY] = rand sleep 0.1 client[GCONF_TEST_KEY] = "string" sleep 0.1 client.unset(GCONF_TEST_KEY) sleep 0.1 Gtk.main_quit th.join -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA) |
From: Masao M. <mu...@hi...> - 2004-03-14 01:50:40
|
むとうです。 On Sun, 14 Mar 2004 03:52:56 +0900 Kazuhiro NISHIYAMA <zn...@mb...> wrote: > 西山です。 > > GConf::Client#notify_addでunsetが通知されると > [BUG] Segmentation faultで落ちます。 私の方はSegmentation faultは出なかったんですが なんかGConfの変なエラーメッセージが出ます。 ちょっと見てみましたが、よくわからないので、 今日のリリース後に考えます。 しかし、ソース見て気づいたのですが、 Ruby/GConfってエラーハンドリングを してないんですね(GError対応)。 それも直さないとか...(T_T)。 -- .:% Masao Mutoh<mu...@hi...> |
From: Kazuhiro N. <zn...@mb...> - 2004-03-14 12:29:43
Attachments:
gconf_example_contoller.rb
gconf_example_view.rb
|
西山和広です。 In <200...@hi...> On Sun, 14 Mar 2004 10:50:29 +0900 Masao Mutoh <mu...@hi...> wrote: > > GConf::Client#notify_addでunsetが通知されると > > [BUG] Segmentation faultで落ちます。 > > 私の方はSegmentation faultは出なかったんですが > なんかGConfの変なエラーメッセージが出ます。 GConfの変なエラーメッセージというのは変な値を設定して しまった後に出るようです。 gconf_example_view.rbを起動している状態で、 irbからunsetすると落ちました。 そのときのbtです。 #0 0x40478452 in gconf_value_copy () from /usr/lib/libgconf-2.so.4 #1 0x4001c8d1 in rbgconf_entry_copy (entry=0x84568c0) at rbgconf-entry.c:61 #2 0x401fa299 in g_boxed_copy () from /usr/lib/libgobject-2.0.so.0 #3 0x401e0b62 in rbgobj_make_boxed (p=0x84568c0, gtype=135531720) at rbgobj_boxed.c:179 #4 0x4001b7bb in client_notify_callback (client=0x0, cnxn_id=1761607681, entry=0x0, user_data=0x0) at rbgconf-client.c:54 #5 0x40480898 in gconf_client_change_set_from_current () from /usr/lib/libgconf-2.so.4 #6 0x40474487 in gconf_listeners_remove_if () from /usr/lib/libgconf-2.so.4 #7 0x4047459b in gconf_listeners_remove_if () from /usr/lib/libgconf-2.so.4 #8 0x40480955 in gconf_client_change_set_from_current () from /usr/lib/libgconf-2.so.4 #9 0x40480a24 in gconf_client_change_set_from_current () from /usr/lib/libgconf-2.so.4 #10 0x404807d8 in gconf_client_change_set_from_current () from /usr/lib/libgconf-2.so.4 #11 0x402459c1 in g_timeout_add () from /usr/lib/libglib-2.0.so.0 #12 0x40243086 in unblock_source () from /usr/lib/libglib-2.0.so.0 #13 0x40244029 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #14 0x40244347 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #15 0x402449b0 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #16 0x4070dd2f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #17 0x40602d20 in gtk_m_main (self=1075508116) at rbgtkmain.c:134 (以下略) -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA) |
From: Masao M. <mu...@hi...> - 2004-03-14 13:01:58
|
むとうです。 ご報告ありがとうございます。 こちらもリリース後ということで。 ってかむしろそのまま追いこんでいただけると 助かるのですが(^^;)。 #あー、問題山積(T_T)。 On Sun, 14 Mar 2004 21:29:38 +0900 Kazuhiro NISHIYAMA <zn...@mb...> wrote: > 西山和広です。 > > In <200...@hi...> > On Sun, 14 Mar 2004 10:50:29 +0900 > Masao Mutoh <mu...@hi...> wrote: > > > GConf::Client#notify_addでunsetが通知されると > > > [BUG] Segmentation faultで落ちます。 > > > > 私の方はSegmentation faultは出なかったんですが > > なんかGConfの変なエラーメッセージが出ます。 > > GConfの変なエラーメッセージというのは変な値を設定して > しまった後に出るようです。 > > gconf_example_view.rbを起動している状態で、 > irbからunsetすると落ちました。 > そのときのbtです。 > > #0 0x40478452 in gconf_value_copy () from /usr/lib/libgconf-2.so.4 > #1 0x4001c8d1 in rbgconf_entry_copy (entry=0x84568c0) at rbgconf-entry.c:61 > #2 0x401fa299 in g_boxed_copy () from /usr/lib/libgobject-2.0.so.0 > #3 0x401e0b62 in rbgobj_make_boxed (p=0x84568c0, gtype=135531720) > at rbgobj_boxed.c:179 > #4 0x4001b7bb in client_notify_callback (client=0x0, cnxn_id=1761607681, > entry=0x0, user_data=0x0) at rbgconf-client.c:54 > #5 0x40480898 in gconf_client_change_set_from_current () > from /usr/lib/libgconf-2.so.4 > #6 0x40474487 in gconf_listeners_remove_if () from /usr/lib/libgconf-2.so.4 > #7 0x4047459b in gconf_listeners_remove_if () from /usr/lib/libgconf-2.so.4 > #8 0x40480955 in gconf_client_change_set_from_current () > from /usr/lib/libgconf-2.so.4 > #9 0x40480a24 in gconf_client_change_set_from_current () > from /usr/lib/libgconf-2.so.4 > #10 0x404807d8 in gconf_client_change_set_from_current () > from /usr/lib/libgconf-2.so.4 > #11 0x402459c1 in g_timeout_add () from /usr/lib/libglib-2.0.so.0 > #12 0x40243086 in unblock_source () from /usr/lib/libglib-2.0.so.0 > #13 0x40244029 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 > #14 0x40244347 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 > #15 0x402449b0 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 > #16 0x4070dd2f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 > #17 0x40602d20 in gtk_m_main (self=1075508116) at rbgtkmain.c:134 > (以下略) > > > -- > |ZnZ(ゼット エヌ ゼット) > |西山和広(Kazuhiro NISHIYAMA) > -- .:% Masao Mutoh<mu...@hi...> |
From: Kazuhiro N. <zn...@mb...> - 2004-03-14 14:38:53
|
西山和広です。 In <200...@hi...> On Sun, 14 Mar 2004 22:01:49 +0900 Masao Mutoh <mu...@hi...> wrote: > こちらもリリース後ということで。 > > ってかむしろそのまま追いこんでいただけると > 助かるのですが(^^;)。 gconf_value_copyにNULLがわたると落ちるということだったようです。 Index: src/rbgconf-entry.c =================================================================== RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gconf/src/rbgconf-entry.c,v retrieving revision 1.7 diff -u -p -r1.7 rbgconf-entry.c --- src/rbgconf-entry.c 8 Aug 2003 19:32:06 -0000 1.7 +++ src/rbgconf-entry.c 14 Mar 2004 14:06:42 -0000 @@ -55,12 +55,17 @@ rbgconf_entry_copy(entry) * chance? */ GConfEntry *new_entry; + GConfValue *value; g_return_val_if_fail(entry != NULL, NULL); + value = gconf_entry_get_value(entry); + if (value != NULL) { + value = gconf_value_copy(value); + } new_entry = gconf_entry_new_nocopy( g_strdup(gconf_entry_get_key(entry)), - gconf_value_copy(gconf_entry_get_value(entry))); + value); return new_entry; /* @@ -100,7 +105,12 @@ static VALUE entry_get_value(self) VALUE self; { - return GCVAL2RVAL(gconf_value_copy(gconf_entry_get_value(_SELF(self)))); + GConfValue *value = gconf_entry_get_value(_SELF(self)); + if (value != NULL) { + return GCVAL2RVAL(gconf_value_copy(value)); + } else { + return Qnil; + } } static VALUE -- |ZnZ(ゼット エヌ ゼット) |西山和広(Kazuhiro NISHIYAMA) |
From: Masao M. <mu...@hi...> - 2004-03-14 16:52:25
|
むとうです。 ありがとうございます。 今日はもう眠いので明日見ます。 それでは。 On Sun, 14 Mar 2004 23:38:46 +0900 Kazuhiro NISHIYAMA <zn...@mb...> wrote: > 西山和広です。 > > In <200...@hi...> > On Sun, 14 Mar 2004 22:01:49 +0900 > Masao Mutoh <mu...@hi...> wrote: > > こちらもリリース後ということで。 > > > > ってかむしろそのまま追いこんでいただけると > > 助かるのですが(^^;)。 > > gconf_value_copyにNULLがわたると落ちるということだったようです。 > > > Index: src/rbgconf-entry.c > =================================================================== > RCS file: /cvsroot/ruby-gnome2/ruby-gnome2/gconf/src/rbgconf-entry.c,v > retrieving revision 1.7 > diff -u -p -r1.7 rbgconf-entry.c > --- src/rbgconf-entry.c 8 Aug 2003 19:32:06 -0000 1.7 > +++ src/rbgconf-entry.c 14 Mar 2004 14:06:42 -0000 > @@ -55,12 +55,17 @@ rbgconf_entry_copy(entry) > * chance? > */ > GConfEntry *new_entry; > + GConfValue *value; > > g_return_val_if_fail(entry != NULL, NULL); > > + value = gconf_entry_get_value(entry); > + if (value != NULL) { > + value = gconf_value_copy(value); > + } > new_entry = gconf_entry_new_nocopy( > g_strdup(gconf_entry_get_key(entry)), > - gconf_value_copy(gconf_entry_get_value(entry))); > + value); > > return new_entry; > /* > @@ -100,7 +105,12 @@ static VALUE > entry_get_value(self) > VALUE self; > { > - return GCVAL2RVAL(gconf_value_copy(gconf_entry_get_value(_SELF(self)))); > + GConfValue *value = gconf_entry_get_value(_SELF(self)); > + if (value != NULL) { > + return GCVAL2RVAL(gconf_value_copy(value)); > + } else { > + return Qnil; > + } > } > > static VALUE > > > -- > |ZnZ(ゼット エヌ ゼット) > |西山和広(Kazuhiro NISHIYAMA) > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > ruby-gnome2-devel-ja mailing list > rub...@li... > https://lists.sourceforge.net/lists/listinfo/ruby-gnome2-devel-ja > -- .:% Masao Mutoh<mu...@hi...> |
From: Masao M. <mu...@hi...> - 2004-03-21 16:12:05
|
むとうです。 On Sun, 14 Mar 2004 23:38:46 +0900 Kazuhiro NISHIYAMA <zn...@mb...> wrote: > 西山和広です。 > > In <200...@hi...> > On Sun, 14 Mar 2004 22:01:49 +0900 > Masao Mutoh <mu...@hi...> wrote: > > こちらもリリース後ということで。 > > > > ってかむしろそのまま追いこんでいただけると > > 助かるのですが(^^;)。 > > gconf_value_copyにNULLがわたると落ちるということだったようです。 大変遅くなりましたが適用しました。 ありがとうございました。 P.S. なぜかメールが使えなかったのでメールが今の時間に なってしまいました。 -- .:% Masao Mutoh<mu...@hi...> |