ASRでCOMのネストした呼び出しがうまくいかないYARVの動きに詳しい方、助言をお願いします。以下、状況を手短に説明。ASRのテストをしていたら、イベントハンドラ付きのテキストを設定するところでエラーとなる。onclick="funcall()">hello</div>'この呼び出しを行うと、次の動作をする。1つはMSHTAのスレッド、もう1つはRubyのスレッドだ。それぞれスレッドMとスレッドRとする。上のコードをASRが作成した無名モジュールに対してinstance_evalする(スレッドR)。WIN32OLEオブジェクト(Windowやdocument、foo要素など)のメソッド呼び出しの都度、スレッドMへLRPCが起きる。DOM(スレッドM)が、onclickを発見し、ASRに対して、"funcall()"という文字列のParseScriptProcedureを呼び出す。ASRはその文字列を以下のように変形する。Thread」でrb_raiseする。Ruby-1.8.7では特に問題なかったのだが。原因は、おそらくWin32OLE#method_missing呼び出し中(innerHTML=メソッドの呼び出し)の再入にあるのだろう。この時のスレッドRのスタックトレースは以下となる。77ced1ff()途中でLRPCやOLEがスタックを変えてはいるが、YARVのフレームやスレッドを破壊しているわけではない(実際、thおよびcfpはASRのinstance_eval呼び出し時はWin32OLE#method_missingの時のものを取り出している。したがって状態はcall_cfunc中にcall_cfuncされた状態だと思える、というかどういう状態が正しいのかYARVを読み切れていない)。c呼び出しが重なるのが原因かと思って小さな再現プログラムを作ったが、その方法では再現しない。