<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    StackOverflowError while deleting Expired MSG
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/mclu">Markus Lutum</a> in <i>JBoss Messaging</i> - <a href="http://community.jboss.org/message/614879#614879">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hi out there.</p><p>We have issues with a client which uses JBM.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>We get a StackOverflowError while the server is restarted.</p><p>I think this has somethink to do with deleting of Expired Messages if there is no expiry queue...</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Environment:</p><p>Oracle, JBoss 4.2.3 with JBM 1.4.5 on a solaris system. see below..</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>12:28:47,521 INFO&#160; [APP.DbManager] Database Product Name= Oracle</p><p>12:28:47,521 INFO&#160; [APP.DbManager] Database Product Version= Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production</p><p>With the Partitioning, OLAP, Data Mining Scoring Engine and Real Application Testing options</p><p>12:28:47,521 INFO&#160; [APP.DbManager] JDBC Driver Name= Oracle JDBC driver</p><p>12:28:47,521 INFO&#160; [APP.DbManager] JDBC Driver Version= 11.1.0.6.0-Production+</p><p>12:28:47,521 INFO&#160; [APP.DbManager] JDBC Driver supports batch updates</p><p style="text-align: left;">12:28:47,960 INFO&#160; [org.jboss.jms.server.ServerPeer] JBoss Messaging 1.4.5.GA server [1] started</p><p>12:28:48,504 INFO&#160; [org.jboss.jms.server.connectionfactory.ConnectionFactory] Connector sslbisocket://OURSYSTEMURL:4457 has leasing enabled, lease period 10000 milliseconds</p><p>12:28:48,504 INFO&#160; [org.jboss.jms.server.connectionfactory.ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@14fe17 started</p><p>....</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Then a lot of msg are removed:</p><p>....</p><p>12:29:35,506 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028172599583]:RELIABLE</p><p>12:29:35,568 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028172763424]:RELIABLE</p><p>12:29:35,582 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028172960033]:RELIABLE</p><p>12:29:35,594 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028173091106]:RELIABLE</p><p>12:29:35,608 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028173287715]:RELIABLE</p><p>12:29:35,616 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028173451556]:RELIABLE</p><p>.... cuttet some ....</p><p>12:29:36,825 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380909924778400]:RELIABLE</p><p>12:29:36,834 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380911717908897]:RELIABLE</p><p>12:29:36,843 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380912000729506]:RELIABLE <strong> &lt;&lt;&lt;&lt;------------------&#160;&#160; this one is mentioned below</strong></p><p>12:29:36,854 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380914197332387]:RELIABLE</p><p>12:29:36,864 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380914815435172]:RELIABLE</p><p>12:29:36,876 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380915428000165]:RELIABLE</p><p>12:29:36,885 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380998091964838]:RELIABLE</p><p>12:29:36,894 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380998143345063]:RELIABLE</p><p>12:29:36,902 WARN&#160; [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23381029873287592]:RELIABLE</p><p>12:29:36,916 ERROR [org.jboss.messaging.core.impl.RoundRobinDistributor] The receiver ConsumerEndpoint[w1-1eje52qg-1-av4d52qg-nuauxy-vv5n4e4] is broken</p><p>12:29:36,917 ERROR [org.jboss.messaging.core.impl.ChannelSupport] Queue[12748390/1/2-notifications_mediumretry] Failed to deliver</p><p>12:29:36,918 ERROR [org.jboss.jms.server.endpoint.ServerConsumerEndpoint] Failed to expire delivery: Delivery[Reference[23380912000729506]:RELIABLE]</p><p>java.lang.StackOverflowError</p><p>&#160;&#160;&#160; at java.lang.ClassLoader.defineClass1(Native Method)</p><p>&#160;&#160;&#160; at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)</p><p>&#160;&#160;&#160; at java.lang.ClassLoader.defineClass(ClassLoader.java:616)</p><p>&#160;&#160;&#160; at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)</p><p>&#160;&#160;&#160; at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)</p><p>&#160;&#160;&#160; at java.net.URLClassLoader.access$000(URLClassLoader.java:58)</p><p>&#160;&#160;&#160; at java.net.URLClassLoader$1.run(URLClassLoader.java:197)</p><p>&#160;&#160;&#160; at java.security.AccessController.doPrivileged(Native Method)</p><p>&#160;&#160;&#160; at java.net.URLClassLoader.findClass(URLClassLoader.java:190)</p><p>&#160;&#160;&#160; at java.lang.ClassLoader.loadClass(ClassLoader.java:307)</p><p>&#160;&#160;&#160; at java.lang.ClassLoader.loadClass(ClassLoader.java:248)</p><p>&#160;&#160;&#160; at org.apache.log4j.spi.ThrowableInformation.getThrowableStrRep(ThrowableInformation.java:58)</p><p>&#160;&#160;&#160; at org.apache.log4j.spi.LoggingEvent.getThrowableStrRep(LoggingEvent.java:342)</p><p>&#160;&#160;&#160; at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:304)</p><p>&#160;&#160;&#160; at org.apache.log4j.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:358)</p><p>&#160;&#160;&#160; at org.apache.log4j.WriterAppender.append(WriterAppender.java:159)</p><p>&#160;&#160;&#160; at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230)</p><p>&#160;&#160;&#160; at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65)</p><p>&#160;&#160;&#160; at org.apache.log4j.Category.callAppenders(Category.java:203)</p><p>&#160;&#160;&#160; at org.apache.log4j.Category.forcedLog(Category.java:388)</p><p>&#160;&#160;&#160; at org.apache.log4j.Category.log(Category.java:853)</p><p>&#160;&#160;&#160; at org.jboss.logging.Log4jLoggerPlugin.error(Log4jLoggerPlugin.java:206)</p><p>&#160;&#160;&#160; at org.jboss.logging.Logger.error(Logger.java:234)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.ChannelSupport.deliverInternal(ChannelSupport.java:747)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.MessagingQueue.deliverInternal(MessagingQueue.java:506)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.ChannelSupport.acknowledgeInternal(ChannelSupport.java:844)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.ChannelSupport.acknowledge(ChannelSupport.java:290)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.SimpleDelivery.acknowledge(SimpleDelivery.java:103)</p><p>&#160;&#160;&#160; at org.jboss.jms.server.endpoint.ServerSessionEndpoint.expireDelivery(ServerSessionEndpoint.java:1109)</p><p>&#160;&#160;&#160; at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.java:236)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.RoundRobinDistributor.handle(RoundRobinDistributor.java:119)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.MessagingQueue$DistributorWrapper.handle(MessagingQueue.java:583)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.ClusterRoundRobinDistributor.handle(ClusterRoundRobinDistributor.java:79)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.ChannelSupport.deliverInternal(ChannelSupport.java:665)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.MessagingQueue.deliverInternal(MessagingQueue.java:506)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.ChannelSupport.acknowledgeInternal(ChannelSupport.java:844)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.ChannelSupport.acknowledge(ChannelSupport.java:290)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.SimpleDelivery.acknowledge(SimpleDelivery.java:103)</p><p>&#160;&#160;&#160; at org.jboss.jms.server.endpoint.ServerSessionEndpoint.expireDelivery(ServerSessionEndpoint.java:1109)</p><p>&#160;&#160;&#160; at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.java:236)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.RoundRobinDistributor.handle(RoundRobinDistributor.java:119)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.MessagingQueue$DistributorWrapper.handle(MessagingQueue.java:583)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.ClusterRoundRobinDistributor.handle(ClusterRoundRobinDistributor.java:79)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.ChannelSupport.deliverInternal(ChannelSupport.java:665)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.MessagingQueue.deliverInternal(MessagingQueue.java:506)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.ChannelSupport.acknowledgeInternal(ChannelSupport.java:844)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.ChannelSupport.acknowledge(ChannelSupport.java:290)</p><p>&#160;&#160;&#160; at org.jboss.messaging.core.impl.SimpleDelivery.acknowledge(SimpleDelivery.java:103)</p><p>&#160;&#160;&#160; at org.jboss.jms.server.endpoint.ServerSessionEndpoint.expireDelivery(ServerSessionEndpoint.java:1109)</p><p>....</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Any Idea what we can do about it?</p><p>Does it help to configure an expiry queue?</p><p>Is this a known issue?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Greets </p><p>Markus Lutum</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/614879#614879">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Messaging at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2042">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>