Hi all,
I have an annoying bug with pubsub in Openfire, and I’m sure I didn’t have this bug with earlier versions of Openfire.
The problem is that only one item out of two is published, and the other one fails.
what I produce with my client :
<iq id=“oa0mz-20” to=“pubsub.m12826” type=“set”>
<pubsub xmlns=“http://jabber.org/protocol/pubsub”>
<publish node=“test_node_08”>
<item id=“e33229a2-9507-435c-b852-13a3acd66b2c”>
<text>messa_1</text>
</item>
</publish>
</pubsub>
</iq>
what I get from server :
<iq id=“oa0mz-20” to=“diff@m12826/Smack” from=“pubsub.m12826” type=“result”/>
<iq id=“oa0mz-20” to=“diff@m12826/Smack” from=“pubsub.m12826” type=“error”>
<error code=“500” type=“WAIT”>
<internal-server-error xmlns=“urn:ietf:params:xml:ns:xmpp-stanzas”/>
</error>
</iq>
It only occurs for one item out of 2.
When I restart openfire, it works without problem, but only for a few dozens of items, after that, it alterns between correct publishing and failing.
Note: here is an extract from ‘error.log’ :
2007.12.07 16:16:38 [org.jivesoftware.openfire.pubsub.PubSubModule.process(PubSubModule.java:191)
] Internal server error
java.lang.NullPointerException
at java.util.concurrent.LinkedBlockingQueue.remove(LinkedBlockingQueue.java:480)
at org.jivesoftware.openfire.pubsub.PubSubEngine.queueItemToRemove(PubSubEngine.ja va:1846)
at org.jivesoftware.openfire.pubsub.PubSubModule.queueItemToRemove(PubSubModule.ja va:284)
at org.jivesoftware.openfire.pubsub.LeafNode.publishItems(LeafNode.java:260)
at org.jivesoftware.openfire.pubsub.PubSubEngine.publishItemsToNode(PubSubEngine.j ava:371)
at org.jivesoftware.openfire.pubsub.PubSubEngine.process(PubSubEngine.java:70)
at org.jivesoftware.openfire.pubsub.PubSubModule.process(PubSubModule.java:179)
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:234)
at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:300)
at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:100)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)
at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:303)
at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:78)
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:268)
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:167)
at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:132)
at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:570)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:58)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:173)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239)
at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 665)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.lang.Thread.run(Thread.java:803)
2007.12.07 16:16:47 [org.jivesoftware.openfire.nio.ConnectionHandler.exceptionCaught(ConnectionHand ler.java:109)
]
java.lang.NoClassDefFoundError: com.sun.security.sasl.util.PolicyUtils
at org.jivesoftware.openfire.sasl.SaslServerFactoryImpl.createSaslServer(SaslServe rFactoryImpl.java:49)
at javax.security.sasl.Sasl.createSaslServer(Sasl.java:486)
at org.jivesoftware.openfire.net.SASLAuthentication.handle(SASLAuthentication.java :211)
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:152)
at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:132)
at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:570)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:58)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:173)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239)
at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 665)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.lang.Thread.run(Thread.java:803)
2007.12.07 16:17:02 [org.jivesoftware.openfire.pubsub.PublishedItemTask.run(PublishedItemTask.java: 78)
] Internal server error
java.lang.NullPointerException
at java.util.concurrent.LinkedBlockingQueue.extract(LinkedBlockingQueue.java:157)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:440)
at org.jivesoftware.openfire.pubsub.PublishedItemTask.run(PublishedItemTask.java:6 9)
at java.util.TimerThread.mainLoop(Timer.java:527)
at java.util.TimerThread.run(Timer.java:477)
2007.12.07 16:17:19 [org.jivesoftware.openfire.pubsub.PubSubModule.process(PubSubModule.java:191)
] Internal server error
java.lang.NullPointerException
at java.util.concurrent.LinkedBlockingQueue.remove(LinkedBlockingQueue.java:480)
at org.jivesoftware.openfire.pubsub.PubSubEngine.queueItemToRemove(PubSubEngine.ja va:1846)
at org.jivesoftware.openfire.pubsub.PubSubModule.queueItemToRemove(PubSubModule.ja va:284)
at org.jivesoftware.openfire.pubsub.LeafNode.publishItems(LeafNode.java:260)
at org.jivesoftware.openfire.pubsub.PubSubEngine.publishItemsToNode(PubSubEngine.j ava:371)
at org.jivesoftware.openfire.pubsub.PubSubEngine.process(PubSubEngine.java:70)
at org.jivesoftware.openfire.pubsub.PubSubModule.process(PubSubModule.java:179)
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:234)
at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:300)
at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:100)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)
at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:303)
at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:78)
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:268)
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:167)
at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:132)
at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:570)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:58)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:173)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239)
at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 665)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.lang.Thread.run(Thread.java:803)
2007.12.07 16:19:02 [org.jivesoftware.openfire.pubsub.PublishedItemTask.run(PublishedItemTask.java: 78)
] Internal server error
java.lang.NullPointerException
at java.util.concurrent.LinkedBlockingQueue.extract(LinkedBlockingQueue.java:157)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:440)
at org.jivesoftware.openfire.pubsub.PublishedItemTask.run(PublishedItemTask.java:6 9)
at java.util.TimerThread.mainLoop(Timer.java:527)
at java.util.TimerThread.run(Timer.java:477)
2007.12.07 16:21:02 [org.jivesoftware.openfire.pubsub.PublishedItemTask.run(PublishedItemTask.java: 78)
] Internal server error
java.lang.NullPointerException
at java.util.concurrent.LinkedBlockingQueue.extract(LinkedBlockingQueue.java:157)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:440)
at org.jivesoftware.openfire.pubsub.PublishedItemTask.run(PublishedItemTask.java:6 9)
at java.util.TimerThread.mainLoop(Timer.java:527)
at java.util.TimerThread.run(Timer.java:477)