Openfire 3.10.1 “IQ must be of type 'set' or 'get'...” exception

2015.07.06 11:39:47 org.jivesoftware.openfire.nio.ConnectionHandler -

Closing connection due to error while processing message:

java.lang.IllegalArgumentException: IQ must be of type ‘set’ or ‘get’.

Original IQ:

at org.xmpp.packet.IQ.createResultIQ(IQ.java:384)

at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:424)

at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:123)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:76)

at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:330)

at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:93)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:295)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:187)

at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:189)

at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceive d(DefaultIoFilterChain.java:854)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(D efaultIoFilterChain.java:542)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$6(DefaultIoFilterC hain.java:538)

at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceiv ed(DefaultIoFilterChain.java:943)

at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapte r.java:109)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(D efaultIoFilterChain.java:542)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$6(DefaultIoFilterC hain.java:538)

at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceiv ed(DefaultIoFilterChain.java:943)

at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flus h(ProtocolCodecFilter.java:405)

at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:235)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(D efaultIoFilterChain.java:542)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$6(DefaultIoFilterC hain.java:538)

at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceiv ed(DefaultIoFilterChain.java:943)

at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74)

at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)

at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(Ordere dThreadPoolExecutor.java:769)

at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(Order edThreadPoolExecutor.java:761)

at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThr eadPoolExecutor.java:703)

at java.lang.Thread.run(Thread.java:722)

this isseus maybe like that [OF-772] IQ type=“result” getting java.lang.IllegalArgumentException - Jive Software Open Source

and someone fixed it by modify " From LocalMUCUser.process(IQ packet) "

// Ignore IQs of type ERROR or RESULT sent to a room

 if (IQ.Type.error == packet.getType())

{

           return;

}

but I see the surceof 3.10.1 version ,from LocalMUCUser.process(IQ packet) ,code show that :

else if (IQ.Type.result == packet.getType()

|| IQ.Type.error == packet.getType()) {

// Only process IQ result packet if it’s a private sent to another

// room occupant

if (packet.getTo().getResource() != null) {

try {

// User is sending an IQ result packet to another room occupant

role.getChatRoom().sendPrivatePacket(packet, role);

}

catch (NotFoundException e) {

// Do nothing. No error will be sent to the sender of the IQ result packet

}

}

}

why not return in 3.10.1 for fix this problem ?

The same error is also thrown if i request die information on a user in a channel.

Subsequently the user is thrown out of all channels.

Here is the exception stacktrace.

015.07.10 13:55:17 org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl - Internal server error

java.lang.IllegalArgumentException: IQ must be of type ‘set’ or ‘get’. Original IQ: +02:002015-07-10T11:55:18Z</ iq>

at org.xmpp.packet.IQ.createResultIQ(IQ.java:384)

at org.jivesoftware.openfire.muc.spi.LocalMUCUser.sendErrorPacket(LocalMUCUser.jav a:163)

at org.jivesoftware.openfire.muc.spi.LocalMUCUser.process(LocalMUCUser.java:386)

at org.jivesoftware.openfire.muc.spi.LocalMUCUser.process(LocalMUCUser.java:191)

at org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl.processPacket(MultiU serChatServiceImpl.java:324)

at org.jivesoftware.openfire.component.InternalComponentManager$RoutableComponents .process(InternalComponentManager.java:591)

at org.jivesoftware.openfire.spi.RoutingTableImpl.routeToComponent(RoutingTableImp l.java:401)

at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:243)

at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:331)

at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:123)

at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:76)

at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:330)

at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:93)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:295)

at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:187)

at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:189)

at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceive d(DefaultIoFilterChain.java:854)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(D efaultIoFilterChain.java:542)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$6(DefaultIoFilterC hain.java:538)

at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceiv ed(DefaultIoFilterChain.java:943)

at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapte r.java:109)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(D efaultIoFilterChain.java:542)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$6(DefaultIoFilterC hain.java:538)

at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceiv ed(DefaultIoFilterChain.java:943)

at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flus h(ProtocolCodecFilter.java:405)

at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:235)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(D efaultIoFilterChain.java:542)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$6(DefaultIoFilterC hain.java:538)

at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceiv ed(DefaultIoFilterChain.java:943)

at org.apache.mina.filter.ssl.SslHandler.flushScheduledEvents(SslHandler.java:319)

at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:520)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(D efaultIoFilterChain.java:542)

at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$6(DefaultIoFilterC hain.java:538)

at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceiv ed(DefaultIoFilterChain.java:943)

at org.apache.mina.core.filterchain.IoFilterEvent.fire(IoFilterEvent.java:74)

at org.apache.mina.core.session.IoEvent.run(IoEvent.java:63)

at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask(Ordere dThreadPoolExecutor.java:769)

at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks(Order edThreadPoolExecutor.java:761)

at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run(OrderedThr eadPoolExecutor.java:703)

at java.lang.Thread.run(Thread.java:745)

Same Issue here.

2015.08.19 16:12:34 org.jivesoftware.openfire.muc.spi.MultiUserChatServiceImpl - Internal server error

java.lang.IllegalArgumentException: IQ must be of type ‘set’ or ‘get’. Original IQ: <iq type=“result” id=“iChat_78F96F98”…

I’m running 3.10.2 on Centos 6.6 pointed at a Postgresql database backend.