Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re:VIEW(5.10.0) EPUBビルド ruby 3.2.3でRuntimeError発生 #1929

Open
Yuki-book opened this issue Nov 7, 2024 · 3 comments
Open

Re:VIEW(5.10.0) EPUBビルド ruby 3.2.3でRuntimeError発生 #1929

Yuki-book opened this issue Nov 7, 2024 · 3 comments

Comments

@Yuki-book
Copy link

過去に出版した書籍を新しい環境でビルドするとエラーが発生しました。

エラー発生条件

Ubuntu 24.04.1 ruby3.2.3でreview(5.10.0)を使用してrake EPUBするとRuntimeErrorが発生します。
小さなドキュメントでは発生しません。

entity expansion has grown too large


$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.1 LTS
Release:        24.04
Codename:       noble
$ ruby --version
ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x86_64-linux-gnu]
$ review version
5.10.0
$ rake epub
review-epubmaker  config.yml
⨯ ERROR   compile error in re_content/chapter_02.re (RuntimeError)
⨯ ERROR   entity expansion has grown too large
⨯ ERROR   compile error in re_content/chapter_03.re (RuntimeError)
⨯ ERROR   entity expansion has grown too large
⨯ ERROR   compile error in re_content/chapter_05.re (RuntimeError)
⨯ ERROR   entity expansion has grown too large
⨯ ERROR   compile error, No EPUB file output.
rake aborted!
Command failed with status (1): [review-epubmaker  config.yml...]
lib/tasks/review.rake:117:in `block in <top (required)>'
Tasks: TOP => epub => book.epub
(See full trace by running task with --trace

ボリューム

2章、3章、5章は、下記に示すようにボリュームがあります。

$ review vol
 13KB   5853C   326L  13P  preface ....... はじめに
 42KB  20515C  1076L  42P  chapter_01 .... 第1章  DEC TOPS-20の世界
 68KB  42778C  2432L  68P  chapter_02 .... 第2章  超マシン復活
 62KB  38878C  2477L  62P  chapter_03 .... 第3章  よみがえるTOPS-20
 61KB  37090C  2457L  61P  chapter_04 .... 第4章  TOPS-20コマンド
 95KB  59067C  3812L  95P  chapter_05 .... 第5章  冒険の旅へ出発
 35KB  19086C  1347L  35P  chapter_06 .... 第6章  Let'sプログラミング
  4KB   3450C    62L   4P  appendix_a .... 付録A  マニュアル
  2KB   1279C    59L   2P  appendix_b .... 付録B  ドキュメント
  1KB    422C    30L   1P  postface ...... おわりに
  3KB   2447C    86L   3P  bib ........... 参考文献
  1KB     55C     9L   1P  index ......... 索引
  1KB    158C    12L   1P  revision ...... 改訂履歴
=============================
383KB 231078C 14185L 383P

rubyバージョンを下げるとエラーは発生しません。

$ ruby --version
ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-linux]
$ rake epub
review-epubmaker  config.yml
✔ SUCCESS built book04.epub

以上、よろしくお願いいたします。

@takahashim
Copy link
Collaborator

エラー報告ありがとうございます。
このエラーだと REXML::Security.entity_expansion_text_limit = 102400 といった形でentity_expansion_text_limitの値を大きくすれば回避できるようですが、いくつにすればよいのかが事前に分からないのがちょっと悩ましいですね…。

@kdmsnr
Copy link
Collaborator

kdmsnr commented Nov 9, 2024

当面の回避策として review-ext.rb に書くのはどうでしょう?
(読み込み順がどうなっているのかわかりませんが)

@kmuto
Copy link
Owner

kmuto commented Nov 17, 2024

デフォルトの10000はたしかにちょっと小さいことがありそうだなとは思いつつ、では妥当な数値は、となると確かに難しいですね…。configパラメータ化してもエラーから設定への誘導動線が難しそう(それならreview-ext.rbで十分ではとなりそう)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants