Issue #20350 has been updated by Ken Barber.

Description updated

----------------------------------------
Bug #20350: Puppet catalog transfer often gets truncated (Could not intern from 
pson: error)
https://projects.puppetlabs.com/issues/20350#change-89852

* Author: Jeff Bearer
* Status: Unreviewed
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* Affected Puppet version: 3.1.1
* Keywords: 
* Branch: 
----------------------------------------
I submitted this question to puppet-users 
(https://groups.google.com/d/msg/puppet-users/oA_bB_3k4i0/Jd5slFiGZw4J) and was 
urged to file a ticket on this.  Here it is.

I've been hitting this issue for a long time. well over a year and finally had 
some time to work on a resolution. I've seen what looks like my problem 
reported several times in the past but I've never seen a resolution found for 
this exact problems.  There are other root causes for pson errors that have 
been resolved, but not for the ones describing my problem.

What we're finding is that often times the catalog is getting chopped off at 
some seemingly random point in the file.  If you run puppet agent multiple 
times in a row each time it will cut off at always different parts.

The error manifests itself like this:

<pre>
Debug: node supports formats: b64_zlib_yaml pson raw yaml; using pson
Debug: Using cached certificate for ca
Debug: Using cached certificate for ds0.lab.avere.net
Debug: Using cached certificate_revocation_list for ca
Info: Retrieving plugin
Debug: file_metadata supports formats: b64_zlib_yaml pson raw yaml; using pson
Debug: Finishing transaction 70037484276920
Info: Loading facts in /var/lib/puppet/lib/facter/serialports.rb
Debug: catalog supports formats: b64_zlib_yaml dot pson raw yaml; using pson
Error: Could not retrieve catalog from remote server: Could not intern from 
pson: expected value in object at '"Ssh_authorized_key['!
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
</pre>

It's not uncommon to run this 'puppet agent -t' 8 times in a row, and getting a 
different quoted error part until one time it completes.

Here is a repro where I ran it one after another, the first 2 worked,  3 
failed, and the 6th worked.

<pre>
[root@host0 ~]# puppet agent -t
Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/serialports.rb
Info: Caching catalog for ds0.lab.avere.net
Info: Applying configuration version '1366164490'
Notice: Finished catalog run in 13.20 seconds
[root@host0 ~]# puppet agent -t
Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/serialports.rb
Info: Caching catalog for ds0.lab.avere.net
Info: Applying configuration version '1366164490'
Notice: Finished catalog run in 12.32 seconds
[root@host0 ~]# puppet agent -t
Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/serialports.rb
Error: Could not retrieve catalog from remote server: Could not intern from 
pson: expected ',' or ']' in array at ''!
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
[root@host0 ~]# puppet agent -t
Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/serialports.rb
Error: Could not retrieve catalog from remote server: Could not intern from 
pson: expected value in object at '"File[/usr/lib64/ope'!
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
[root@host0 ~]# puppet agent -t
Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/serialports.rb
Error: Could not retrieve catalog from remote server: Could not intern from 
pson: expected value in object at '"Class[Os-p'!
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
[root@host0 ~]# puppet agent -t
Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/serialports.rb
Info: Caching catalog for ds0.lab.avere.net
Info: Applying configuration version '1366164490'
Notice: Finished catalog run in 13.34 seconds 
</pre>

Other vital stats:

<pre>
[root@host0 ~]# cat /etc/redhat-release
CentOS release 6.4 (Final)
[root@host0 ~]# rpm -qa|grep puppet
puppet-3.1.1-1.el6.noarch
[root@host0 ~]# cat /etc/yum.repos.d/puppet.repo
[puppet]
name=Puppet Packages for Enterprise Linux $releasever - $basearch
baseurl=http://yum.puppetlabs.com/el/$releasever/products/$basearch
enabled=1
gpgcheck=1
gpgkey=file:// 
</pre>

Please let me know if there is a resolution for this and I've missed it.  and 
if there is no resolution I'll be happy to gather more data as instructed.   
One question that I do have is how to I see the contents of what is sent over 
pson?   Specifically to get a handle on what is happening here:

<pre>
Debug: catalog supports formats: b64_zlib_yaml dot pson raw yaml; using pson
Error: Could not retrieve catalog from remote server: Could not intern from 
pson: expected value in object at '"Ssh_authorized_key['!
</pre>

Thanks


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to