Bug 1121215 - Internal Server Error when attempting to compare config across multiple systems in SSM
Summary: Internal Server Error when attempting to compare config across multiple syste...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Spacewalk
Classification: Community
Component: WebUI
Version: 2.2
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Stephen Herr
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: space23
TreeView+ depends on / blocked
 
Reported: 2014-07-18 16:19 UTC by trevor.t.kates
Modified: 2015-04-14 19:17 UTC (History)
0 users

Fixed In Version: spacewalk-java-2.2.122-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-07-21 13:12:22 UTC


Attachments (Terms of Use)

Description trevor.t.kates 2014-07-18 16:19:35 UTC
Description of problem:

When using the SSM to compare a config file to the deployed versions on multiple systems, an ISE occurs when confirming the file comparison.


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

Spacewalk 2.2 on CentOS 6.5


How reproducible:

Easily.


Steps to Reproduce:
1. Select 1 or more systems in the WebUI
2. Enter the SSM and go to Configuration
3. Select Compare Files
4. Select any file to compare
5. Schedule file comparison and confirm

Actual results:

Error 500 ISE occurs and the compare is not scheduled.

The following exception occurred while executing this request:
POST /rhn/systems/ssm/config/DiffConfirmSubmit.do

Date:7/18/14 9:37:11 AM EDT
Headers:
  host: <removed>
  user-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0
  accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  accept-language: en-US,en;q=0.5
  accept-encoding: gzip, deflate
  referer: https:// <removed>/rhn/systems/ssm/config/DiffConfirm.do?feature=configfiles.diff
  cookie: JSESSIONID=F645FFA75F679C9E2CA097BF876706CE; DWRSESSIONID=3jgY1giBWOoEnjTycNOzgoNj6tk; pxt-session-cookie=417655xc02dc62049edf24e7b6529967beb7866db4c5ecdc182fe6a2df25ea4e8ed2670
  connection: keep-alive
  content-type: application/x-www-form-urlencoded
  content-length: 161

Request:
Local Name = <removed>
Server Name = <removed>
Requested Session Id came from Cookie
Requested Session Valid = true
Session = org.apache.catalina.session.StandardSessionFacade@49399c60[session=StandardSession[F645FFA75F679C9E2CA097BF876706CE]]
Protocol = https
Request Locale = en_US
Request Character Encoding = UTF-8
Attribute Names = rhnActiveLang, org.apache.struts.action.MESSAGE, javax.servlet.jsp.jstl.fmt.timeZone.request, session, javax.servlet.request.key_size, javax.servlet.request.cipher_suite, requestedUri, org.apache.struts.action.mapping.instance, org.apache.struts.action.MODULE, 

Form Variables:
  last_lower: 1
  lower: 1
  prev_filter_value: 
  first_lower: 1
  dispatch: Confirm File Comparison
  prev_lower: 1
  filter_string: 
  next_lower: 501
  csrf_token: -1416758724715775945


User Information:
User <removed>

Exception:
javax.servlet.ServletException: java.lang.NullPointerException
	at org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:520)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:427)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
	at com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:102)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:127)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
	at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:100)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:57)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
	at java.lang.Thread.run(Thread.java:701)
Caused by: java.lang.NullPointerException
	at com.redhat.rhn.frontend.struts.ActionChainHelper.readActionChain(ActionChainHelper.java:68)
	at com.redhat.rhn.frontend.action.configuration.ssm.ConfigConfirmSubmitAction.confirm(ConfigConfirmSubmitAction.java:140)
	at com.redhat.rhn.frontend.action.configuration.ssm.ConfigConfirmSubmitAction.diff(ConfigConfirmSubmitAction.java:90)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:622)
	at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
	at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
	at org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAction.java:146)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
	... 40 more

Expected results:

Compare is scheduled and a confirmation message of the scheduling is displayed.

Additional info:

When attempting to view the results of a compare operation of all config files for any given system, the links to configuration files on the System History Event page do not function properly. Some of them lead you to a page telling you that the revision could not be found. Others lead you to an entirely different config file.

Also, when scheduling any operation that allows the time to be specified, the date/time entry is completely blank and the desired format is not specified anywhere on the page.

Comment 1 Stephen Herr 2014-07-18 21:21:29 UTC
The ISE has been fixed in Spacewalk master commit:
470d1d326f80c52bfe99fb2915eb4642dd346039

The problem described in the first paragraph of the Additional Info section I've filed as bug 1121252.

The problem described in the second paragraph of the Additional Info section I can't reproduce. Do you have javascript enabled? Do you have the bootstrap-datepicker rpm installed, which should be required by spacewalk-branding? Have you restarted httpd since you installed it?


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