S2S Issues with gmail.com

Hello,

I recently stood up an Openfire server (running version close to trunk) and have been noticing a problem maintaining a stable s2s session with gmail.com Jabber server. I even notice this happening on the Openfire running igniterealtime. Attempting to connect to open_chat@conference.igniterealtime.org from an account logged into Gmail does not immediately work. When I look at the server sessions on the console, I see two incoming sessions and nothing outgoing. Or sometimes I will notice the admin console will hang attempting to view the active server sessions page.

Tracing the packets shows the request going to google, but nothing happens…

If I wait long enough, maybe 60-120 minutes, google responds and I am connected to the room.

Anybody else noticing this?

daryl

PS. Here’s an example error being logged by openfire. It is almost like the s2s code is getting lost or confused, shrug.

2014.04.07 10:28:22 org.jivesoftware.openfire.server.ServerDialback - ServerDialback: OS - Ignoring unexpected answer in validation from: gmail.com id: F69CEDBF3418309E for domain: gmail.com answer:

Ignite’s openfire (current master branch) is not establishing an outbound s2s to gmail. Instead logging messages like:

2014.04.09 10:07:15 org.jivesoftware.openfire.server.OutgoingSessionPromise - Error returning error to sender. Original packet:

org.jivesoftware.openfire.PacketException: Cannot route packet of type IQ or Presence to bare JID:

at org.jivesoftware.openfire.spi.RoutingTableImpl.routeToLocalDomain(RoutingTableI mpl.java:296)

at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:238)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.return ErrorToSender(OutgoingSessionPromise.java:299)

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

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:744)

from=“igniterealtime.org

to=“igniterealtime.org

should those be “xmpp.igniterealtime.org”?

maybe a ticket should be filed?

Hi Jason,

I am unsure why stanzas like that are happening. The server’s xmpp.domain is igniterealtime.org, xmpp.igniterealtime.org is just the SRV record. I’d open a ticket, but need to figure out what the bug is first. At least ignite is easily reproducing the issue.

daryl

When I restarted openfire on ignite this morning, this is the first error message in the logs with gmail s2s

2014.04.10 08:19:19 org.jivesoftware.openfire.server.OutgoingSessionPromise - Ou

tgoingSessionPromise: Error sending packet to remote server:

1

java.lang.Exception: Failed to create connection to remote server

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

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

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:744)

2014.04.10 08:24:42 org.jivesoftware.openfire.server.OutgoingSessionPromise - Er

ror returning error to sender. Original packet:

org.jivesoftware.openfire.PacketException: Cannot route packet of type IQ or Presence to bare JID:

at org.jivesoftware.openfire.spi.RoutingTableImpl.routeToLocalDomain(RoutingTableI mpl.java:296)

at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:238)

at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.return ErrorToSender(OutgoingSessionPromise.java:299)

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

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

at java.lang.Thread.run(Thread.java:744)

Should we install the previous version and then some one of the older nightly builds to make sure that this was introduced recently? On ignite there are not too much users online and they all want to test whether reconnections works fine anyway.

I did a test reverting this patch http://fisheye.igniterealtime.org/changelog/openfiregit?cs=b0a3aa4ce1127d36da3ad 94e2ad709a33296c3e6 , but it did not have an impact. Hmmmm

Setting

xmpp.server.dialback.enabled

true

appears to have helped the situation. It was set to false for some reason on ignite.