Issue #4116 has been reported by christian c.

----------------------------------------
Bug #4116:  NoMethodError in Nodes#reports 
http://projects.puppetlabs.com/issues/4116

Author: christian c
Status: Unreviewed
Priority: Normal
Assigned to: 
Category: 
Target version: 
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.

Reply via email to