[ 
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

Reply via email to