Error in STREAM_MOVED command
We have implemented StreamManagement and I often get this error:
2014-03-02 09:34:52.312 [in_7-sess-man] AbstractMessageReceiver$QueueListener.run() SEVERE: [in_7-sess-man] Exception during packet processing: firstname.lastname@example.org/10.40.58.209_5222_188.8.131.52_49306, email@example.com, DATA=<iq to="firstname.lastname@example.org" from="email@example.com/10.40.58.209_5222_184.108.40.206_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>firstname.lastname@example.org/10.40.58.209_5222_220.127.116.11_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.
Added by Andrzej Wójcik 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.