Bug 1335604

Summary: Editing provisioning templates on Internet Explorer fails with Internal Server Error
Product: Red Hat Satellite Reporter: Julio Entrena Perez <jentrena>
Component: WebUIAssignee: Amir <afeferku>
WebUI sub component: Foreman QA Contact: Sanket Jagtap <sjagtap>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: medium CC: abalakht, afeferku, bbuckingham, bkearney, dlobatog, dmoessne, egolov, jcallaha, jentrena, sjagtap, tbrisker, yundtj, zhunting
Version: 6.2.0Keywords: Triaged
Target Milestone: Unspecified   
Target Release: Unused   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: foreman-1.11.0.66-2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1417078 (view as bug list) Environment:
Last Closed: 2017-03-06 08:26:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1115190, 1335839, 1417078    

Description Julio Entrena Perez 2016-05-12 15:36:36 UTC
Description of problem:
Editing provisioning templates using Internet Explorer results in an Internal Server Error.

Version-Release number of selected component (if applicable):
foreman-1.11.0.17-1.el7sat

How reproducible:
Always

Steps to Reproduce:
1. "Hosts" --> "Provisioning templates"
2. Click on any template to view the contents
3. Click "Submit" button (no need to make alterations)

Actual results:
Internal Server Error

/var/log/httpd/foreman-ssl_access_ssl.log :

1.2.3.4 - - [12/May/2016:15:30:03 +0000] "POST /templates/provisioning_templates/7-Alterator%20default HTTP/1.1" 500 531 "https://stuarta-sat6-test.usersys.redhat.com/templates/provisioning_templates" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"

/var/log/httpd/foreman-ssl_error_ssl.log :

[Thu May 12 15:30:03.460671 2016] [ssl:warn] [pid 5571] [client 1.2.3.4:49471] AH02227: Failed to set r->user to 'SSL_CLIENT_S_DN_CN', referer: https://stuarta-sat6-test.example.com/templates/provisioning_templates
[Thu May 12 15:30:03.464596 2016] [core:error] [pid 5571] [client 1.2.3.4:49471] End of script output before headers: templates, referer: https://stuarta-sat6-test.example.com/templates/provisioning_templates


Expected results:
Any changes are saved.
User is presented with the list of provisioning templates.
Everything works with Internet Explorer 10 and 11 the same way as with Firefox as per the supported list of browsers in the Installation Guide.


Additional info:

Comment 3 Ivan Necas 2016-06-01 07:44:41 UTC
@julio Any chance you have client certificates configured in the IE that might cause this? Could you try this with clean browser profile?

