SAXParseException in readRosterFromCache (RosterManager.java:330)

Issue #27 closed
Markus KARG created an issue

Version master d63b0fa

Stack Trace

IN : <iq id="4d4292b4-41af-47a3-80dd-643f3e380be6" type="result"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>mkarg@jabber.de/mausloch</jid></bind></iq>
Feb 23, 2015 7:31:49 PM rocks.xmpp.core.roster.RosterManager readRosterFromCache
WARNING: Could not read roster from cache.
javax.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Unexpected end of file.]
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unknown Source)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
        at rocks.xmpp.core.roster.RosterManager.readRosterFromCache(RosterManager.java:330)
        at rocks.xmpp.core.roster.RosterManager.requestRoster(RosterManager.java:498)
        at rocks.xmpp.core.session.XmppSession.loginInternal(XmppSession.java:956)
        at rocks.xmpp.core.session.XmppSession.connect(XmppSession.java:759)
        at rocks.xmpp.core.session.XmppSession.connect(XmppSession.java:673)
        at rocks.xmpp.core.session.ReconnectionManager$2.run(ReconnectionManager.java:137)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Vorzeitiges Dateiende.
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
        ... 17 more

OUT: <iq id="bd17fdd7-54c0-4ade-8d2c-6b101e36dabe" type="get"><query xmlns="jabber:iq:roster" ver=""></query></iq>

Comments (7)

  1. Christian Schudt repo owner

    hm, could you have a look at your cache directory. There should be a "rosterver" folder, containing a *.xml file. It should contain valid XML (your roster). Is it empty maybe?

  2. Christian Schudt repo owner

    Ok. Unfortunately I couldn't reproduce it, but I suspect I was missing a flush() while writing to the cache. Changed it with 0db827ceb7a6b5e42476f66ff613074d589f2481

    Maybe you could delete your local cache (rosterver folder) and report back if it fixes the problem.

    Strangely, similar logic in the EntityCapabilitiesManager ommitted also the flush, but appearently it always worked.

  3. Markus KARG reporter

    Tried on two PCs using master 2a3c456 (which includes 0db827c) and could not reproduce anymore. :-)

  4. Log in to comment