Odd behavior: All buddies are listed as ''offline''

I’'m liking the nice simple IU of Spark, and am looking at it as possibly becoming the "New Official Office Jabber Client"™.

However, with my own testing, when I log onto my Jabber Server (Jive Messenger 2.1.4), it shows all the contacts as offline. That is, I actually see the roster of all my users, but they’'re all greyed out. I can log out and re-login with Exodus and everyone is online.

Any thoughts?

-Rick

Don’‘t know if it’‘s connected or not but I’'ve found ‘‘Unfiled’’ contacts to show as offline. By simply moving the contact to a group they showed their status correctly

James

Hi Rick,

I’‘m unable to repro your problem, but have been working hard to remove any kinks in the Contact List. Could you attach the error.log and warning.log files located under the logs directory of your spark install? I’'m wondering if an exception is thrown and not being handled correctly.

Thanks,

Derek

The Error.log:


Nov 21, 2005 10:29:02 AM com.jivesoftware.Log logError

SEVERE: Cannot retrieve avatar bytes.

java.lang.ArrayIndexOutOfBoundsException: 2305

at org.jivesoftware.smack.util.StringUtils.decodeBase64(StringUtils.java:362)

at org.jivesoftware.smack.util.StringUtils.decodeBase64(StringUtils.java:341)

at org.jivesoftware.smackx.packet.VCard.getAvatar(VCard.java:366)

at com.jivesoftware.workspaces.StatusManager.populateWithVCardInfo(StatusManager.j ava:441)

at com.jivesoftware.workspaces.StatusManager.access$500(StatusManager.java:60)

at com.jivesoftware.workspaces.StatusManager$10.finished(StatusManager.java:410)

at com.jivesoftware.util.SwingWorker$2$1.run(SwingWorker.java:122)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

Nov 21, 2005 10:29:02 AM com.jivesoftware.Log logError

SEVERE: Unable to contact shared group info.

(503)

at org.jivesoftware.smackx.SharedGroupManager.getSharedGroups(SharedGroupManager.j ava:49)

at com.jivesoftware.chat.components.ContactList.buildContactList(ContactList.java: 335)

at com.jivesoftware.chat.components.ContactList.(CheckUpdates.java:83)

at com.jivesoftware.MainWindow.checkUpdate(MainWindow.java:418)

at com.jivesoftware.MainWindow.access$200(MainWindow.java:51)

at com.jivesoftware.MainWindow$8.run(MainWindow.java:353)

at java.util.TimerThread.mainLoop(Unknown Source)

at java.util.TimerThread.run(Unknown Source)

Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: 2305

at org.jivesoftware.smack.util.StringUtils.decodeBase64(StringUtils.java:362)

at org.jivesoftware.smack.util.StringUtils.decodeBase64(StringUtils.java:341)

at org.jivesoftware.smackx.packet.VCard.getAvatar(VCard.java:366)

at com.jivesoftware.profile.VCardManager.getAvatarIcon(VCardManager.java:506)

at com.jivesoftware.profile.VCardManager.showProfile(VCardManager.java:132)

at com.jivesoftware.profile.VCardManager$6$1.finished(VCardManager.java:313)

at com.jivesoftware.util.SwingWorker$2$1.run(SwingWorker.java:122)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: 2305

at org.jivesoftware.smack.util.StringUtils.decodeBase64(StringUtils.java:362)

at org.jivesoftware.smack.util.StringUtils.decodeBase64(StringUtils.java:341)

at org.jivesoftware.smackx.packet.VCard.getAvatar(VCard.java:366)

at com.jivesoftware.profile.VCardManager.populateVCardUI(VCardManager.java:489)

at com.jivesoftware.profile.VCardManager.access$400(VCardManager.java:64)

at com.jivesoftware.profile.VCardManager$8.finished(VCardManager.java:368)

at com.jivesoftware.util.SwingWorker$2$1.run(SwingWorker.java:122)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

The warnings.log:


Nov 18, 2005 1:11:06 PM com.jivesoftware.Log logError

SEVERE: Connection closed on error.

java.net.SocketException: Connection reset

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$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 java.io.BufferedReader.fill(Unknown Source)

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

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

at org.jivesoftware.smack.util.ObservableReader.read(ObservableReader.java:42)

at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2947)

at org.xmlpull.mxp1.MXParser.more(MXParser.java:2996)

at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1143)

at org.xmlpull.mxp1.MXParser.next(MXParser.java:1092)

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

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

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

Nov 18, 2005 1:57:51 PM com.jivesoftware.Log logError

SEVERE: Connection closed on error.

java.net.SocketException: Connection reset

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$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 java.io.BufferedReader.fill(Unknown Source)

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

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

at org.jivesoftware.smack.util.ObservableReader.read(ObservableReader.java:42)

at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2947)

at org.xmlpull.mxp1.MXParser.more(MXParser.java:2996)

at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1143)

at org.xmlpull.mxp1.MXParser.next(MXParser.java:1092)

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

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

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

Nov 18, 2005 2:46:36 PM com.jivesoftware.Log logError

SEVERE: Error in disco discovery.

