Project

General

Profile

Error in STREAM_MOVED command

Mauro Carrio
Added almost 5 years ago

Hi,

We have implemented StreamManagement and I often get this error:

tigase-console.log

2014-03-02 09:34:52.312 [in_7-sess-man]    AbstractMessageReceiver$QueueListener.run()  SEVERE: [in_7-sess-man] Exception during packet processing: from=c2s@localhost.localdomain/10.40.58.209_5222_187.122.3.225_49306, to=sess-man@localhost.localdomain, DATA=<iq to="sess-man@localhost.localdomain" from="c2s@localhost.localdomain/10.40.58.209_5222_187.122.3.225_49306" id="moved" type="set"><command node="STREAM_MOVED" xmlns="http://jabber.org/protocol/commands"><x xmlns="jabber:x:data" type="submit"><field var="old-conn-jid"><value>c2s@localhost.localdomain/10.40.58.209_5222_201.23.160.175_12500</value></field></x></command></iq>, SIZE=377, XMLNS=null, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=set
java.lang.NullPointerException
    at tigase.server.xmppsession.SessionManager.processCommand(SessionManager.java:1772)
    at tigase.server.xmppsession.SessionManager.processPacket(SessionManager.java:540)
    at tigase.server.AbstractMessageReceiver$QueueListener.run(AbstractMessageReceiver.java:1475)

Looking at that line in code I supposed that the oldConn object is null and there is no condition that validates that, but which could be the conditions to raise the error? Not always happens.

I'm using the last commit of StreamManagementIOService.java on Tigase 5.2.0 release.

Thanks a lot.


Replies (1)

Added by Andrzej Wójcik IoT 1 CloudTigaseTeam almost 5 years ago

I've never received this error on our installation, but it is possible only if ClientConnectionManager still keeps information about possibility to resume session which was somehow removed from map of available sessions in SessionManager. It is hard to tell what removed this resumable connection from list of active sessions in SessionManager. In upcoming version I will add proper check if session we try to resume is still available in SessionManager which will return failure to client if session is not available.

    (1-1/1)