{{ERROR [Server SR - 1202003350]: org.jivesoftware.openfire.IQRouter - Error processing answer of remote entity. Answer: <iq type="result" to="igniterealtime.org" from="jc@remote.domain/converse.js-36628933" id="29-287"><identity type="web" name="Converse.js" category="client"/><feature var="http://jabber.org/protocol/chatstates"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="http://jabber.org/protocol/muc"/><feature var="http://jabber.org/protocol/rosterx"/><feature var="jabber:x:conference"/><feature var="jabber:x:oob"/><feature var="urn:xmpp:carbons:2"/><feature var="urn:xmpp:http:upload:0"/><feature var="urn:xmpp:mam:2"/><feature var="urn:xmpp:message-correct:0"/><feature var="urn:xmpp:spoiler:0"/><feature var="urn:xmpp:xbosh"/><feature var="vcard-temp"/></iq> java.lang.NullPointerException at org.jivesoftware.openfire.entitycaps.EntityCapabilitiesManager.getIdentitiesFrom(EntityCapabilitiesManager.java:337) at org.jivesoftware.openfire.entitycaps.EntityCapabilitiesManager.generateVerHash(EntityCapabilitiesManager.java:236) at org.jivesoftware.openfire.entitycaps.EntityCapabilitiesManager.isValid(EntityCapabilitiesManager.java:212) at org.jivesoftware.openfire.entitycaps.EntityCapabilitiesManager.receivedAnswer(EntityCapabilitiesManager.java:287) at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:304) at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:112) at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:74) at org.jivesoftware.openfire.net.SocketReader.processIQ(SocketReader.java:265) at org.jivesoftware.openfire.net.ServerSocketReader.processIQ(ServerSocketReader.java:72) at org.jivesoftware.openfire.net.SocketReader.process(SocketReader.java:234) at org.jivesoftware.openfire.net.BlockingReadingMode.readStream(BlockingReadingMode.java:165) at org.jivesoftware.openfire.net.BlockingReadingMode.run(BlockingReadingMode.java:72) at org.jivesoftware.openfire.net.SocketReader.run(SocketReader.java:141) at java.lang.Thread.run(Thread.java:748) }}
We should evaluate if we're properly handling a malformed stanza here.
Guus der Kinderen November 30, 2018 at 2:54 PM
This stanza appears to be a result to an service discovery request, but it misses the child element: <query xmlns='http://jabber.org/protocol/disco#info'>
Florian Schmaus November 11, 2018 at 9:18 PM
Isn't that more of an Openfire issue? Even if the NPE is caused by Smack sending invalid XMPP stanzas (which we sure should fix if it is the case, but probably in a separate issue), the NPE happens within Openfire.
This nullpointer was logged:
{{ERROR [Server SR - 1202003350]: org.jivesoftware.openfire.IQRouter - Error processing answer of remote entity. Answer: <iq type="result" to="igniterealtime.org" from="jc@remote.domain/converse.js-36628933" id="29-287"><identity type="web" name="Converse.js" category="client"/><feature var="http://jabber.org/protocol/chatstates"/><feature var="http://jabber.org/protocol/disco#info"/><feature var="http://jabber.org/protocol/muc"/><feature var="http://jabber.org/protocol/rosterx"/><feature var="jabber:x:conference"/><feature var="jabber:x:oob"/><feature var="urn:xmpp:carbons:2"/><feature var="urn:xmpp:http:upload:0"/><feature var="urn:xmpp:mam:2"/><feature var="urn:xmpp:message-correct:0"/><feature var="urn:xmpp:spoiler:0"/><feature var="urn:xmpp:xbosh"/><feature var="vcard-temp"/></iq>
java.lang.NullPointerException
at org.jivesoftware.openfire.entitycaps.EntityCapabilitiesManager.getIdentitiesFrom(EntityCapabilitiesManager.java:337)
at org.jivesoftware.openfire.entitycaps.EntityCapabilitiesManager.generateVerHash(EntityCapabilitiesManager.java:236)
at org.jivesoftware.openfire.entitycaps.EntityCapabilitiesManager.isValid(EntityCapabilitiesManager.java:212)
at org.jivesoftware.openfire.entitycaps.EntityCapabilitiesManager.receivedAnswer(EntityCapabilitiesManager.java:287)
at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:304)
at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:112)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:74)
at org.jivesoftware.openfire.net.SocketReader.processIQ(SocketReader.java:265)
at org.jivesoftware.openfire.net.ServerSocketReader.processIQ(ServerSocketReader.java:72)
at org.jivesoftware.openfire.net.SocketReader.process(SocketReader.java:234)
at org.jivesoftware.openfire.net.BlockingReadingMode.readStream(BlockingReadingMode.java:165)
at org.jivesoftware.openfire.net.BlockingReadingMode.run(BlockingReadingMode.java:72)
at org.jivesoftware.openfire.net.SocketReader.run(SocketReader.java:141)
at java.lang.Thread.run(Thread.java:748)
}}