0 Replies Latest reply on Jul 13, 2011 8:08 AM by mclu

    StackOverflowError while deleting Expired MSG

    mclu

      Hi out there.

      We have issues with a client which uses JBM.

       

      We get a StackOverflowError while the server is restarted.

      I think this has somethink to do with deleting of Expired Messages if there is no expiry queue...

       

      Environment:

      Oracle, JBoss 4.2.3 with JBM 1.4.5 on a solaris system. see below..

       

      12:28:47,521 INFO  [APP.DbManager] Database Product Name= Oracle

      12:28:47,521 INFO  [APP.DbManager] Database Product Version= Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

      With the Partitioning, OLAP, Data Mining Scoring Engine and Real Application Testing options

      12:28:47,521 INFO  [APP.DbManager] JDBC Driver Name= Oracle JDBC driver

      12:28:47,521 INFO  [APP.DbManager] JDBC Driver Version= 11.1.0.6.0-Production+

      12:28:47,521 INFO  [APP.DbManager] JDBC Driver supports batch updates

      12:28:47,960 INFO  [org.jboss.jms.server.ServerPeer] JBoss Messaging 1.4.5.GA server [1] started

      12:28:48,504 INFO  [org.jboss.jms.server.connectionfactory.ConnectionFactory] Connector sslbisocket://OURSYSTEMURL:4457 has leasing enabled, lease period 10000 milliseconds

      12:28:48,504 INFO  [org.jboss.jms.server.connectionfactory.ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@14fe17 started

      ....

       

      Then a lot of msg are removed:

      ....

      12:29:35,506 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028172599583]:RELIABLE

      12:29:35,568 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028172763424]:RELIABLE

      12:29:35,582 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028172960033]:RELIABLE

      12:29:35,594 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028173091106]:RELIABLE

      12:29:35,608 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028173287715]:RELIABLE

      12:29:35,616 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380028173451556]:RELIABLE

      .... cuttet some ....

      12:29:36,825 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380909924778400]:RELIABLE

      12:29:36,834 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380911717908897]:RELIABLE

      12:29:36,843 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380912000729506]:RELIABLE <<<<------------------   this one is mentioned below

      12:29:36,854 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380914197332387]:RELIABLE

      12:29:36,864 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380914815435172]:RELIABLE

      12:29:36,876 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380915428000165]:RELIABLE

      12:29:36,885 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380998091964838]:RELIABLE

      12:29:36,894 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23380998143345063]:RELIABLE

      12:29:36,902 WARN  [org.jboss.jms.server.endpoint.ServerSessionEndpoint] No expiry queue has been configured so removing expired Reference[23381029873287592]:RELIABLE

      12:29:36,916 ERROR [org.jboss.messaging.core.impl.RoundRobinDistributor] The receiver ConsumerEndpoint[w1-1eje52qg-1-av4d52qg-nuauxy-vv5n4e4] is broken

      12:29:36,917 ERROR [org.jboss.messaging.core.impl.ChannelSupport] Queue[12748390/1/2-notifications_mediumretry] Failed to deliver

      12:29:36,918 ERROR [org.jboss.jms.server.endpoint.ServerConsumerEndpoint] Failed to expire delivery: Delivery[Reference[23380912000729506]:RELIABLE]

      java.lang.StackOverflowError

          at java.lang.ClassLoader.defineClass1(Native Method)

          at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)

          at java.lang.ClassLoader.defineClass(ClassLoader.java:616)

          at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)

          at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)

          at java.net.URLClassLoader.access$000(URLClassLoader.java:58)

          at java.net.URLClassLoader$1.run(URLClassLoader.java:197)

          at java.security.AccessController.doPrivileged(Native Method)

          at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

          at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

          at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

          at org.apache.log4j.spi.ThrowableInformation.getThrowableStrRep(ThrowableInformation.java:58)

          at org.apache.log4j.spi.LoggingEvent.getThrowableStrRep(LoggingEvent.java:342)

          at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:304)

          at org.apache.log4j.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:358)

          at org.apache.log4j.WriterAppender.append(WriterAppender.java:159)

          at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:230)

          at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:65)

          at org.apache.log4j.Category.callAppenders(Category.java:203)

          at org.apache.log4j.Category.forcedLog(Category.java:388)

          at org.apache.log4j.Category.log(Category.java:853)

          at org.jboss.logging.Log4jLoggerPlugin.error(Log4jLoggerPlugin.java:206)

          at org.jboss.logging.Logger.error(Logger.java:234)

          at org.jboss.messaging.core.impl.ChannelSupport.deliverInternal(ChannelSupport.java:747)

          at org.jboss.messaging.core.impl.MessagingQueue.deliverInternal(MessagingQueue.java:506)

          at org.jboss.messaging.core.impl.ChannelSupport.acknowledgeInternal(ChannelSupport.java:844)

          at org.jboss.messaging.core.impl.ChannelSupport.acknowledge(ChannelSupport.java:290)

          at org.jboss.messaging.core.impl.SimpleDelivery.acknowledge(SimpleDelivery.java:103)

          at org.jboss.jms.server.endpoint.ServerSessionEndpoint.expireDelivery(ServerSessionEndpoint.java:1109)

          at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.java:236)

          at org.jboss.messaging.core.impl.RoundRobinDistributor.handle(RoundRobinDistributor.java:119)

          at org.jboss.messaging.core.impl.MessagingQueue$DistributorWrapper.handle(MessagingQueue.java:583)

          at org.jboss.messaging.core.impl.ClusterRoundRobinDistributor.handle(ClusterRoundRobinDistributor.java:79)

          at org.jboss.messaging.core.impl.ChannelSupport.deliverInternal(ChannelSupport.java:665)

          at org.jboss.messaging.core.impl.MessagingQueue.deliverInternal(MessagingQueue.java:506)

          at org.jboss.messaging.core.impl.ChannelSupport.acknowledgeInternal(ChannelSupport.java:844)

          at org.jboss.messaging.core.impl.ChannelSupport.acknowledge(ChannelSupport.java:290)

          at org.jboss.messaging.core.impl.SimpleDelivery.acknowledge(SimpleDelivery.java:103)

          at org.jboss.jms.server.endpoint.ServerSessionEndpoint.expireDelivery(ServerSessionEndpoint.java:1109)

          at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.java:236)

          at org.jboss.messaging.core.impl.RoundRobinDistributor.handle(RoundRobinDistributor.java:119)

          at org.jboss.messaging.core.impl.MessagingQueue$DistributorWrapper.handle(MessagingQueue.java:583)

          at org.jboss.messaging.core.impl.ClusterRoundRobinDistributor.handle(ClusterRoundRobinDistributor.java:79)

          at org.jboss.messaging.core.impl.ChannelSupport.deliverInternal(ChannelSupport.java:665)

          at org.jboss.messaging.core.impl.MessagingQueue.deliverInternal(MessagingQueue.java:506)

          at org.jboss.messaging.core.impl.ChannelSupport.acknowledgeInternal(ChannelSupport.java:844)

          at org.jboss.messaging.core.impl.ChannelSupport.acknowledge(ChannelSupport.java:290)

          at org.jboss.messaging.core.impl.SimpleDelivery.acknowledge(SimpleDelivery.java:103)

          at org.jboss.jms.server.endpoint.ServerSessionEndpoint.expireDelivery(ServerSessionEndpoint.java:1109)

      ....

       

      Any Idea what we can do about it?

      Does it help to configure an expiry queue?

      Is this a known issue?

       

      Greets

      Markus Lutum