[Kazehakase-devel 2908] Re: 起動時に~/.kazehakase/clip.xmlがある場合にsegfault

アーカイブの一覧に戻る

Noritada Kobayashi norit****@gmail*****
2008年 9月 9日 (火) 17:48:11 JST


小林です。

2008/09/09 13:22 Kouhei Sutou <kou****@cozmi*****>:
>> 起動時に~/.kazehakase/clip.xmlがあるとRuby関連のsegfaultが起きる、
>> というバグで、バックトレースも同バグのバグ報告に収められています。
>
> clip.xmlは単にGCのタイミングに関連しているだけかと思います。
> 例えば、こうすると、clip.xmlがあってももう少し先に進みそうな気がします。

確かにGCはタイミングの問題なので、clip.xmlはあまり関係なさそうですね……。

> バックトレースをみると、
>  #4  0xb6dff787 in str_alloc (klass=3067261960) at string.c:67
>  #5  0xb6dff80c in str_new (klass=8, ptr=0x81141f8 ":", len=1) at string.c:89
> となっていて、ソースをみるとstr_new()のklassはそのままstr_alloc()の
> klassとして渡されるだけなのに大きく値が違っているので、もっと別の
> 場所で何かが壊れているのだと思います。
>
>
> それは別として、Rubyのend_procsたちは初期化されていてもよさそう
> な気がします。そうすれば
>  #1  0xb6d8ad2b in rb_mark_end_proc () at eval.c:7989
> の中でwhile (link)でループに入ることもなく、gc_mark()も呼ばれないよ
> うな気もします。
>
> ということでRubyにこのパッチを当てると挙動は変わりますか?

ありがとうございます。
当ててインストールしてみたのですが変わりませんでした……。

# なんかruby1.8にreassignしたんですが、
# libgtk-ruby1.8のほうにreassignされちゃいました……。

--
Noritada Kobayashi <norit****@gmail*****>


Kazehakase-devel メーリングリストの案内
アーカイブの一覧に戻る