[Spacewalk-list] Apache2::SizeLimit too big

Jesus M. Rodriguez jmrodri at gmail.com
Tue Jan 20 01:32:35 UTC 2009


On Mon, Jan 19, 2009 at 8:16 PM, Brian Kosick <bkosick at mxlogic.com> wrote:
> On Mon, 2009-01-19 at 17:54 -0700, Jesus M. Rodriguez wrote:
>> On Mon, Jan 19, 2009 at 6:40 PM, Brian Kosick <bkosick at mxlogic.com> wrote:
>> > Hi All,
>> >
>> > I've been trying to troubleshoot the 64bit memleak reported here:
>> >
>> > https://bugzilla.redhat.com/show_bug.cgi?id=465796
>> >
>> > So far I've created rpms and updated httpd = 2.2.11, mod_perl 2.0.4 and
>> > updated the sys perl version to perl-5.8.8-15.el5_2.1.  Still same
>> > issue.   Can someone help elucidate the mod_perl/tomcat/spacewalk
>> > interactions.   From looking at the configs it almost looks like
>> > mod_perl is used for DB connections using RHN::DB, and for monitoring
>> > the apache treadsize.   With Tomcat/JSP handling most everything else.
>> > Am I correct?   How far have others gotten with this?
>>
>> mod_perl handles monitoring and any url that ends with .pxt.  It is correct that
>> it connects to the DB via RHN::DB.  The xmlrpc api, *.do urls, and
>> *.jsp urls are all
>> being handled by tomcat.
>> mod_python handles the client interactions.
>>
>> https://hosted.fedoraproject.org/spacewalk/wiki/Architecture
>>
>> It is indeed a weird bug. One would think it is a memory leak because
>> the SizeLimit
>> continues to grow and doesn't seem to level off, but on 32-bit
>> versions it has never
>> been an issue.
>>
>> jesus
>>
>> _______________________________________________
>> Spacewalk-list mailing list
>> Spacewalk-list at redhat.com
>> https://www.redhat.com/mailman/listinfo/spacewalk-list
>
> Thanks for the info...   I am trying to delete packages to reproduce
> this error..   When I hit the apache threadsize issue I also get this in
> the catalina.out log.
>
> 2009-01-19 17:56:29,836 [TP-Processor7] WARN
> org.apache.struts.action.RequestProcessor - Unhandled Exception thrown:
> class java.lang.NullPointerException
> 2009-01-19 17:56:29,836 [TP-Processor7] ERROR
> com.redhat.rhn.frontend.servlets.SessionFilter - Error during
> transaction. Rolling back
> javax.servlet.ServletException
>        at
> org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
>        at
> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
>        at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:237)
>        at
> com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:82)
>        at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
>        at
> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>        at
> com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:73)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>        at
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:142)
>        at
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:58)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>        at
> com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>        at
> com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:108)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>        at
> com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:55)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>        at
> com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
>        at
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
>        at
> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
>
>        at
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
>        at
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
>        at org.apache.jk.common.ChannelSocket
> $SocketConnection.runIt(ChannelSocket.java:895)
>        at org.apache.tomcat.util.threads.ThreadPool
> $ControlRunnable.run(ThreadPool.java:685)
>        at java.lang.Thread.run(Thread.java:636)
> Caused by: java.lang.NullPointerException
>        at
> com.redhat.rhn.domain.rhnpackage.PackageCapability.equals(PackageCapability.java:95)
>        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:616)
>        at
> org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
>        at com.redhat.rhn.domain.rhnpackage.PackageCapability
> $$EnhancerByCGLIB$$b8dc3f3f.equals(<generated>)
>        at
> org.apache.commons.lang.builder.EqualsBuilder.append(EqualsBuilder.java:296)
>        at
> com.redhat.rhn.domain.rhnpackage.PackageFile.equals(PackageFile.java:306)
>        at java.util.HashMap.put(HashMap.java:393)
>        at java.util.HashSet.add(HashSet.java:217)
>        at
> java.util.AbstractCollection.addAll(AbstractCollection.java:322)
>        at
> org.hibernate.collection.PersistentSet.endRead(PersistentSet.java:329)
>        at
> org.hibernate.engine.loading.CollectionLoadContext.endLoadingCollection(CollectionLoadContext.java:237)
>        at
> org.hibernate.engine.loading.CollectionLoadContext.endLoadingCollections(CollectionLoadContext.java:222)
>        at
> org.hibernate.engine.loading.CollectionLoadContext.endLoadingCollections(CollectionLoadContext.java:195)
>        at
> org.hibernate.loader.Loader.endCollectionLoad(Loader.java:877)
>        at
> org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:865)
>        at org.hibernate.loader.Loader.doQuery(Loader.java:729)
>        at
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
>        at org.hibernate.loader.Loader.loadCollection(Loader.java:1994)
>        at
> org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:36)
>        at
> org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:565)
>        at
> org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
>        at
> org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1716)
>        at
> org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344)
>        at
> org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
>        at
> org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:163)
>        at
> org.hibernate.type.CollectionType.getElementsIterator(CollectionType.java:211)
> <snip>
> 2009-01-19 17:56:29,843 [TP-Processor7] ERROR
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/rhn].[action] - Servlet.service() for servlet ac
> tion threw exception
> java.lang.NullPointerException
>
> <snip>
> I have not deduced whether this is caused by the Apache Thread being
> killed because it's too big, or the other way around.  A Co-Worker seems
> to think that a log handler is not setup correctly....

It's not the apache thread causing that. That looks like either
PackageCapability is null
or some part of it while performing your action.

I'll have someone look into this.

jesus




More information about the Spacewalk-list mailing list