Sporadic NPE in JAXB at EntitiesCapabilityManager.readFromCache

Issue #5 closed
Markus KARG created an issue

Steps to reproduce: * Unknown. Initiated XMPP session as always. * Possibly a side effect of using multipe threads?

Expected result: * No exceptions.

Actual result: * NPE at SAXConnector.startElement at EntityCapabilitiesManager.readFromCache

Here is the complete transcript (console debugger log):

OUT: <?xml version="1.0" encoding="UTF-8"?><stream:stream xml:lang="de" to="jabber.de" version="1.0" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams"> IN : <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='jabber.de' id='31810441-689c-4227-8c70-bccfd7bda76b' xml:lang='en' xmlns='jabber:client'><stream:features><starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'><required/></starttls></stream:features> OUT: <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></starttls> IN : <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"></proceed> OUT: <?xml version="1.0" encoding="UTF-8"?><stream:stream xml:lang="de" to="jabber.de" version="1.0" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams"> IN : <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='jabber.de' id='4db4fe5d-5e38-4696-ac6e-3119b0f47efc' xml:lang='en' xmlns='jabber:client'><stream:features><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>SCRAM-SHA-1</mechanism><mechanism>PLAIN</mechanism></mechanisms></stream:features> OUT: <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="SCRAM-SHA-1">biwsbj1ta2FyZyxyPWY4TDR6cGpJYmVib2h4QTI2a0tLYXc9PQ==</auth> IN : <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cj1mOEw0enBqSWJlYm9oeEEyNmtLS2F3PT04NzRlNjliMy0zMWRlLTQwZGYtOWYzYS1mYTZiN2JjNWFkNGUscz1ObUkwTlRBM1lUa3RNMlF4TnkwMFlqVmxMVGs1T0RBdFptSTVZamMwTlRNek1XTmksaT00MDk2</challenge> OUT: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">Yz1iaXdzLHI9ZjhMNHpwakliZWJvaHhBMjZrS0thdz09ODc0ZTY5YjMtMzFkZS00MGRmLTlmM2EtZmE2YjdiYzVhZDRlLHA9N0RhRXhWbmd6V2FnUkgvL3BGejZyeFNZSERvPQ==</response> IN : <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dj1yTkZNSmhYTzhmck11U2pCOXlFTk4wMldaN0U9</success> OUT: <?xml version="1.0" encoding="UTF-8"?><stream:stream xml:lang="de" to="jabber.de" version="1.0" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams"> IN : <?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='jabber.de' id='6cc35d0a-d598-4b13-b14b-1ba49d3238d5' xml:lang='en' xmlns='jabber:client'><stream:features><ver xmlns='urn:xmpp:features:rosterver'/><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></bind><session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/></session><c hash='sha-1' ver='LLuCCaPivR+lMZK6Jcy4eXwttVY=' node='http://prosody.im' xmlns='http://jabber.org/protocol/caps'/><compression xmlns='http://jabber.org/features/compress'><method>zlib</method></compression><sm xmlns='urn:xmpp:sm:2'><optional/></sm><sm xmlns='urn:xmpp:sm:3'><optional/></sm></stream:features> OUT: <iq id="12f0f12e-bf5b-4ffa-ba94-e85a51a7eefa" type="set"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>eclipse</resource></bind></iq> IN : <iq id="12f0f12e-bf5b-4ffa-ba94-e85a51a7eefa" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>mkarg@jabber.de/eclipse</jid></bind></iq> OUT: <iq id="9c262752-dd38-43e0-a039-0035eee4a58a" type="get"><query xmlns="jabber:iq:roster"></query></iq> IN : <iq id="9c262752-dd38-43e0-a039-0035eee4a58a" to="mkarg@jabber.de/eclipse" type="result"><query xmlns="jabber:iq:roster" ver="18"><item jid="skarg@jabber.de" name="Stefanie KARG" subscription="both"><group>Familie</group></item><item ask="subscribe" jid="mkarg@einfachjabber.de" subscription="none"><group>Buddys</group></item></query></iq> OUT: <presence><show>chat</show><priority>1</priority><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://xmpp.rocks" ver="Mci31qfDr3828zddHdoOo2En3rA="></c></presence> IN : <presence from="mkarg@jabber.de/eclipse"><show>chat</show><priority>1</priority><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://xmpp.rocks" ver="Mci31qfDr3828zddHdoOo2En3rA="></c></presence> IN : <presence from="skarg@jabber.de/07e490d7-f019-42c7-b9d5-f73754e5a2f1" to="mkarg@jabber.de/eclipse"><priority>1</priority><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://pidgin.im/" ver="I22W7CegORwdbnu0ZiQwGpxr0Go="></c><x xmlns="vcard-temp❌update"><photo>48560af9e7d64c87df9a03d9fadbac6a70cc02c6</photo></x><delay xmlns="urn:xmpp:delay" from="jabber.de" stamp="2015-01-03T13:05:48+01:00"></delay></presence> OUT: </stream:stream> Jan 03, 2015 1:29:44 PM rocks.xmpp.core.session.XmppSession notifyStanzaListeners WARNUNG: null java.lang.NullPointerException at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:147) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:379) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:605) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3138) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:880) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:243) at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:214) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:204) at rocks.xmpp.extensions.caps.EntityCapabilitiesManager.readFromCache(EntityCapabilitiesManager.java:263) at rocks.xmpp.extensions.caps.EntityCapabilitiesManager.handlePresence(EntityCapabilitiesManager.java:296) at rocks.xmpp.core.session.XmppSession.notifyStanzaListeners(XmppSession.java:426) at rocks.xmpp.core.session.XmppSession.access$600(XmppSession.java:99) at rocks.xmpp.core.session.XmppSession$9.run(XmppSession.java:943) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

Comments (6)

  1. Log in to comment