powered by Jive Software

Jive performs S2S connections to itself

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.

I’'m sorry, this problem was already discussed in another thread.