3 Replies Latest reply on Jul 8, 2009 7:24 AM by adrianwoodhead

    Could not find reference with id (JBM 2.0.0.BETA3)

    adrianwoodhead

      I am evaluating JBoss Messaging as a replacement for ActiveMQ at our company. I have installed 2.0.0.BETA3 and am very impressed with the documentation and examples - top stuff.

      I have the server running on one machine with a jms setup and <pre-acknowledge>true</pre-acknowledge> in the config. I have two client machines which send messages to a topic and also receive messages from the same topic. They are configured with the same pre-acknowledge mode (I don't really care if messages go missing, I'm more interested in overall throughput and stability). When run, one of the clients successfully sends messages to the topic and receives messages back (including its own messages). However, the other client (the exact same code) sends messages fine but only receives its own messages back (*not* the messages from the other client). There are no error messages in the client log files. However on the server I see this error over and over again:

      Failed to acknowledge
      java.lang.IllegalStateException: Could not find reference with id 878 backup false closed false

      Does anybody have any idea what's going wrong here?

      Here is a full stack trace for reference:

      15:42:04,894 SEVERE [org.jboss.messaging.core.server.impl.ServerSessionImpl] Failed to acknowledge
      java.lang.IllegalStateException: Could not find reference with id 893 backup false closed false
      at org.jboss.messaging.core.server.impl.ServerConsumerImpl.getExpired(ServerConsumerImpl.java:421)
      at org.jboss.messaging.core.server.impl.ServerSessionImpl.doHandleExpired(ServerSessionImpl.java:1623)
      at org.jboss.messaging.core.server.impl.ServerSessionImpl.handleExpired(ServerSessionImpl.java:478)
      at org.jboss.messaging.core.server.impl.ServerSessionPacketHandler.handlePacket(ServerSessionPacketHandler.java:152)
      at org.jboss.messaging.core.remoting.impl.ChannelImpl.handlePacket(ChannelImpl.java:621)
      at org.jboss.messaging.core.remoting.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:399)
      at org.jboss.messaging.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:483)
      at org.jboss.messaging.integration.transports.netty.MessagingChannelHandler.messageReceived(MessagingChannelHandler.java:75)
      at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:105)
      at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:567)
      at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:803)
      at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:387)
      at org.jboss.netty.handler.codec.frame.FrameDecoder.fireMessageReceived(FrameDecoder.java:284)
      at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:261)
      at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:184)
      at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:87)
      at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:567)
      at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:562)
      at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:344)
      at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:331)
      at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:303)
      at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:255)
      at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:176)
      at org.jboss.netty.util.internal.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:72)
      at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:49)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
      at java.lang.Thread.run(Thread.java:619)