Closed
Description
やること
- Bump rexml from 3.3.2 to 3.3.3 #1619 をマージするとデプロイできなくなったので一旦 revert
- まずは同様の状況を再現するテストを用意する
- テストをパスするように修正する
- Bump rexml from 3.3.2 to 3.3.3 #1619 を再度コミットする
背景
RSS のサイズが大きすぎる...? cc/ @nanophate
RSS::NotWellFormedError: This is not well formed XML
entity expansion has grown too large
A deployment for coderdojo-japan failed due to a release phase command in release v3238. To inspect the failure, check your release phase log in the dashboard or run 'heroku releases:output v3238' in the CLI.
If you wish to retry the release, you can use the release retry CLI plugin.

(要ログイン) https://dashboard.heroku.com/apps/coderdojo-japan/activity/releases/3238
rails aborted!
RSS::NotWellFormedError: This is not well formed XML
entity expansion has grown too large
/app/vendor/bundle/ruby/3.1.0/gems/rss-0.2.9/lib/rss/rexmlparser.rb:20:in `rescue in _parse'
/app/vendor/bundle/ruby/3.1.0/gems/rss-0.2.9/lib/rss/rexmlparser.rb:16:in `_parse'
/app/vendor/bundle/ruby/3.1.0/gems/rss-0.2.9/lib/rss/parser.rb:183:in `parse'
/app/vendor/ruby-3.1.4/lib/ruby/3.1.0/forwardable.rb:238:in `parse'
/app/vendor/bundle/ruby/3.1.0/gems/rss-0.2.9/lib/rss/parser.rb:88:in `parse'
/app/lib/tasks/podcasts.rake:16:in `block (2 levels) in <main>'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `block in execute'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `each'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `execute'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `synchronize'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `invoke_with_call_chain'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:188:in `invoke'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:160:in `invoke_task'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `each'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block in top_level'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:125:in `run_with_threads'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:110:in `top_level'
/app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.8/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling'
/app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.8/lib/rails/commands/rake/rake_command.rb:24:in `block in perform'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/rake_module.rb:59:in `with_application'
/app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.8/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.8/lib/rails/command.rb:50:in `invoke'
/app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.8/lib/rails/commands.rb:18:in `<main>'
/app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
Caused by:
entity expansion has grown too large
/app/vendor/bundle/ruby/3.1.0/gems/rexml-3.3.3/lib/rexml/parsers/baseparser.rb:559:in `block in unnormalize'
/app/vendor/bundle/ruby/3.1.0/gems/rexml-3.3.3/lib/rexml/parsers/baseparser.rb:551:in `each'
/app/vendor/bundle/ruby/3.1.0/gems/rexml-3.3.3/lib/rexml/parsers/baseparser.rb:551:in `unnormalize'
/app/vendor/bundle/ruby/3.1.0/gems/rexml-3.3.3/lib/rexml/parsers/streamparser.rb:39:in `parse'
/app/vendor/bundle/ruby/3.1.0/gems/rexml-3.3.3/lib/rexml/document.rb:402:in `parse_stream'
/app/vendor/bundle/ruby/3.1.0/gems/rss-0.2.9/lib/rss/rexmlparser.rb:18:in `_parse'
/app/vendor/bundle/ruby/3.1.0/gems/rss-0.2.9/lib/rss/parser.rb:183:in `parse'
/app/vendor/ruby-3.1.4/lib/ruby/3.1.0/forwardable.rb:238:in `parse'
/app/vendor/bundle/ruby/3.1.0/gems/rss-0.2.9/lib/rss/parser.rb:88:in `parse'
/app/lib/tasks/podcasts.rake:16:in `block (2 levels) in <main>'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `block in execute'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `each'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:281:in `execute'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `synchronize'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:199:in `invoke_with_call_chain'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/task.rb:188:in `invoke'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:160:in `invoke_task'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `each'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:116:in `block in top_level'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:125:in `run_with_threads'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:110:in `top_level'
/app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.8/lib/rails/commands/rake/rake_command.rb:24:in `block (2 levels) in perform'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/application.rb:186:in `standard_exception_handling'
/app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.8/lib/rails/commands/rake/rake_command.rb:24:in `block in perform'
/app/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/lib/rake/rake_module.rb:59:in `with_application'
/app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.8/lib/rails/commands/rake/rake_command.rb:18:in `perform'
/app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.8/lib/rails/command.rb:50:in `invoke'
/app/vendor/bundle/ruby/3.1.0/gems/railties-6.1.7.8/lib/rails/commands.rb:18:in `<main>'
/app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/app/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
Tasks: TOP => podcasts:upsert
(See full trace by running task with --trace)