チケット #28184

luatexja-ruby + beamer + hbox で assertion failed

登録: 2012-04-26 22:48 最終更新: 2012-05-29 14:57

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
4
重要度:
5 - 中
解決法:
なし
ファイル:
なし

詳細

kitagawa_ruby ブランチで,下のソース:

%#! lualatex
\documentclass{beamer}
\usepackage{luatexja-ruby}
\begin{document}
\begin{frame}
\hbox{\ruby{あ}{い}}
\end{frame}
\end{document}
を処理させると
lualatex: ../../../source/texk/web2c/luatexdir/tex/texnodes.w:830: free_error: Assertion `p> my_prealloc' failed.
というエラーがおきます.frame 環境に fragile 指定をつけても同じですが,frame の外に移動させると平気です.

gdb で見てみると,handle_right_brace () -> package (c=0) -> flush_node_list (pp=8) でメモリ解放のエラーがおきているようですが,まだよく調べていません.とりあえずエラー報告だけ.

チケットの履歴 (4 件中 3 件表示)

2012-04-26 22:48 更新者: h7k
  • 新しいチケット "luatexja-ruby + beamer + hbox で assertion failed" が作成されました
2012-05-28 08:23 更新者: h7k
コメント

より詳細にみてみると,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.
と変わります.

2012-05-28 08:33 更新者: h7k
  • 担当者(未割り当て) から h7k に更新されました
2012-05-29 14:57 更新者: h7k
  • 状況オープン から 完了 に更新されました
  • チケット完了時刻2012-05-29 14:57 に更新されました
コメント

commit 6c3bd6b で直しました.ltj-ruby.lua の

 tex.setattribute(attr_ruby, -0x7FFFFFFF);
が悪さをしていたようです(attr_ruby は和文/欧文分別のデータが入っている attribute と供用していた). 本コミットでは attr_ruby を別の attribute として,ここはいじりませんでしたが,
 tex.setattribute(attr_ruby, -0x7FFFFFFF);
は次回のコミットで削除する予定です.

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする