activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jan Wedel (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AMQ-4660) OutOfMemoryError in Web Console
Date Tue, 30 Jul 2013 10:43:48 GMT

    [ https://issues.apache.org/jira/browse/AMQ-4660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13723693#comment-13723693
] 

Jan Wedel commented on AMQ-4660:
--------------------------------

Hmm, the question is: Why does it happen with 60 messages? In issue AMQ-4595, the had 10000
messages. Right now, after some messages have been consumed, there are 28 left, and these
messages are displayed instantly.

However, I've checked the body size and each message contains about 20kB of XML (don't ask
my why, its not my code). But does browsing actually needs to acquire the body for displaying
a list of message ids?

And even if its been done, this would be 60*20b=1,4MB which should be fine when running AMQ
with 1GB of heap, shouldn't it?

Also, they were talking about the auditDeph, which is set to > 2000 by default. So this
appears not to be the same issue at least from my outsider's point of view.

Unfortunately, this is a live-system. I will try to deploy the dev version on one of our development
servers.
                
> OutOfMemoryError in Web Console
> -------------------------------
>
>                 Key: AMQ-4660
>                 URL: https://issues.apache.org/jira/browse/AMQ-4660
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.8.0
>         Environment: Linux h1666427 2.6.32-042stab078.27 #1 SMP Mon Jul 1 20:48:07 MSK
2013 i686 athlon i386 GNU/Linux
>            Reporter: Jan Wedel
>
> I have multiple queues (about 20), most of them are empty. One queue has 60 messages.
When click on the queue in the web console to view the messages, I get an error displayed
after a few minutes:
> {quote}
> Error!
> Exception occurred while processing this request, check the log for more information!
> {quote}
> When I check the log, I get this huge stacktrace:
> {quote}
> 2013-07-30 08:44:26,380 | WARN  | /admin/browse.jsp | org.eclipse.jetty.servlet.ServletHandler
| qtp10279131-55
> javax.servlet.jsp.JspException: java.lang.OutOfMemoryError: Java heap space
>         at org.apache.jsp.tag.web.jms.persistent_tag.doTag(org.apache.jsp.tag.web.jms.persistent_tag:80)
>         at org.apache.jsp.browse_jsp._jspx_meth_jms_persistent_0(org.apache.jsp.browse_jsp:222)
>         at org.apache.jsp.browse_jsp.access$2(org.apache.jsp.browse_jsp:210)
>         at org.apache.jsp.browse_jsp$browse_jspHelper.invoke0(org.apache.jsp.browse_jsp:401)
>         at org.apache.jsp.browse_jsp$browse_jspHelper.invoke(org.apache.jsp.browse_jsp:450)
>         at org.apache.jsp.tag.web.jms.forEachMessage_tag.doTag(org.apache.jsp.tag.web.jms.forEachMessage_tag:89)
>         at org.apache.jsp.browse_jsp._jspx_meth_jms_forEachMessage_0(org.apache.jsp.browse_jsp:170)
>         at org.apache.jsp.browse_jsp._jspService(org.apache.jsp.browse_jsp:100)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>         at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1329)
>         at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
>         at org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:45)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
>         at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
>         at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
>         at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
>         at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:445)
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:534)
>         at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>         at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1038)
>         at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:374)
>         at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)
>         at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:972)
>         at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>         at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>         at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:534)
>         at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
>         at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>         at org.eclipse.jetty.server.Server.handle(Server.java:363)
>         at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:483)
>         at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:920)
>         at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:982)
>         at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635)
>         at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
>         at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:627)
>         at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:51)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>         at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>         at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.OutOfMemoryError: Java heap space
>         at java.util.Arrays.copyOf(Arrays.java:2882)
>         at java.io.CharArrayWriter.write(CharArrayWriter.java:88)
>         at java.io.PrintWriter.write(PrintWriter.java:382)
>         at com.opensymphony.module.sitemesh.filter.RoutablePrintWriter.write(RoutablePrintWriter.java:144)
>         at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:181)
>         at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:449)
>         at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:462)
>         at org.apache.jasper.runtime.JspWriterImpl.print(JspWriterImpl.java:587)
>         at org.apache.jasper.runtime.JspWriterImpl.println(JspWriterImpl.java:695)
>         at org.apache.jsp.tag.web.jms.persistent_tag.doTag(org.apache.jsp.tag.web.jms.persistent_tag:63)
>         at org.apache.jsp.browse_jsp._jspx_meth_jms_persistent_0(org.apache.jsp.browse_jsp:222)
>         at org.apache.jsp.browse_jsp.access$2(org.apache.jsp.browse_jsp:210)
>         at org.apache.jsp.browse_jsp$browse_jspHelper.invoke0(org.apache.jsp.browse_jsp:401)
>         at org.apache.jsp.browse_jsp$browse_jspHelper.invoke(org.apache.jsp.browse_jsp:450)
>         at org.apache.jsp.tag.web.jms.forEachMessage_tag.doTag(org.apache.jsp.tag.web.jms.forEachMessage_tag:89)
>         at org.apache.jsp.browse_jsp._jspx_meth_jms_forEachMessage_0(org.apache.jsp.browse_jsp:170)
>         at org.apache.jsp.browse_jsp._jspService(org.apache.jsp.browse_jsp:100)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>         at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1329)
>         at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
>         at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
>         at org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:45)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
>         at org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:102)
>         at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1300)
> {quote}
> I ran AMQ with {{-Xms1024m -Xmx1024m}} settings an there is no system-based memory shortage,
afaik. So I'm wondering why its not possible to 60 messages? Once I purge the queue, I am
able to view it again.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message