AMQ dies after few hour with OutOfMemoryErrors
----------------------------------------------

                 Key: AMQ-2137
                 URL: https://issues.apache.org/activemq/browse/AMQ-2137
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.2.0
         Environment: * Linux xxx.xxx.xxx.xxx 2.6.18-53.el5 #1 SMP Wed Oct 10 
16:34:19 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
* java version "1.5.0_15"
  Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
  Java HotSpot(TM) Server VM (build 1.5.0_15-b04, mixed mode)
* /usr/java/jdk/bin/java -Xmx2048M 
-Dorg.apache.activemq.UseDedicatedTaskRunner=true -Dderby.system.home=/data  
  -Dderby.storage.fileSyncTransactionLog=true -Dcom.sun.management.jmxremote 
-Dactivemq.classpath=/data/activemq/conf; 
  -Dactivemq.home=/data/activemq -Dactivemq.base=/data/activemq -jar 
/data/activemq/bin/run.jar start xbean:activemq.xml
            Reporter: Hakan Yakali
            Priority: Critical


We were using default AMQ configuration with stomp protocol for a long time 
without any problems. However, recently we change the derby db to mysql 
database due to our large message sizes. This set up worked without any 
problems in our test environments but in our production system AMQ is crashing 
after a while with follwoing errors:
Exception in thread "ActiveMQ Connection Dispatcher: /127.0.0.1:41723" 
java.lang.OutOfMemoryError: Java heap space
        at java.lang.StringCoding$CharsetSE.encode(StringCoding.java:334)
        at java.lang.StringCoding.encode(StringCoding.java:378)
        at java.lang.String.getBytes(String.java:812)
        at 
org.apache.activemq.transport.stomp.LegacyFrameTranslator.convertMessage(LegacyFrameTranslator.java:69)
        at 
org.apache.activemq.transport.stomp.ProtocolConverter.convertMessage(ProtocolConverter.java:582)
        at 
org.apache.activemq.transport.stomp.StompSubscription.onMessageDispatch(StompSubscription.java:89)
        at 
org.apache.activemq.transport.stomp.ProtocolConverter.onActiveMQCommad(ProtocolConverter.java:564)
        at 
org.apache.activemq.transport.stomp.StompTransportFilter.oneway(StompTransportFilter.java:56)
        at 
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
        at 
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1207)
        at 
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:793)
        at 
org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:830)
        at 
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
        at 
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
...

after 3 messages like this then you'll see this

Exception in thread "ActiveMQ Connection Dispatcher: /127.0.0.1:41934" 
java.lang.OutOfMemoryError: Java heap space
Exception in thread "ActiveMQ Connection Dispatcher: /127.0.0.1:41942" 
java.lang.OutOfMemoryError: Java heap space
Exception in thread "ActiveMQ Connection Dispatcher: /127.0.0.1:48968" 
java.lang.OutOfMemoryError: Java heap space
Exception in thread "ActiveMQ Connection Dispatcher: /127.0.0.1:48975" 
java.lang.OutOfMemoryError: Java heap space
Exception in thread "ActiveMQ Connection Dispatcher: /127.0.0.1:48978" 
java.lang.OutOfMemoryError: Java heap space
Exception in thread "ActiveMQ Connection Dispatcher: /127.0.0.1:40242" 
java.lang.OutOfMemoryError: Java heap space
Exception in thread "ActiveMQ Connection Dispatcher: /127.0.0.1:40245" 
java.lang.OutOfMemoryError: Java heap space
...


In another attempt we got these messages:
Exception in thread "ActiveMQ Connection Dispatcher: /127.0.0.1:50574" 
java.lang.OutOfMemoryError: Java heap space
        at java.lang.StringCoding$CharsetSE.encode(StringCoding.java:334)
        at java.lang.StringCoding.encode(StringCoding.java:378)
        at java.lang.String.getBytes(String.java:812)
        at 
org.apache.activemq.transport.stomp.LegacyFrameTranslator.convertMessage(LegacyFrameTranslator.java:69)
        at 
org.apache.activemq.transport.stomp.ProtocolConverter.convertMessage(ProtocolConverter.java:582)
        at 
org.apache.activemq.transport.stomp.StompSubscription.onMessageDispatch(StompSubscription.java:89)
        at 
org.apache.activemq.transport.stomp.ProtocolConverter.onActiveMQCommad(ProtocolConverter.java:564)
        at 
org.apache.activemq.transport.stomp.StompTransportFilter.oneway(StompTransportFilter.java:56)
        at 
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:40)
        at 
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1207)
        at 
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:793)
        at 
org.apache.activemq.broker.TransportConnection.iterate(TransportConnection.java:830)
        at 
org.apache.activemq.thread.DedicatedTaskRunner.runTask(DedicatedTaskRunner.java:98)
        at 
org.apache.activemq.thread.DedicatedTaskRunner$1.run(DedicatedTaskRunner.java:36)
ERROR log                            - Nested in 
javax.servlet.ServletException: java.lang.OutOfMemoryError: Java heap space:
java.lang.OutOfMemoryError: Java heap space
        at 
java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:99)
        at 
java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:393)
        at java.lang.StringBuffer.append(StringBuffer.java:225)
        at java.lang.StringBuffer.append(StringBuffer.java:285)
        at java.util.regex.Matcher.appendReplacement(Matcher.java:739)
        at java.util.regex.Matcher.replaceAll(Matcher.java:806)
        at java.lang.String.replaceAll(String.java:2000)
        at 
org.apache.jsp.tag.web.form.tooltip_tag.doTag(org.apache.jsp.tag.web.form.tooltip_tag:75)
        at 
org.apache.jsp.message_jsp._jspx_meth_form_tooltip_1(org.apache.jsp.message_jsp:490)
        at 
org.apache.jsp.message_jsp._jspx_meth_c_otherwise_0(org.apache.jsp.message_jsp:341)
        at 
org.apache.jsp.message_jsp._jspx_meth_c_choose_0(org.apache.jsp.message_jsp:157)
        at org.apache.jsp.message_jsp._jspService(org.apache.jsp.message_jsp:99)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:93)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:470)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:364)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
        at 
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:43)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at 
org.apache.activemq.web.filter.ApplicationContextFilter.doFilter(ApplicationContextFilter.java:81)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at 
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
        at 
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
ERROR log                            - /admin/message.jsp



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to