Jive Messenger is installed on server, which has two domain names: mydomain.com and gate.mydomain.com. JM uses ‘‘mydomain.com’’ as its domain name. Also I have account someone@gate.mydomain.com in my roster. When I’'m trying to reconnect to server, Jive performs s2s connection to host gate.mydomain.com (I see it in logs). But gate.mydomain.com has the same ip-address as mydomain.com! As the result, Jive tries to connect to itself. In this case, NullPointerException message occurs in error.log:
2005.08.30 20:32:44 org.jivesoftware.messenger.handler.PresenceUpdateHandler.process(PresenceUpdateH andler.java:130) Internal server error
java.lang.NullPointerException
at org.jivesoftware.messenger.SessionManager.sessionAvailable(SessionManager.java: 534)
at org.jivesoftware.messenger.ClientSession.setPresence(ClientSession.java:479)
at org.jivesoftware.messenger.handler.PresenceUpdateHandler.process(PresenceUpdate Handler.java:92)
at org.jivesoftware.messenger.handler.PresenceUpdateHandler.process(PresenceUpdate Handler.java:141)
at org.jivesoftware.messenger.PresenceRouter.handle(PresenceRouter.java:87)
at org.jivesoftware.messenger.PresenceRouter.route(PresenceRouter.java:61)
at org.jivesoftware.messenger.PacketRouter.route(PacketRouter.java:73)
at org.jivesoftware.messenger.net.SocketReader.processPresence(SocketReader.java:3 01)
at org.jivesoftware.messenger.net.ClientSocketReader.processPresence(ClientSocketR eader.java:49)
at org.jivesoftware.messenger.net.SocketReader.readStream(SocketReader.java:208)
at org.jivesoftware.messenger.net.SocketReader.run(SocketReader.java:111)
at java.lang.Thread.run(Unknown Source)
And a lot of messages like:
2005.08.30 20:34:44 org.jivesoftware.messenger.net.SocketReader.run(SocketReader.java:145) Connection closed before session established
Socket[addr=/127.0.0.1,port=32949,localport=5269]
Also in debug.log I see SocketException messages:
2005.08.30 20:35:45 Finishing Outgoing Server Reader. No session to close.
java.net.SocketException: Socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2971)
at org.xmlpull.mxp1.MXParser.more(MXParser.java:3025)
at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
at org.xmlpull.mxp1.MXParser.nextToken(MXParser.java:1100)
at org.dom4j.io.XPPPacketReader.parseDocument(XPPPacketReader.java:268)
at org.jivesoftware.messenger.server.OutgoingServerSocketReader$1.run(OutgoingServ erSocketReader.java:91)
In this case I can’‘t send presence packets for users in my roster and even sometimes I can’'t connect to server.