Comment 4 Julio Entrena Perez 2016-06-01 09:25:31 UTC
I did "Internet Options" --> "Advanced" --> "Reset..." --> "Delete personal settings" --> "Reset" and rebooted the Windows VM afterwards (as per https://support.microsoft.com/en-us/kb/923737 ).

"Hosts" --> "Provisioning Templates" --> Click on the name of any template --> "Submit" button at the end of the page (no need to change the content of the template).

This results in an Internal Server Error which does not happen on Firefox.

Comment 6 Julio Entrena Perez 2016-06-01 09:27:52 UTC
(In reply to Ivan Necas from comment #3)
> @julio Any chance you have client certificates configured in the IE that
> might cause this? Could you try this with clean browser profile?

No, no certificates listed under "Internet Options" --> "Content" --> "Certificates" --> "Personal".

Comment 7 Ivan Necas 2016-06-01 12:29:32 UTC
I was able to reproduce.

The key backtrace is this

[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr] [ 2016-06-01 05:24:37.4405 11706/0x00000007585730(Worker 1) utils.rb:74 ]: *** Exception EOFError in Rack application object (bad content body) (process 11706, thread 0x00000007585730(Worker 1)):
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/multipart/parser.rb:117:in `get_current_head_and_filename_and_content_type_and_name_and_body'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/multipart/parser.rb:19:in `block in parse'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/multipart/parser.rb:17:in `loop'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/multipart/parser.rb:17:in `parse'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/multipart.rb:25:in `parse_multipart'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/request.rb:377:in `parse_multipart'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/request.rb:203:in `POST'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/methodoverride.rb:26:in `method_override'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/methodoverride.rb:14:in `call'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/activesupport-4.1.5/lib/active_support/cache/strategy/local_cache_middleware.rb:26:in `call'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/actionpack-4.1.5/lib/action_dispatch/middleware/static.rb:64:in `call'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/rack-1.5.2/lib/rack/sendfile.rb:112:in `call'
[ 2016-06-01 05:24:37.4406 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/railties-4.1.5/lib/rails/engine.rb:514:in `call'
[ 2016-06-01 05:24:37.4407 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/railties-4.1.5/lib/rails/application.rb:144:in `call'
[ 2016-06-01 05:24:37.4407 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh-ror41/root/usr/share/gems/gems/railties-4.1.5/lib/rails/railtie.rb:194:in `public_send'
[ 2016-06-01 05:24:37.4407 11358/7f372d67d700 Pool2/Implementation.cpp:1274 ]: [App 11481 stderr]      from /opt/rh/rh

It seems the issue is with the AJAX way of uploading multi-part data (as we have ability to upload a file there).

The workaround is, instead of opening the edit form inside the page (as it's by default), opening it in new tab (though right click). Editing that way seems to work

Comment 10 Bryan Kearney 2016-07-26 15:25:24 UTC
Moving 6.2 bugs out to sat-backlog.

Comment 11 Bryan Kearney 2016-07-26 15:28:54 UTC
Moving 6.2 bugs out to sat-backlog.

Comment 13 daniel 2016-10-16 13:04:19 UTC
This is also valid for partition templates, did some tests with Win10Pro:

- Firefox : works
("Mozilla/5.0 (Windows NT 10.0; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0") from foreman-ssl_access_ssl.log


- IE 11.187.14393.0 | 11.0.35 (KB3185319) - issue as shown
("Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko")
foreman-tail:
==> /var/log/httpd/foreman-ssl_access_ssl.log <==
10.36.116.19 - - [16/Oct/2016:13:51:42 +0200] "GET /templates/ptables/61-Kickstart%20default/edit HTTP/1.1" 200 2689 "https://sat62.test.local/templates/ptables" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
10.36.116.19 - - [16/Oct/2016:13:51:42 +0200] "GET /assets/select2-d6b5d8d83dbc18fb8d77c8761d331cd9e5123c9684950bab0406e98a24ac5ae8.png HTTP/1.1" 200 613 "https://sat62.test.local/templates/ptables" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
10.36.116.19 - - [16/Oct/2016:13:51:42 +0200] "GET /assets/switch-52d04dfc76d685b94c128d9cf33a48439482471911dbf27bfaac29c1325b74d4.png HTTP/1.1" 200 3080 "https://sat62.test.local/templates/ptables" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"

==> /var/log/httpd/foreman-ssl_error_ssl.log <==
[Sun Oct 16 13:51:42.534072 2016] [ssl:warn] [pid 31027] [client 10.36.116.19:50478] AH02227: Failed to set r->user to 'SSL_CLIENT_S_DN_CN', referer: https://sat62.test.local/templates/ptables
[Sun Oct 16 13:51:42.949930 2016] [ssl:warn] [pid 31027] [client 10.36.116.19:50478] AH02227: Failed to set r->user to 'SSL_CLIENT_S_DN_CN', referer: https://sat62.test.local/templates/ptables
[Sun Oct 16 13:51:42.951243 2016] [ssl:warn] [pid 28160] [client 10.36.116.19:50480] AH02227: Failed to set r->user to 'SSL_CLIENT_S_DN_CN', referer: https://sat62.test.local/templates/ptables

==> /var/log/foreman/production.log <==
2016-10-16 13:51:42 [app] [I] Started GET "/templates/ptables/61-Kickstart%20default/edit" for 10.36.116.19 at 2016-10-16 13:51:42 +0200
2016-10-16 13:51:42 [app] [I] Processing by PtablesController#edit as */*
2016-10-16 13:51:42 [app] [I]   Parameters: {"id"=>"61-Kickstart default"}
2016-10-16 13:51:42 [app] [I]   Rendered ptables/_custom_tabs.html.erb (9.3ms)
2016-10-16 13:51:42 [app] [I]   Rendered ptables/_alerts.html.erb (1.5ms)
2016-10-16 13:51:42 [app] [I]   Rendered editor/_toolbar.html.erb (5.4ms)
2016-10-16 13:51:42 [app] [I]   Rendered taxonomies/_loc_org_tabs.html.erb (22.9ms)
2016-10-16 13:51:42 [app] [I]   Rendered templates/_form.html.erb (72.3ms)
2016-10-16 13:51:42 [app] [I]   Rendered ptables/edit.html.erb (106.7ms)
2016-10-16 13:51:42 [app] [I] Completed 200 OK in 127ms (Views: 104.4ms | ActiveRecord: 8.1ms)

==> /var/log/httpd/foreman-ssl_access_ssl.log <==
10.36.116.19 - - [16/Oct/2016:13:51:57 +0200] "POST /templates/ptables/61-Kickstart%20default HTTP/1.1" 500 531 "https://sat62.test.local/templates/ptables" "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"

==> /var/log/httpd/foreman-ssl_error_ssl.log <==
[Sun Oct 16 13:51:57.186059 2016] [ssl:warn] [pid 31027] [client 10.36.116.19:50478] AH02227: Failed to set r->user to 'SSL_CLIENT_S_DN_CN', referer: https://sat62.test.local/templates/ptables
[Sun Oct 16 13:51:57.201593 2016] [core:error] [pid 31027] [client 10.36.116.19:50478] End of script output before headers: templates, referer: https://sat62.test.local/templates/ptables


- Edge: works
( "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393" )

Comment 14 daniel 2016-10-16 13:05:41 UTC
in addition to my previous update, this was tested with latest Sat 6.2.2 update officially available

Comment 15 Tomer Brisker 2016-12-25 18:31:32 UTC
Connecting redmine issue http://projects.theforeman.org/issues/17808 from this bug

Comment 16 Bryan Kearney 2016-12-25 19:11:34 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/17808 has been resolved.

Comment 21 Sanket Jagtap 2017-02-15 10:14:01 UTC
Build : Satellite 6.2.8 snap 2

With IE 11.0.9600.16384
==> /var/log/httpd/foreman-ssl_access_ssl.log <==

127.0.0.1 - qe-testing-rhel6.xyz.com [15/Feb/2017:04:59:42 -0500] "GET /node/qe-testing-rhel6.xyz.com?format=yml HTTP/1.1" 200 837 "-" "Ruby"
127.0.0.1 - qe-testing-rhel6.xyz.com [15/Feb/2017:04:59:46 -0500] "POST /api/hosts/facts HTTP/1.1" 201 1052 "-" "Ruby"
127.0.0.1 - qe-testing-rhel6.xyz.com [15/Feb/2017:04:59:46 -0500] "GET /node/qe-testing-rhel6.xyz.com?format=yml HTTP/1.1" 200 837 "-" "Ruby"
127.0.0.1 - qe-testing-rhel6.xyz.com [15/Feb/2017:04:59:47 -0500] "POST /api/reports HTTP/1.1" 201 612 "-" "Ruby"
0.0.0.2 - - [15/Feb/2017:04:59:55 -0500] "GET /templates/provisioning_templates/7-Alterator%20default/edit HTTP/1.1" 200 3848 "https://0.0.0.1/templates/provisioning_templates" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"
0.0.0.2 - - [15/Feb/2017:05:00:08 -0500] "GET /assets/switch-52d04dfc76d685b94c128d9cf33a48439482471911dbf27bfaac29c1325b74d4.png HTTP/1.1" 200 3080 "https://0.0.0.1/templates/provisioning_templates" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"
0.0.0.2 - - [15/Feb/2017:05:00:08 -0500] "GET /assets/select2-d6b5d8d83dbc18fb8d77c8761d331cd9e5123c9684950bab0406e98a24ac5ae8.png HTTP/1.1" 200 613 "https://0.0.0.1/templates/provisioning_templates" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"
0.0.0.2 - - [15/Feb/2017:05:00:19 -0500] "POST /templates/provisioning_templates/7-Alterator%20default HTTP/1.1" 302 117 "https://0.0.0.1/templates/provisioning_templates" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"
0.0.0.2 - - [15/Feb/2017:05:00:19 -0500] "GET /templates/provisioning_templates HTTP/1.1" 200 6997 "https://0.0.0.1/templates/provisioning_templates" "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"


No errors, was able to submit successfully

Comment 23 errata-xmlrpc 2017-03-06 08:26:50 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:0447