Issue #4506 has been updated by Richard Crowley.

Status changed from Closed to Re-opened
Assignee deleted (Markus Roberts)
Target version deleted (2.6.1)

Confirming that this is (once again) an issue in 3.1.1 and in 3.2.2.

The only color I can add is that it only appears to affect my catalogs that use 
the `create_resources` function to create `Nagios_host` and/or `Nagios_service` 
resources.  There are `Nagios_service` resources in my catalogs that are 
"hard-coded" and these do not trigger the bug.  Other uses of 
`create_resources`, which all create resources of defined types, do not trigger 
the bug.

The Proc objects in the YAML appear as follows (heavily abbreviated):

    --- &id001 !ruby/object:Puppet::Resource::Catalog
      resource_table: 
        ? 
          - Nagios_service
        : &id881 !ruby/object:Puppet::Resource
          rstype: &id002 !ruby/object:Class
            validproperties:
              !ruby/sym ensure: &id007 !ruby/object:Class
                value_collection: 
!ruby/object:Puppet::Parameter::ValueCollection
                  strings:
                    - &id006 !ruby/object:Puppet::Parameter::Value
                      aliases: []
                      name: !ruby/sym present
                      method: set_present
                      block: !ruby/object:Proc {}
                      call: !ruby/sym instead
                    - &id005 !ruby/object:Puppet::Parameter::Value
                      aliases: []
                      name: !ruby/sym absent
                      method: set_absent
                      block: !ruby/object:Proc {}
                      call: !ruby/sym instead

As best I can tell, anytime `rstype` exists in a catalog, the catalog renders 
unparseable YAML.

----------------------------------------
Bug #4506: storing catalog in stored config produces: err: allocator undefined 
for Proc
https://projects.puppetlabs.com/issues/4506#change-93702

* Author: Peter Meier
* Status: Re-opened
* Priority: High
* Assignee: 
* Category: 
* Target version: 
* Affected Puppet version: 2.6.1rc1
* Keywords: 
* Branch: [email protected]:MarkusQ/puppet.git ticket/0.26.x/4506
----------------------------------------
My current only left over 0.25.1-2~bpo50+1 debian puppet client produces the 
following error on my 2.6.1rc1 master:

<pre>
notice: Compiled catalog for foo.bar.ch in environment production in 8.17 
seconds
info: Caching catalog for foo.bar.ch
debug: Searched for resources in 0.18 seconds
/usr/lib/ruby/1.8/yaml.rb:133:in `transfer'
/usr/lib/ruby/1.8/yaml.rb:133:in `node_import'
/usr/lib/ruby/1.8/yaml.rb:133:in `load'
/usr/lib/ruby/site_ruby/1.8/puppet/util/rails/reference_serializer.rb:6:in 
`unserialize_value'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/param_value.rb:64:in 
`find_all_params_from_host'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/param_value.rb:63:in `each'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/param_value.rb:63:in 
`find_all_params_from_host'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:292:in 
`find_resources_parameters'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:179:in 
`find_resources_parameters_tags'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:161:in `merge_resources'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:21:in `debug_benchmark'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:11:in `railsmark'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/core_ext/benchmark.rb:10:in
 `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:11:in `railsmark'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:21:in `debug_benchmark'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/host.rb:160:in `merge_resources'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/active_record.rb:30:in 
`save'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:11:in `railsmark'
/usr/lib64/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/core_ext/benchmark.rb:10:in
 `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/rails/benchmark.rb:11:in `railsmark'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/active_record.rb:29:in 
`save'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:197:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector.rb:50:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:101:in `do_find'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `send'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:68:in `process'
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:159:in 
`process_client'
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `each'
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in 
`process_client'
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run'
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `initialize'
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `new'
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run'
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `initialize'
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `new'
/usr/lib64/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/network/http/mongrel.rb:22:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:127:in `listen'
/usr/lib/ruby/site_ruby/1.8/puppet/network/server.rb:142:in `start'
/usr/lib/ruby/site_ruby/1.8/puppet/daemon.rb:125:in `start'
/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:114:in `main'
/usr/lib/ruby/site_ruby/1.8/puppet/application/master.rb:46:in `run_command'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:300:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:397:in `exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:300:in `run'
/usr/sbin/puppetmasterd:4
err: allocator undefined for Proc
</pre>

I cannot reproduce that issue on any other host. Unfortunately, I have only one 
debian host currently, hence there might be manifest code that gets only 
compiled for that very host.


-- 
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.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to