Issue #7836 has been updated by Peter Heiner.

This happens to me as well, even though I think this is more like an error with 
in-memory parsing structures, as my YAML files seemed fine. I've deleted them 
to make the problem go away, but will submit the next time this occurs.

I have several groups of hosts, where each group is applied a minimal set of 
base modules and a set of modules different from the others to a varying degree.
For my setup, the place at which the error occurs is identical for hosts 
belonging to the same group, different otherwise. Here are some log messages:

host1:
    Apr 23 09:06:09 puppet-agent[31128]: Could not retrieve catalog from remote 
server: Error 400 on SERVER: Could not parse YAML data for node host1: syntax 
error on line 121, col 15: `23 06:1  ' 
    Apr 23 08:06:04 puppet-agent[31128]: Could not retrieve catalog from remote 
server: Error 400 on SERVER: Could not parse YAML data for node host1: syntax 
error on line 121, col 15: `' 
host2:
    Apr 19 14:52:42 puppet-agent[17286]: Could not retrieve catalog from remote 
server: Error 400 on SERVER: Could not parse YAML data for node host2: syntax 
error on line 119, col 8: `  ' 
    Apr 19 14:22:39 puppet-agent[17286]: Could not retrieve catalog from remote 
server: Error 400 on SERVER: Could not parse YAML data for node host2: syntax 
error on line 119, col 8: `  '
host3:
    Apr 16 13:51:01 puppet-agent[4744]: Could not retrieve catalog from remote 
server: Error 400 on SERVER: Could not parse YAML data for node host3: syntax 
error on line 113, col 17: `:' 
    Apr 16 13:21:00 puppet-agent[4744]: Could not retrieve catalog from remote 
server: Error 400 on SERVER: Could not parse YAML data for node host3: syntax 
error on line 113, col 17: `'
host4 (same group as host1):
    Apr 10 11:09:58 puppet-agent[12299]: Could not retrieve catalog from remote 
server: Error 400 on SERVER: Could not parse YAML data for node host4: syntax 
error on line 121, col 15: ` mç'+'
    Apr 10 10:39:56 puppet-agent[12299]: Could not retrieve catalog from remote 
server: Error 400 on SERVER: Could not parse YAML data for node host4: syntax 
error on line 121, col 15: ` '

There were some unprintable characters in some log lines I didn't bother 
transferring, as the stuff is most likely memory trash.

My environment:
    $ cat /etc/issue
    CentOS release 5.7 (Final)

    $ uname -a
    Linux host 2.6.18-274.el5 #1 SMP Fri Jul 22 04:43:29 EDT 2011 x86_64 x86_64 
x86_64 GNU/Linux

    $ puppet --version
    2.6.12

    $ ruby --version
    ruby 1.8.5 (2006-08-25) [x86_64-linux]

    $ gem list
    *** LOCAL GEMS ***
    activerecord (2.1.1)
    activesupport (2.1.1)

    $ rpm -qa | grep -E "(puppet|ruby)"
    libselinux-ruby-1.33.4-5.7.el5
    ruby-libs-1.8.5-19.el5_6.1
    ruby-augeas-0.4.1-1.el5
    rubygem-activesupport-2.1.1-2.el5
    puppet-server-2.6.12-1.el5
    ruby-1.8.5-19.el5_6.1
    ruby-irb-1.8.5-19.el5_6.1
    rubygems-1.3.1-1.el5
    rubygem-activerecord-2.1.1-2.el5
    puppet-iptables-1.2.0-4
    ruby-shadow-1.4.1-7.el5
    ruby-rdoc-1.8.5-19.el5_6.1
    puppet-2.6.12-1.el5
    puppet-create-resources-1-2
    
----------------------------------------
Bug #7836: YAML corruption in 2.6.7
https://projects.puppetlabs.com/issues/7836#change-61214

Author: Joe McDonagh
Status: Needs More Information
Priority: Normal
Assignee: Joe McDonagh
Category: plumbing
Target version: 
Affected Puppet version: 2.6.7
Keywords: yaml
Branch: 


Hi guys, getting YAML corruption on 2.6.7 at $dayjob:

err: Could not retrieve catalog from remote server: Error 400 on SERVER: Could 
not parse YAML data for node something.example.com: syntax error on line 78, 
col 19: `'

I have no idea how to begin to troubleshoot as it is seemingly random and it 
doesn't happen at my other gig which is running 2.6.7, but on a different 
platform. Removing the yaml in question and running the agent again fixes it.

While not fixing whatever the root cause is, what are the implications of 
wrapping the yaml parsing bit of code inside a begin-rescue to try and catch 
this exception, invalidate the data, and try once more before really failing? I 
haven't looked at the code so I don't even know if that's feasible, just 
throwing it out there.


-- 
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