Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
Froyo
-
Platform Core KANBAN
-
Automated Test
-
Bug Fix
-
All Ruby source files will now be parsed as UTF-8 instead of ASCII when running under JRuby 1.7, the same as MRI Ruby and JRuby 9K, which avoids corner-case bugs when interpolating translated strings with Unicode characters.
-
No Action
Description
When running puppetserver in Japanese from packages on Redhat 7, this manifest:
node default {
|
class { 'i18ndemo': param1 => false }
|
}
|
causes a warning to be issued, that is correctly printed in Japanese in the server log before causing an invalid encoding error immediately after:
2017-12-04 13:30:13,359 ERROR [qtp1391621659-62] [puppetserver] Puppet Evaluation Error: a Function Callの検証中にエラーが生じました。eputnam-i18ndemo init.pp: /tmp/i18ndemofile.txtファイルの作成に失敗しました at /etc/puppetlabs/code/environments/production/modules/i18ndemo/manifests/init.pp:23:5 on node maggie
|
2017-12-04 13:30:13,363 ERROR [qtp1391621659-62] [puppetserver] Puppet Received a Log attribute with invalid encoding:"Server Error: Evaluation Error: a Function Call\xE3\x81\xAE\xE6\xA4\x9C\xE8\xA8\xBC\xE4\xB8\xAD\xE3\x81\xAB\xE3\x82\xA8\xE3\x83\xA9\xE3\x83\xBC\xE3\x81\x8C\xE7\x94\x9F\xE3\x81\x98\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F\xE3\x80\x82eputnam-i18ndemo init.pp: /tmp/i18ndemofile.txt\xE3\x83\x95\xE3\x82\xA1\xE3\x82\xA4\xE3\x83\xAB\xE3\x81\xAE\xE4\xBD\x9C\xE6\x88\x90\xE3\x81\xAB\xE5\xA4\xB1\xE6\x95\x97\xE3\x81\x97\xE3\x81\xBE\xE3\x81\x97\xE3\x81\x9F at /etc/puppetlabs/code/environments/production/modules/i18ndemo/manifests/init.pp:23:5
|
On the agent side, the run fails with this error:
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Internal Server Error: org.jruby.exceptions.RaiseException: (Encoding::InvalidByteSequenceError) ""\xE3"" on US-ASCII
|
The agent's locale does not affect this error. If the param is set to true instead, we do not encounter an error.