Bug 1072788 - Internal Server Error on Spacewalk 2.1 WebUI
Summary: Internal Server Error on Spacewalk 2.1 WebUI
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Spacewalk
Classification: Community
Component: WebUI
Version: 2.1
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Tomas Lestach
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: space27
TreeView+ depends on / blocked
 
Reported: 2014-03-05 08:52 UTC by Indra Kurniawan
Modified: 2017-09-28 18:10 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-03-11 09:04:00 UTC
Embargoed:


Attachments (Terms of Use)

Description Indra Kurniawan 2014-03-05 08:52:19 UTC
Description of problem:
The following exception occurred while executing this request:
GET /rhn/systems/details/probes/ProbeDetails.do

Request:
Local Name = sw.merahciptamedia.co.id
Server Name = sw.merahciptamedia.co.id
Requested Session Id came from Cookie
Requested Session Valid = true
Session = org.apache.catalina.session.StandardSessionFacade@4a209343[session=StandardSession[4865C94876845992642A247C14A1B80C]]
Protocol = https
Request Locale = en_US
Request Character Encoding = UTF-8
Attribute Names = rhnActiveLang, javax.servlet.jsp.jstl.fmt.timeZone.request, javax.servlet.request.key_size, javax.servlet.request.ssl_session, org.apache.struts.action.MESSAGE, javax.servlet.request.cipher_suite, org.apache.struts.action.MODULE, probeDetailsForm, requestedUri, session, org.apache.struts.action.mapping.instance, 


User Information:
User devops (id 3, org_id 2)

Exception:
javax.servlet.ServletException: com.redhat.rhn.common.hibernate.HibernateRuntimeException: Executing query Probe.findByIdandOrgId with params {orgId=2, pid=37} failed
	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.doGet(ActionServlet.java:449)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	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: com.redhat.rhn.common.hibernate.HibernateRuntimeException: Executing query Probe.findByIdandOrgId with params {orgId=2, pid=37} failed
	at com.redhat.rhn.common.hibernate.HibernateFactory.lookupObjectByNamedQuery(HibernateFactory.java:191)
	at com.redhat.rhn.common.hibernate.HibernateFactory.lookupObjectByNamedQuery(HibernateFactory.java:161)
	at com.redhat.rhn.domain.monitoring.MonitoringFactory.lookupProbeByIdAndOrg(MonitoringFactory.java:84)
	at com.redhat.rhn.manager.monitoring.MonitoringManager.lookupProbe(MonitoringManager.java:212)
	at com.redhat.rhn.frontend.struts.RequestContext.lookupProbe(RequestContext.java:375)
	at com.redhat.rhn.frontend.action.systems.monitoring.ProbeDetailsAction.execute(ProbeDetailsAction.java:77)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
	... 40 more
Caused by: org.hibernate.HibernateException: More than one row with the given identifier was found: 37, for class: com.redhat.rhn.domain.monitoring.ProbeState
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:69)
	at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3044)
	at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:395)
	at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:375)
	at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:139)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:195)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:103)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
	at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:846)
	at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:557)
	at org.hibernate.type.EntityType.resolve(EntityType.java:379)
	at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
	at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
	at org.hibernate.loader.Loader.doQuery(Loader.java:729)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
	at org.hibernate.loader.Loader.doList(Loader.java:2220)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
	at org.hibernate.loader.Loader.list(Loader.java:2099)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
	at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
	at com.redhat.rhn.common.hibernate.HibernateFactory.lookupObjectByNamedQuery(HibernateFactory.java:185)
	... 46 more

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

How reproducible:
Yes, persistent.

Steps to Reproduce:
1.Login to your spacewalk WebUI
2.Go to your system, monitoring.
3.Click any Probe Description.

Actual results:
Internal Server Error
The server experienced a problem which prevented your request from being filled out. It may not be possible to execute this action at this time.

Please help us correct this problem by contacting us with details of how you received this message.

Expected results:
Displaying probe description detail properly.

Additional info:
WEB TRACEBACK Log :
http://paste.fedoraproject.org/82471/40093861/

Comment 1 Tomas Lestach 2014-03-11 09:04:00 UTC
I am unable to reproduce the ISE.

According to your error message, it looks like you would have several probe states associated with one probe. Our schema allows it, but not out hibernate mapping. To make sure, it's this problem run:

# echo "select probe_id, count(probe_id) from rhn_probe_state group by (probe_id);" | spacewalk-sql -i

In case, you would see rows with count > 1, I'd say those are the entries causing the ISE. (So the fix would be to remove the extra entries - to keep only one probe state entry per probe id)


I'd be very interested, how you got into this state. I'm closing the issue as WORKSFORME. In case you would be able to specify the reproducer steps, so I can get my spacewalk machine into that state, please, reopen.

Comment 2 Eric Herget 2017-09-28 18:10:56 UTC
This BZ closed some time during 2.5, 2.6 or 2.7.  Adding to 2.7 tracking bug.


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