Add contact dialog makes Spark lose connection

Description

when leaving contact add field empty and trying to add 'null'-user connection closes

=====================================
has nothing to do with autocomplete
=====================================

http://community.igniterealtime.org/message/211072#211072

In latest SVN build, using the 'add contact' autocomplete with no one filled in causes spark to lose connection to the server.

<pre>
Apr 6, 2011 8:50:36 AM org.jivesoftware.spark.util.log.Log error
SEVERE: Closing Group Chat Room error.
java.lang.IllegalStateException: Not connected to server.
at org.jivesoftware.smack.XMPPConnection.sendPacket(XMPPConnection.java:445)
at org.jivesoftware.smackx.muc.MultiUserChat.leave(MultiUserChat.java:534)
at

Environment

None

Activity

Show:
wroot
August 20, 2016, 8:17 AM

Well, after 5 years this seems to be finally fixed by removing a redundant vCard lookup, which seemed to make Spark disconnect on some systems (Windows). https://github.com/igniterealtime/Spark/pull/195

wroot
August 30, 2013, 8:43 AM
Edited

A user says it started to happen with Spark 2.5.7 after the Openfire upgrade to 3.8.2 (was fine with 3.6.4), so it looks like it is related to Openfire, though i think Spark shouldn't behave like that http://community.igniterealtime.org/message/232378#232378 He is using MySQL 5.5.31-0ubuntu0.12.04.2

wroot
October 30, 2011, 12:43 PM

Another piece of information on this http://community.igniterealtime.org/message/217885#217885 Looks like this affects 2.5.8 version too (i'm able to reproduce the disconnect on my test 3.7.1 server when pressing cancel in Add Contact dialog). Also a user states this issue started with the upgrade from 3.6.4 to 3.7.1 of Openfire. I can't yet reproduce this on my fresh 3.6.4 installation and upgrading to 3.7.1. Spark works fine. Probably some other changes to the database (plugins installations, removal, users manipulations, etc.) affect this, but i can't just try installing and playing with every plugin to test that.

Holger Bergunde
June 27, 2011, 8:00 PM

tried to reproduce this bug the way walter described, but cannot reproduce it. i used spark 2.6.2. against igniterealtime.org with win7 x64 prof.

Walter Ebeling
June 25, 2011, 12:25 PM
Edited

Mhmh, double checked with 2.6.2 against igniterealtime.org and it breaks the connection once, after that it works. Works against my production server 3.6.4. Strange.

I am able to reproduce it. With a fresh profile on W7, I can cause a crash for one time, if I perfom the same steps as shown in the screen show. This works against the igniterealtime.org server.

Reproduction steps:
create a fresh profile
login against igniterealtime.org
go to add contacts
leave all fields empty
press add contact
client looses connection
restart client
login on ignite
add contact
leave fields empty
press add contact
client reports that there has to be some input in the fields (this is missing the first time).

The error log shows:

Exception occurred during event dispatching:
java.lang.IllegalStateException: Must be logged in to XMPP server.
at org.jivesoftware.smackx.PrivateDataManager.<init>(PrivateDataManager.java:140)
at org.jivesoftware.sparkimpl.plugin.scratchpad.Tasks.getTaskList(Tasks.java:197)
at org.jivesoftware.sparkimpl.plugin.scratchpad.TaskNotification$2.run(TaskNotification.java:73)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.Dialog$1.run(Unknown Source)
at java.awt.Dialog$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Unknown Source)
at javax.swing.JOptionPane.showOptionDialog(Unknown Source)
at javax.swing.JOptionPane.showMessageDialog(Unknown Source)
at javax.swing.JOptionPane.showMessageDialog(Unknown Source)
at org.jivesoftware.spark.ui.RosterDialog.addContactButton(RosterDialog.java:626)
at org.jivesoftware.spark.ui.RosterDialog.access$500(RosterDialog.java:89)
at org.jivesoftware.spark.ui.RosterDialog$5.actionPerformed(RosterDialog.java:357)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at com.jtattoo.plaf.BaseButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(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)

Fixed

Priority

Major

Assignee

Guus der Kinderen

Reporter

Walter Ebeling