Bug 1382719 - Unattended Controller failure generates backtrace of 350.000 characters
Summary: Unattended Controller failure generates backtrace of 350.000 characters
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Provisioning Templates
Version: 6.2.2
Hardware: Unspecified
OS: Unspecified
medium
medium vote
Target Milestone: Unspecified
Assignee: satellite6-bugs
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1122832
TreeView+ depends on / blocked
 
Reported: 2016-10-07 13:49 UTC by Peter Vreman
Modified: 2017-05-15 12:26 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-05-10 16:21:38 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Peter Vreman 2016-10-07 13:49:34 UTC
Description of problem:
After an error in the unattended/provision controller to preview a provisioning tempalte there is backtrace of 350.000 charcters:

[crash] root@li-lc-1578:/usr/share/foreman# wc --max-line-length /var/log/foreman/production.log
348746 /var/log/foreman/production.log


2016-10-07 13:38:59 [app] [I] Started GET "/unattended/provision?hostname=li-lc-1014.hag.hilti.com" for 10.2.2.11 at 2016-10-07 13:38:59 +0000
2016-10-07 13:38:59 [app] [I] Processing by UnattendedController#host_template as HTML
2016-10-07 13:38:59 [app] [I]   Parameters: {"hostname"=>"li-lc-1014.hag.hilti.com", "kind"=>"provision"}
2016-10-07 13:38:59 [app] [I] Found li-lc-1014.hag.hilti.com
2016-10-07 13:38:59 [app] [W] Action failed
 | NoMethodError: undefined method `path' for nil:NilClass
 | /usr/share/foreman/app/models/operatingsystem.rb:121:in `medium_uri'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.0.0.80/app/models/katello/concerns/redhat_extensions.rb:54:in `medium_uri_with_content_uri'
 | /usr/share/foreman/app/models/operatingsystems/redhat.rb:11:in `mediumpath'
....
 | /opt/theforeman/tfm/root/usr/share/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `call'
 | /opt/theforeman/tfm/root/usr/share/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
2016-10-07 13:38:59 [app] [I] ESC[1;32mDeface: [WARNING]ESC[0m No :original defined for 'change 500 page content', you should change its definition to include:
 |  :original => '35d2b4f7aac0c083740c6de6775473457e9ae9d8'
2016-10-07 13:38:59 [app] [I] Completed 500 Internal Server Error in 84ms
2016-10-07 13:38:59 [app] [F]
 | ArgumentError (There was no default layout for UnattendedController in #<ActionView::PathSet:0x0000001003c658 @paths=[#<ActionView::OptimizedFileSystemResolver:0x00000007619b10 @pattern=":prefix/:action{.:locale,}{.:formats,}{+:variants,}{.:handlers,}", @cache=#<ActionView::Resolver::Cache:0x00000007619ae8 @data=#<ActionView::Resolver::Cache::SmallCache:0x00000007619ac0 @backend={#<ActionView::LookupContext::DetailsKey:0x0000000cc4bc90 @hash=2557853868515825184>=>#<ActionView::Resolver::Cache::SmallCache:0x0000000cc4a4d0 @backend={"resource_list"=>#<ActionView::Resolver::Cache::SmallCache:0x0000000cc4a368 @backend={"katello/api/v2/root"=>#<ActionView::Resolver::Cache::SmallCache:0x0000000cc4a098 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x0000000cc49fa8 @backend={["object_name", "root_name"]=>[]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>}, @default_proc=#<Proc:0x00000003813050@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:46 (lambda)>>, "collection"=>#<ActionView::Resolver::Cache::SmallCache:0x0000000cc5ccc0 @backend={"katello/api/v2/layouts"=>#<ActionView::Resolver::Cache::SmallCache:0x0000000cc5cba8 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x0000000cc5cab8 @backend={["object_name", "root_name"]=>[]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>}, @default_proc=#<Proc:0x00000003813050@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:46 (lambda)>>, "index"=>#<ActionView::Resolver::Cache::SmallCache:0x0000000d3244e0 @backend={"katello/api/v2/products"=>#<ActionView::Resolver::Cache::SmallCache:0x0000000d3242b0 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x0000000d324120 @backend={["object_name", "root_name"]=>[]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>, "api/v2/taxonomies"=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f0cc70028 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f0cc5fd18 @backend={[]=>[app/views/api/v2/taxonomies/index.json.rabl]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>, "katello/api/v2/content_view_versions"=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f12e228e8 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f12e227f8 @backend={["object_name", "root_name"]=>[]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>, "katello/api/v2/content_views"=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f106ff6d0 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f106ff590 @backend={["object_name", "root_name"]=>[]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>, "katello/api/v2/repositories"=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f0feb9ed0 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f0feb9de0 @backend={["object_name", "root_name"]=>[]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>, "api/v2/operatingsystems"=>#<ActionView::Resolver::Cache::SmallCache:0x0000000b789ed8 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x0000000b789d48 @backend={[]=>[app/views/api/v2/operatingsystems/index.json.rabl]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>, "katello/api/v2/environments"=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f101a6da0 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f101a6cb0 @backend={["object_name", "root_name"]=>[]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>, "katello/api/v2/common"=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f12690c10 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x007f2f12690b20 @backend={[]=>[]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>, "api/v2/hostgroups"=>#<ActionView::Resolver::Cache::SmallCache:0x0000001082c2c8 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x0000001082c1b0 @backend={[]=>[app/views/api/v2/hostgroups/index.json.rabl]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>, "api/v2/domains"=>#<ActionView::Resolver::Cache::SmallCache:0x0000000ff1f6d0 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x0000000ff1f4a0 @backend={[]=>[app/views/api/v2/domains/index.json.rabl]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/root/usr/share/gems/gems/actionview-4.1.5/lib/action_view/template/resolver.rb:45 (lambda)>>, "api/v2/subnets"=>#<ActionView::Resolver::Cache::SmallCache:0x0000000f84e1a8 @backend={false=>#<ActionView::Resolver::Cache::SmallCache:0x0000000f84e0b8 @backend={[]=>[app/views/api/v2/subnets/index.json.rabl]}, @default_proc=nil>}, @default_proc=#<Proc:0x00000003813078@/opt/rh/rh-ror41/roo


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. Make sure an internal error in template rendering, e.g. a nil access
2. Preview hosts provisioning template
3.

Actual results:
Backtrace of 350KB generated for untattend controller

Expected results:
No additional backtrace generated 

Additional info:

Comment 2 Peter Vreman 2017-05-10 16:21:38 UTC
Closing. Unable to reproduce. Recently i have had many issues with the template rendering including the path nilClass in medium_uri() call above. None of them has generated long backtraces anymore.

Comment 3 Marek Hulan 2017-05-15 12:26:47 UTC
Thanks Peter for letting us know. There were some improvements recently added in upstream in this area too, so it might have been fixed by http://projects.theforeman.org/issues/18345/ (screenshot that might look familiar is in the fixing PRhttps://github.com/theforeman/foreman/pull/4247)


Note You need to log in before you can comment on or make changes to this bug.