Issue #4116 has been updated by Igal Koshevoy. Assigned to set to Igal Koshevoy
---------------------------------------- Bug #4116: NoMethodError in Nodes#reports http://projects.puppetlabs.com/issues/4116 Author: christian c Status: Accepted Priority: Normal Assigned to: Igal Koshevoy Category: Target version: 1.0.1 Keywords: Branch: Affected URL: When I browse through the reports for a host I get the following error. For this host exist 163 reports, so I have 9 pages in the overview. I can open some pages while others throw this error: NoMethodError in Nodes#reports Showing app/views/reports/index.html.haml where line #32 raised: You have a nil object when you didn't expect it! You might have expected an instance of ActiveRecord::Base. The error occurred while evaluating nil.[] Extracted source (around line #32): 29: %td= link_to report.time.to_s(:short), report 30: - unless @node 31: %td= link_to_if report.node, report.host, report.node 32: %td= report.metrics[:resources][:total] 33: %td= report.metrics[:resources][:failed] 34: %td= report.metrics[:resources][:failed_restarts] 35: %td= report.metrics[:resources][:skipped] RAILS_ROOT: /usr/local/puppet-dashboard Application Trace | Framework Trace | Full Trace /usr/local/puppet-dashboard/app/views/reports/index.html.haml:32:in `_run_haml_app47views47reports47index46html46haml' /usr/local/puppet-dashboard/app/views/reports/index.html.haml:25:in `each' /usr/local/puppet-dashboard/app/views/reports/index.html.haml:25:in `_run_haml_app47views47reports47index46html46haml' /usr/local/puppet-dashboard/app/controllers/nodes_controller.rb:35:in `reports' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/renderable.rb:34:in `send' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/renderable.rb:34:in `render' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/base.rb:306:in `with_template' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/renderable.rb:30:in `render' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/template.rb:205:in `render_template' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/base.rb:265:in `render_without_haml' /usr/local/puppet-dashboard/vendor/gems/haml-2.2.2/lib/haml/helpers/action_view_mods.rb:13:in `render' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/base.rb:348:in `_render_with_layout' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/base.rb:262:in `render_without_haml' /usr/local/puppet-dashboard/vendor/gems/haml-2.2.2/lib/haml/helpers/action_view_mods.rb:13:in `render' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:1250:in `render_for_file' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:945:in `render_without_benchmark' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render' /usr/local/puppet-dashboard/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms' /usr/lib64/ruby/1.8/benchmark.rb:308:in `realtime' /usr/local/puppet-dashboard/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:1331:in `send' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:1331:in `perform_action_without_filters' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/filters.rb:617:in `call_filters' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /usr/local/puppet-dashboard/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms' /usr/lib64/ruby/1.8/benchmark.rb:308:in `realtime' /usr/local/puppet-dashboard/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/rescue.rb:160:in `perform_action_without_flash' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/flash.rb:146:in `perform_action' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:532:in `send' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:532:in `process_without_filters' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/filters.rb:606:in `sass_old_process' /usr/local/puppet-dashboard/vendor/gems/haml-2.2.2/lib/sass/plugin/rails.rb:19:in `process' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:391:in `process' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:386:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb:437:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:87:in `dispatch' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:121:in `_call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:130:in `build_middleware_stack' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/query_cache.rb:29:in `call' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/query_cache.rb:29:in `call' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/query_cache.rb:9:in `cache' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/query_cache.rb:28:in `call' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/string_coercion.rb:25:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/head.rb:9:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/methodoverride.rb:24:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/params_parser.rb:15:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb:93:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/failsafe.rb:26:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/lock.rb:11:in `synchronize' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:114:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/reloader.rb:34:in `run' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:108:in `call' /usr/local/puppet-dashboard/vendor/rails/railties/lib/rails/rack/static.rb:31:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/urlmap.rb:46:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `each' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/content_length.rb:13:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/chunked.rb:15:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/handler/mongrel.rb:64: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/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/handler/mongrel.rb:34:in `run' /usr/local/puppet-dashboard/vendor/rails/railties/lib/commands/server.rb:111 /usr/lib64/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/lib64/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `require' /usr/local/puppet-dashboard/script/server:3 /usr/local/puppet-dashboard/app/views/reports/index.html.haml:32:in `_run_haml_app47views47reports47index46html46haml' /usr/local/puppet-dashboard/app/views/reports/index.html.haml:25:in `each' /usr/local/puppet-dashboard/app/views/reports/index.html.haml:25:in `_run_haml_app47views47reports47index46html46haml' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/renderable.rb:34:in `send' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/renderable.rb:34:in `render' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/base.rb:306:in `with_template' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/renderable.rb:30:in `render' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/template.rb:205:in `render_template' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/base.rb:265:in `render_without_haml' /usr/local/puppet-dashboard/vendor/gems/haml-2.2.2/lib/haml/helpers/action_view_mods.rb:13:in `render' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/base.rb:348:in `_render_with_layout' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_view/base.rb:262:in `render_without_haml' /usr/local/puppet-dashboard/vendor/gems/haml-2.2.2/lib/haml/helpers/action_view_mods.rb:13:in `render' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:1250:in `render_for_file' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:945:in `render_without_benchmark' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render' /usr/local/puppet-dashboard/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms' /usr/lib64/ruby/1.8/benchmark.rb:308:in `realtime' /usr/local/puppet-dashboard/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:51:in `render' /usr/local/puppet-dashboard/app/controllers/nodes_controller.rb:35:in `reports' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:1331:in `send' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:1331:in `perform_action_without_filters' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/filters.rb:617:in `call_filters' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /usr/local/puppet-dashboard/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms' /usr/lib64/ruby/1.8/benchmark.rb:308:in `realtime' /usr/local/puppet-dashboard/vendor/rails/activesupport/lib/active_support/core_ext/benchmark.rb:17:in `ms' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/rescue.rb:160:in `perform_action_without_flash' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/flash.rb:146:in `perform_action' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:532:in `send' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:532:in `process_without_filters' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/filters.rb:606:in `sass_old_process' /usr/local/puppet-dashboard/vendor/gems/haml-2.2.2/lib/sass/plugin/rails.rb:19:in `process' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:391:in `process' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/base.rb:386:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/routing/route_set.rb:437:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:87:in `dispatch' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:121:in `_call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:130:in `build_middleware_stack' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/query_cache.rb:29:in `call' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/query_cache.rb:29:in `call' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/query_cache.rb:9:in `cache' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/query_cache.rb:28:in `call' /usr/local/puppet-dashboard/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/string_coercion.rb:25:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/head.rb:9:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/methodoverride.rb:24:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/params_parser.rb:15:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/session/cookie_store.rb:93:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/failsafe.rb:26:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/lock.rb:11:in `synchronize' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:114:in `call' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/reloader.rb:34:in `run' /usr/local/puppet-dashboard/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:108:in `call' /usr/local/puppet-dashboard/vendor/rails/railties/lib/rails/rack/static.rb:31:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/urlmap.rb:46:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `each' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/urlmap.rb:40:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/content_length.rb:13:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/chunked.rb:15:in `call' /usr/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/handler/mongrel.rb:64: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/local/puppet-dashboard/vendor/gems/rack-1.0.1/lib/rack/handler/mongrel.rb:34:in `run' /usr/local/puppet-dashboard/vendor/rails/railties/lib/commands/server.rb:111 /usr/lib64/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/lib64/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:31:in `require' /usr/local/puppet-dashboard/script/server:3 Request Parameters: {"id"=>"keto-puppetweb.xxx.xxx", <- "xxx"ed by me "page"=>"6"} Show session dump Response Headers: {"Content-Type"=>"text/html", "Cache-Control"=>"no-cache"} I guess the failing pages contain reports from unsuccessful puppetruns. Pages that only show successful reports are viewable. Although for other hosts it's possible to view pages that contain both kinds of reports. -- 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.
