Issue #21376 has been updated by Ilkka Tengvall.

I hit the problem still using puppet-server-3.2.3-1.el6.noarch .

----------------------------------------
Bug #21376: Stack level too deep after updating from 3.1.1 to 3.2.2
https://projects.puppetlabs.com/issues/21376#change-95154

* Author: Peter Meier
* Status: Closed
* Priority: High
* Assignee: Patrick Carlisle
* Category: 
* Target version: 3.2.3
* Affected Puppet version: 3.2.1
* Keywords: 
* Branch: https://github.com/puppetlabs/puppet/pull/1717
----------------------------------------
After updating my master from 3.1.1 to 3.2.2 I started getting failing clients 
with stack level too deep. These failures happen rather randomly and only after 
a while. So usually after the master is running for a while it will start 
failing for certain nodes.

The error I get is
<pre>
    stack level too deep
    /usr/lib/ruby/site_ruby/1.8/puppet/util/errors.rb:23:in `adderrorcontext'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:64:in `safeevaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:15:in 
`evaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:10:in 
`each'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:10:in 
`evaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:62:in `safeevaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:15:in 
`evaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:10:in 
`each'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:10:in 
`evaluate'
     
    [...]
     
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:15:in 
`evaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:10:in 
`each'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:10:in 
`evaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:62:in `safeevaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:15:in 
`evaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:10:in 
`each'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:10:in 
`evaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:62:in `safeevaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:15:in 
`evaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:10:in 
`each'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast/block_expression.rb:10:in 
`evaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/ast.rb:62:in `safeevaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/resource/type.rb:137:in `evaluate_code'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/resource.rb:81:in `evaluate'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:293:in `evaluate_main'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:97:in `compile'
    /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler/none.rb:6:in `profile'
    /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler.rb:26:in `profile'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:97:in `compile'
    /usr/lib/ruby/site_ruby/1.8/puppet/parser/compiler.rb:29:in `compile'
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:86:in 
`compile'
    /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler/none.rb:6:in `profile'
    /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler.rb:26:in `profile'
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:84:in 
`compile'
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/catalog/compiler.rb:44:in 
`find'
    /usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:197:in `find'
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:128:in `do_find'
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:88:in `send'
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:88:in `process'
    /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler/none.rb:6:in `profile'
    /usr/lib/ruby/site_ruby/1.8/puppet/util/profiler.rb:26:in `profile'
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/handler.rb:82:in `process'
    /usr/lib/ruby/site_ruby/1.8/puppet/network/http/rack.rb:21:in `call'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/rack/request_handler.rb:96:in
 `process_request'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_request_handler.rb:516:in
 `accept_and_process_next_request'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_request_handler.rb:274:in
 `main_loop'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb:206:in
 `start_request_handler'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb:171:in
 `send'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb:171:in
 `handle_spawn_application'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/utils.rb:470:in
 `safe_fork'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb:166:in
 `handle_spawn_application'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:357:in
 `__send__'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:357:in
 `server_main_loop'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:206:in
 `start_synchronously'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:180:in
 `start'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/rack/application_spawner.rb:129:in
 `start'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:253:in
 `spawn_rack_application'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:132:in
 `lookup_or_add'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:246:in
 `spawn_rack_application'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:82:in
 `synchronize'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server_collection.rb:79:in
 `synchronize'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:244:in
 `spawn_rack_application'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:137:in
 `spawn_application'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/spawn_manager.rb:275:in
 `handle_spawn_application'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:357:in
 `__send__'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:357:in
 `server_main_loop'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/lib/phusion_passenger/abstract_server.rb:206:in
 `start_synchronously'
    
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.17/helper-scripts/passenger-spawn-server:99
</pre>

I tried to catch the resource that is being evaluated in 
/usr/lib/ruby/site_ruby/1.8/puppet/resource/type.rb before it fails and it has 
always been Class[main].

It looks like it starts failing after various nodes have asked for their 
catalog and hence many different modules have been loaded.

With the help from #puppet-dev I started debugging this issue. People from 
there will add more information.

I give it a high priority as this is something that worked on 3.1.1 and fails 
heavily on 3.2.2 so 3.2.2 is currently not useable for me, but it's the only 
version with the latest security fix for 3.x.


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