Can't see people online if they are already online when I sign in


See this thread:

"I've started to experience some problems w/ gtalk protocol.

I don't know when it exactly started but when I log in, I cannot get the online presence of people unless they sign in again. In other words, I cannot see people online if they are already online when I sign in.

I checked the info log, did not see any interesting data."


Happens to me on an OS-X box running the following java runtime:
java version "1.6.0_03-p3"
Java(TM) SE Runtime Environment (build 1.6.0_03-p3-landonf_19_aug_2008_14_55-b00)
Java HotSpot(TM) Client VM (build 1.6.0_03-p3-landonf_19_aug_2008_14_55-b00, mixed mode)


daniel vultur
September 21, 2010, 10:24 PM

This was resolved in a recent patch!

Lars Hoogweg
March 14, 2010, 10:45 AM

I've found a repeatable pattern to this problem:

1. Restart Openfire Server
2. Connect to Openfire (using Pidgin), no GTalk contacts appear.
3. Disconnect/reconnect, still no gtalk contacts appear.
4. Disconnect/reconnect a second time, and gtalk contacts appear!

I've also tailed the error.log whilst pidgin logs in to openfire. For Step 4, I get nothing output in error.log but for steps 2 and 3 I get multiple instances of the following error for different gtalk contacts:

Could not route packet
org.jivesoftware.openfire.PacketException: Cannot route packet of type IQ or Presence to bare JID:
<presence type="error" to="lars@myserver" from="my_gtalk_contact\"/>
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(
at org.jivesoftware.openfire.PresenceRouter.handle(
at org.jivesoftware.openfire.PresenceRouter.route(
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(
at org.jivesoftware.openfire.component.InternalComponentManager.sendPacket(
at net.sf.kraken.BaseTransport.sendPacket(
at net.sf.kraken.protocols.xmpp.XMPPListener.presenceChanged(
at org.jivesoftware.smack.Roster.fireRosterPresenceEvent(
at org.jivesoftware.smack.Roster.access$600(
at org.jivesoftware.smack.Roster$PresencePacketListener.processPacket(
at org.jivesoftware.smack.PacketReader$ListenerWrapper.notifyListener(
at org.jivesoftware.smack.PacketReader$
at java.util.concurrent.Executors$
at java.util.concurrent.FutureTask$Sync.innerRun(
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
at java.util.concurrent.ThreadPoolExecutor$

I also enabled debug logging in openfire and tailed the logs when pidgin logs in to openfire, and in the debug log, I get the following line output only for step 4 and not at steps 2 or 3:

2010.03.14 20:26:45 XMPP: Presence changed detected type available and mode away for
2010.03.14 20:26:45 Updating status [away,"This is my status message"] for {Buddy: my_gtalk_contact\ (Nickname: (Groups: [Google])}
2010.03.14 20:26:45 gtalk: Sending packet: <presence to="lars@myserver" from="my_gtalk_contact\"><show>away</show><status>"This is my status message"</status><x xmlns="vcard-temp:x:update"><photo><




Daniel Henninger


Lars Hoogweg