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 at 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 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.

Fixed

Details

Assignee

Reporter

Fix versions

Affects versions

Priority

Created July 27, 2018 at 5:16 PM
Updated April 30, 2019 at 1:46 PM
Resolved April 30, 2019 at 1:46 PM