任务单 #28184

luatexja-ruby + beamer + hbox で assertion failed

开放日期: 2012-04-26 22:48 最后更新: 2012-05-29 14:57

报告人:
属主:
类型:
状态:
关闭
组件:
(无)
里程碑:
(无)
优先:
4
严重性:
5 - Medium
处理结果:
文件:

Details

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) でメモリ解放のエラーがおきているようですが,まだよく調べていません.とりあえずエラー報告だけ.

任务单历史 (3/4 Histories)

2012-04-26 22:48 Updated by: h7k
  • New Ticket "luatexja-ruby + beamer + hbox で assertion failed" created
2012-05-28 08:23 Updated by: 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 Updated by: h7k
  • 属主 Update from (无) to h7k
2012-05-29 14:57 Updated by: h7k
  • 状态 Update from 开启 to 关闭
  • Ticket Close date is changed to 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);
は次回のコミットで削除する予定です.

Attachment File List

No attachments

编辑

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » 登录名