(404)

at org.jivesoftware.smackx.ServiceDiscoveryManager.discoverInfo(ServiceDiscoveryMa nager.java:360)

at org.jivesoftware.smackx.ServiceDiscoveryManager.discoverInfo(ServiceDiscoveryMa nager.java:326)

at com.jivesoftware.chat.groups.Conferences$4$1.construct(Conferences.java:303)

at com.jivesoftware.util.SwingWorker$2.run(SwingWorker.java:115)

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

Nov 18, 2005 2:46:40 PM com.jivesoftware.Log logError

SEVERE: Error in disco discovery.

(400)

at org.jivesoftware.smackx.ServiceDiscoveryManager.discoverInfo(ServiceDiscoveryMa nager.java:360)

at org.jivesoftware.smackx.ServiceDiscoveryManager.discoverInfo(ServiceDiscoveryMa nager.java:326)

at com.jivesoftware.chat.groups.Conferences$4$1.construct(Conferences.java:303)

at com.jivesoftware.util.SwingWorker$2.run(SwingWorker.java:115)

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

Nov 21, 2005 10:08:21 AM com.jivesoftware.Log logError

SEVERE: Cannot retrieve avatar bytes.

java.lang.ArrayIndexOutOfBoundsException: 2305

at org.jivesoftware.smack.util.StringUtils.decodeBase64(StringUtils.java:362)

at org.jivesoftware.smack.util.StringUtils.decodeBase64(StringUtils.java:341)

at org.jivesoftware.smackx.packet.VCard.getAvatar(VCard.java:366)

at com.jivesoftware.workspaces.StatusManager.populateWithVCardInfo(StatusManager.j ava:441)

at com.jivesoftware.workspaces.StatusManager.access$500(StatusManager.java:60)

at com.jivesoftware.workspaces.StatusManager$10.finished(StatusManager.java:410)

at com.jivesoftware.util.SwingWorker$2$1.run(SwingWorker.java:122)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

Nov 21, 2005 10:08:21 AM com.jivesoftware.Log logError

SEVERE: Unable to contact shared group info.

(503)

at org.jivesoftware.smackx.SharedGroupManager.getSharedGroups(SharedGroupManager.j ava:49)

at com.jivesoftware.chat.components.ContactList.buildContactList(ContactList.java: 335)

at com.jivesoftware.chat.components.ContactList.(ContactList.java:129)

at com.jivesoftware.chat.support.Workspace.buildLayout(Workspace.java:121)

at com.jivesoftware.LoginDialog.startCommunicator(LoginDialog.java:599)

at com.jivesoftware.LoginDialog.access$700(LoginDialog.java:64)

at com.jivesoftware.LoginDialog$LoginPanel$1.construct(LoginDialog.java:420)

at com.jivesoftware.util.SwingWorker$2.run(SwingWorker.java:115)

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

So a couple exceptions I see ;). What server is this running against? I’'m surprised the conference rooms are not being discovered.

So a couple exceptions I see ;). What server is this

running against? I’'m surprised the conference rooms

are not being discovered.

It’'s running against Jive Messenger 2.1.4.

It’'s running against Jive Messenger 2.1.4.

and is there something important stopping you from upgrading to say 2.3.0?

and is there something important stopping you from

upgrading to say 2.3.0?

Well, while Jive Messenger has continued to add exciting new features, there was frankly nothing that I needed. Since 2.1.4 was running perfectly for me, it’'s somewhat silly to upgrade just for the sake of upgrading.

But, that said, Spark was compelling enough that I figured it was worth seeing if it was my version. I just upgraded to 2.3.0, and now Spark works perfectly!

So, that leaves the poor developer at a crossroads:

  1. Since Spark is “just a Jabber client”, do you figure out why it can’'t work with a standard (albeit old version) Jabber server?

  2. Or, punt and say “Spark requires Jive Messenger 2.3.0”?

For correctness, I would hope the former. But, for time and effort, I can understand the later…

-Rick

Since 2.1.4 was running perfectly for

me, it’'s somewhat silly to upgrade just for the sake

of upgrading.

Well, JM is running perfectly for me starting from some old version too. But there are not only new features on the changes list. Bugfixes. And i think there are not all changes listed. Some small optimizations to the code or performance can be made build by build. And i just hope that upgrading will save my time and nerves in future. I had problems after upgrading to 2.2.1, though i’'m not sure what was the cause of that.

i have just tried Spark with JM 2.2.2 and it works fine.

Rick,

So, that leaves the poor developer at a crossroads:

  1. Since Spark is “just a Jabber client”, do you

figure out why it can’'t work with a standard (albeit

old version) Jabber server?

  1. Or, punt and say "Spark requires Jive Messenger

2.3.0"?

For correctness, I would hope the former. But, for

time and effort, I can understand the later…

I think the most likely scenario is that you were running into 2.1.4 bugs. Looking back through the changelog, there’‘s a pretty huge number of bugs fixed since that release. It would be great to isolate exactly what’‘s going wrong, but that probably wouldn’'t be the best investment in time as you mention.

Thanks,

Matt