より詳細にみてみると,packaging.w 中の package() 中の
if (saved_value(2) != null) { /* DIR: Adjust back |text_dir_ptr| for |scan_spec| */ flush_node_list(text_dir_ptr); text_dir_ptr = saved_value(2);でおこっています.また入力を
あ\hbox{\ruby{あ}{い}}と変えると,エラーが
lualatex: ../../../source/texk/web2c/luatexdir/tex/texnodes.w:2064: set_attribute: Assertion `varmem[(p)].hh.v.RH!=0' failed.と変わります.
commit 6c3bd6b で直しました.ltj-ruby.lua の
tex.setattribute(attr_ruby, -0x7FFFFFFF);が悪さをしていたようです(attr_ruby は和文/欧文分別のデータが入っている attribute と供用していた). 本コミットでは attr_ruby を別の attribute として,ここはいじりませんでしたが,
tex.setattribute(attr_ruby, -0x7FFFFFFF);は次回のコミットで削除する予定です.
kitagawa_ruby ブランチで,下のソース:
を処理させると というエラーがおきます.frame 環境に fragile 指定をつけても同じですが,frame の外に移動させると平気です.gdb で見てみると,handle_right_brace () -> package (c=0) -> flush_node_list (pp=8) でメモリ解放のエラーがおきているようですが,まだよく調べていません.とりあえずエラー報告だけ.