From: Masaki Suketa Date: 2008-06-30T23:54:26+09:00 Subject: [ruby-dev:35278] [BUG] test_win32ole_event.rb in trunk 助田です。 ちょっとよくわからないので教えてください。 cygwin環境で、make test-all TESTS=win32ole とすると以下のようにBUGになりました。 /work/svn/ruby/trunk/test/win32ole/test_win32ole_event.rb:129: \ [BUG] object allocation during garbage collection phase ... test_win32ole_event.rb の 129行目はGC.startをコールしているだけです。 タイミング的には、 * gc.c (rb_newobj): prohibit call of rb_newobj() during gc when USE_VALUE_CACHE is not defined (normal case). の変更が入ってからなのですが、この変更が悪いとは考えにくいので、 WIN32OLE_EVENTの実装の方に元々問題があったんじゃないかと疑っています。 ただ、どこが悪いのか、今のところ見当がつきません。 GC.startがコールされたところで、このBUGが発生するのは 拡張ライブラリとして、どういう実装をした場合が考えられるでしょうか? あと、[BUG]の出力が延々繰り返される動きが気になってます。 WIN32OLE_EVENTは鬼門だ。 助田 雅紀