Issue #10291 has been updated by Jeff McCune.

# Confirmed this is an issue in 1.9.2 #

I've only been able to trigger this when 0xA0 UTF-8 spaces are present in the 
manifest.  Unicode snowmen in parameters and resource titles don't appear to 
cause any issues.

</pre>
% /Users/jeff/.rvm/rubies/ruby-1.9.2-p290/bin/ruby -KU -- `which rspec` -f d -b 
spec/classes/support535_utf8_oliver_spec.rb 
/Users/jeff/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
 `require': /vagrant/src/puppet/lib/puppet/util/zaml.rb:224: invalid multibyte 
escape: /([\x80-\xFF])/ (SyntaxError)
invalid multibyte escape: /[\x00-\x08\x0B\x0C\x0E-\x1F\x80-\xFF]/
        from 
/Users/jeff/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
 `require'
        from /vagrant/src/puppet/lib/puppet/util/monkey_patches.rb:17:in `<top 
(required)>'
        from 
/Users/jeff/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
 `require'
        from 
/Users/jeff/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
 `require'
        from /vagrant/src/puppet/lib/puppet/util.rb:4:in `<top (required)>'
        from 
/Users/jeff/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
 `require'
        from 
/Users/jeff/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
 `require'
        from /vagrant/src/puppet/lib/puppet.rb:11:in `<top (required)>'
        from 
/Users/jeff/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
 `require'
        from 
/Users/jeff/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
 `require'
        from /Users/jeff/vms/puppet/src/support535/spec/spec_helper.rb:1:in 
`<top (required)>'
        from 
/Users/jeff/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
 `require'
        from 
/Users/jeff/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
 `require'
        from 
/Users/jeff/vms/puppet/src/support535/spec/classes/support535_utf8_oliver_spec.rb:4:in
 `<top (required)>'
        from 
/Users/jeff/.rvm/gems/ruby-1.9.2-p290@puppet/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in
 `load'
        from 
/Users/jeff/.rvm/gems/ruby-1.9.2-p290@puppet/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in
 `block in load_spec_files'
        from 
/Users/jeff/.rvm/gems/ruby-1.9.2-p290@puppet/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in
 `map'
        from 
/Users/jeff/.rvm/gems/ruby-1.9.2-p290@puppet/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in
 `load_spec_files'
        from 
/Users/jeff/.rvm/gems/ruby-1.9.2-p290@puppet/gems/rspec-core-2.7.1/lib/rspec/core/command_line.rb:18:in
 `run'
        from 
/Users/jeff/.rvm/gems/ruby-1.9.2-p290@puppet/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:80:in
 `run_in_process'
        from 
/Users/jeff/.rvm/gems/ruby-1.9.2-p290@puppet/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:69:in
 `run'
        from 
/Users/jeff/.rvm/gems/ruby-1.9.2-p290@puppet/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:10:in
 `block in autorun'
</pre>
----------------------------------------
Bug #10291: UTF8 non-breaking space in a manifest breaks the parser
https://projects.puppetlabs.com/issues/10291

Author: Oliver Hookins
Status: Accepted
Priority: Normal
Assignee: Jeff McCune
Category: ruby19
Target version: 
Affected Puppet version: 2.6.7
Keywords: 
Branch: 


<code>
err: Could not parse for environment production: Could not match  Yum::Repo at 
/home/ohookins/svn/redacted/repo.pp:4
</code>

The actual code is unremarkable, but the problem is here:

<code>
00000020  20 7b 0a 20 c2 a0 59 75  6d 3a 3a 52 65 70 6f 20  | {. ..Yum::Repo |
00000030  7b 0a 20 c2 a0 c2 a0 c2  a0 6d 65 74 61 64 61 74  |{. ......metadat|
</code>

Somehow we've ended up with a UTF8 "nbsp" in our manifest (the 0xc2a0). Sure, I 
can just remove these characters but it suggests to me that perhaps the Unicode 
support in the parser is incomplete, which is a larger problem for 
internationalisation.




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to