NPE in EntityCapabilitiesManager

Description

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)
}}

Environment

None

Activity

Show:
Guus der Kinderen
November 30, 2018, 3:26 PM

This fixes the bug in Converse that caused the malformed stanza to be sent: https://github.com/conversejs/converse.js/commit/8de78dfaf5a64b815480663b37d9984d89e781f6

We should evaluate if we're properly handling a malformed stanza here.

Guus der Kinderen
November 30, 2018, 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, 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.

Fixed
Your pinned fields
Click on the next to a field label to start pinning.

Assignee

Greg Thomas

Reporter

Guus der Kinderen