Server randomly drops connections

I’m running Openfire 3.3.2 (on windows) and every morning it drops all of the connections and boots everyone from the conference rooms.

In the warn log there are 12 of these:

2007.08.10 07:54:13 Closing session due to incorrect hostname in stream header. Host: talk.rad.msu.edu. Connection: org.jivesoftware.openfire.net.SocketConnection@16f2b35 socket: Socket[http://addr=/172.16.0.113,port=3706,localport=5269|http://addr=/172.16.0.113,por t=3706,localport=5269] session: null

And in the error log there are 12 of these:

2007.08.10 07:54:13 [org.jivesoftware.openfire.session.OutgoingServerSession.createOutgoingSession( OutgoingServerSession.java:258)

] Error trying to connect to remote server: conference.talk.rad.msu.edu(DNS lookup: conference.talk.rad.msu.edu:5269)

java.net.UnknownHostException: conference.talk.rad.msu.edu

at java.net.PlainSocketImpl.connect(Unknown Source)

at java.net.SocksSocketImpl.connect(Unknown Source)

at java.net.Socket.connect(Unknown Source)

at org.jivesoftware.openfire.session.OutgoingServerSession.createOutgoingSession(O utgoingServerSession.java:253)

at org.jivesoftware.openfire.session.OutgoingServerSession.authenticateDomain(Outg oingServerSession.java:142)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPa cket(OutgoingSessionPromise.java:199)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(Ou tgoingSessionPromise.java:184)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

And in the spark log (note the timestamp is different?)

Aug 9, 2007 7:43:17 PM org.jivesoftware.spark.util.log.Log error

SEVERE: Connection closed on error.

java.net.SocketTimeoutException: Read timed out

at java.net.SocketInputStream.socketRead0(Native Method)

at java.net.SocketInputStream.read(Unknown Source)

at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)

at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(Unknown Source)

at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)

at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)

at sun.nio.cs.StreamDecoder.implRead(Unknown Source)

at sun.nio.cs.StreamDecoder.read(Unknown Source)

at java.io.InputStreamReader.read(Unknown Source)

at java.io.BufferedReader.fill(Unknown Source)

at java.io.BufferedReader.read1(Unknown Source)

at java.io.BufferedReader.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.next(MXParser.java:1093)

at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:368)

at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)

at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:76)

Now if I understand correctly, conference.talk.rad.msu.edu doesn’t actually have to be in DNS does it, thats what the SRV records are for? Why is it doing a lookup?

I’m hoping there are some clues to resolving this in the above logs as its frustrating to have to ask everyone to re-join the conference every morning.

Hey aelix,

I think that you are seeing 2 different issues: 1) dropped connections and 2) unknown s2s traffic.

Dropped connections

By default, Openfire closes connections that have been idle for 6 minutes. Clients that send heartbeats to the server do not get their connections closed. If that is not your problem then remember that Openfire will also kick idle room occupants after an inactivity of 30 minutes. You can change this setting from the admin console ( Group chat --> Other Settings ). Another option is that there is a firewall between the clients and the server that is closing long lived connections or idle connections. Any of the previously mentioned issues will remove occupants from the room.

Unknown s2s traffic

If your server domain is not talk.rad.msu.edu then any packet sent to conference.talk.rad.msu.edu will end up in a server-2-server traffic. The error you are seeing is that the server attempted to connect to conference.talk.rad.msu.edu and failed. Openfire will then try to connect to talk.rad.msu.edu assuming that that server is hosting the conference service.

Regards,

– Gato