This project is closed and read-only.
Actions
Backport #5564
closed1.9.3 regression with encoding conversion
Backport #5564:
1.9.3 regression with encoding conversion
Status:
Closed
Assignee:
Description
Hello,
We are experiencing a bug in the Rails test suite against ruby 1.9.3.
The bug looks like this:
- Error:
test_default_external_works(TestERBTemplate):
ActionView::Template::Error: code converter not found (ISO-8859-1 to UTF-8)
/home/turnip/Code/rails/actionpack/lib/action_view/template/handlers/erb.rb:83:inencode!' /home/turnip/Code/rails/actionpack/lib/action_view/template/handlers/erb.rb:83:incall'
/home/turnip/Code/rails/actionpack/lib/action_view/template.rb:252:incompile' /home/turnip/Code/rails/actionpack/lib/action_view/template.rb:189:incompile!'
/home/turnip/Code/rails/actionpack/lib/action_view/template.rb:142:inblock in render' /home/turnip/Code/rails/activesupport/lib/active_support/notifications.rb:55:ininstrument'
/home/turnip/Code/rails/actionpack/lib/action_view/template.rb:141:inrender' test/template/template_test.rb:53:inrender'
test/template/template_test.rb:137:inblock in test_default_external_works' test/template/template_test.rb:176:inwith_external_encoding'
test/template/template_test.rb:135:intest_default_external_works' /home/turnip/.rvm/gems/ruby-1.9.3-p0/gems/mocha-0.10.0/lib/mocha/integration/mini_test/version_230_to_251.rb:28:inrun'
A simplified view of what that code is doing is the following:
s = "hello \u{fc}mlat"
s.force_encoding "ISO-8859-1"
s.encode! 'UTF-8'
However, I have been unable to create any simplified test case for this bug.
What I have been able to find out is the following:
- Via git-bisect, I tracked down the changed which introduced the bug (it was not present in 1.9.3-preview1). That change was https://github.com/ruby/ruby/commit/05c2cc90895750255f64254f2491ff0ad77cc13a (r32791)
- If I do some sort of conversion at load time in the file action_view/template/handlers/erb.rb, the bug does not occur. For example, if I insert "Encoding::Converter.new('ISO-8859-1', 'UTF-8')" (or the 3 lines above) at the top of the file, I do not experience the bug.
Let me know if I can provide any more information. Also any information about what exactly is triggering this would be very helpful so that we can put a workaround in Rails (if possible).
Thanks
Actions