Receiving new Spark message opens window but doesn't display message

When wroot finds the time to merge my new changes at SPARK-1798: Handle exception thrown by eventhandler. by guusdk · Pull Request #217 · igniterealtime/Spark · GitHub and creates a new download, you’ll get a client that does a better job at logging errors. Perhaps that will tell us something.

New build http://download.igniterealtime.org/spark/dailybuilds/spark_2_8_0_895.exe

So, Gretchen, you have to look in the logs for something relevant again with this build.

Btw, Guus, as Gretchen reported first, it started happening with 4.0.3. I have seen something similar just once and it was also after 4.0.3 upgrade. So this might still be related to some change in Openfire. It also happens with 2.7.7, so it wasn’t Smack 4 update.

I now have Spark 2.8.0.895 installed. Here’s another excerpt from my spark raw packets received around another message that didn’t show in my spark window. (The message itself is just “Sure” because that person was responding to a spark I’d sent him before I installed the new version).

<iq type="get" id="713-50216" from="OpenFireServer" to="gretchen@OpenFireServer/Spark 2.6.3"><ping xmlns="urn:xmpp:ping"/></iq>
<presence id="I6323-10" from="nancy@OpenFireServer/Spark 2.6.3" to="gretchen@OpenFireServer"><status>Online</status><priority>1</priority><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://www.igniterealtime.org/projects/smack" ver="TJuVIXqTCVfJSthaPu4MtTbaf9A="/></presence>
<presence id="8Gm29-10" from="angel@OpenFireServer/Spark" to="gretchen@OpenFireServer"><status>Online</status><priority>1</priority><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://www.igniterealtime.org/projects/smack" ver="TJuVIXqTCVfJSthaPu4MtTbaf9A="/></presence>
<presence id="719A1-10" from="andy@OpenFireServer/Spark 2.6.3" to="gretchen@OpenFireServer"><status>Online</status><priority>1</priority><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://www.igniterealtime.org/projects/smack" ver="TJuVIXqTCVfJSthaPu4MtTbaf9A="/></presence>
<message to="gretchen@OpenFireServer/Spark 2.6.3" id="719A1-1777" type="chat" from="andy@OpenFireServer/Spark 2.6.3"><thread>HcNo2r</thread><composing xmlns="http://jabber.org/protocol/chatstates"/></message>
<message to="gretchen@OpenFireServer/Spark 2.6.3" id="719A1-1778" type="chat" from="andy@OpenFireServer/Spark 2.6.3"><body>Sure</body><thread>HcNo2r</thread><x xmlns="jabber:x:event"><offline/><composing/></x><active xmlns="http://jabber.org/protocol/chatstates"/></message>
<message to="gretchen@OpenFireServer/Spark 2.6.3" id="719A1-1780" type="chat" from="andy@OpenFireServer/Spark 2.6.3"><thread>HcNo2r</thread><paused xmlns="http://jabber.org/protocol/chatstates"/></message>

Also, while my spark error log is silent, my warning log has these warnings:

WARNING: chatRoomActivated:  andy@OpenFireServer
Sep 09, 2016 2:47:21 PM org.jivesoftware.spark.util.log.Log warning
WARNING: chatRoomOpened:  andy@OpenFireServer
Sep 09, 2016 2:58:18 PM org.jivesoftware.spark.util.log.Log warning
WARNING: userHasJoined:  andy@OpenFireServer Spark 2.6.3
Sep 09, 2016 2:58:24 PM org.jivesoftware.spark.util.log.Log warning
WARNING: userHasJoined:  andy@OpenFireServer Spark 2.6.3

I also just realized that Spark has one other odd behavior for me: when I double click on a contact in my list, it will open a new tab in my chat window for that contact, but the window doesn’t come to the top–it flashes and stays hidden behind all my other windows. If I bring the chat window up on top of my other windows, it has the new tab for the contact I just double clicked, but that tab isn’t the selected one, whatever tab I was on before is still selected.

I’m not 100% sure they’re related, and if not, this is not an issue that I would bother to report. If it is related, I thought this may give you a hint as to what’s going wrong.

It’s somewhat suspicious that I can’t identify the source of those ‘warning’ log messages. They did point me towards more code locations where the isolation fix was needed. I’ve prepared another patch.

There’s no need to provide further packet dumps, by the way. We’ve learned what we can from them, I think.

New build is http://download.igniterealtime.org/spark/dailybuilds/spark_2_8_0_897.exe

As i understand, there is not need to provide message logs (from debugger), but error/warn logs can still have something useful.

Yes, indeed. The stanza’s (XML dumps) won’t include new insights, I think. I am hoping that with my changes, new things are written to the logfiles though, so please keep a close eye on those.

Guus, a side effect in this build. Can’t close chat window. Can only close individual tabs.

Odd. Anything in the logs?

After Spark restart first time it closes chat window, but next window can’t be closed.

warn.log (this entry is repeating for a long time though):

Rgs 12, 2016 11:19:17 AM org.jivesoftware.spark.util.log.Log warning
WARNING: Could not activate PrivacyList Privacy List: spark:blackList(active:false, default:true)

error.log:

Rgs 12, 2016 10:50:06 AM org.jivesoftware.spark.util.log.Log error
SEVERE: A SparkTabbedPaneListener (org.jivesoftware.spark.ui.ChatContainer$1@1617920) threw an exception while processing a 'tabRemoved' event (tab: 'org.jivesoftware.spark.component.tabbedPane.SparkTab[,4,28,699x473,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]', component: 'org.jivesoftware.spark.ui.rooms.ChatRoomImpl[,0,0,699x473,invalid,layout=java.awt.GridBagLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.MatteBorder@28831a,flags=9,maximumSize=,minimumSize=,preferredSize=]', index: '0').
java.lang.UnsupportedOperationException
    at java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(Unknown Source)
    at org.jivesoftware.spark.ui.ChatRoom.fireClosingListeners(ChatRoom.java:1230)
    at org.jivesoftware.spark.ui.ChatRoom.closeChatRoom(ChatRoom.java:866)
    at org.jivesoftware.spark.ui.rooms.ChatRoomImpl.closeChatRoom(ChatRoomImpl.java:187)
    at org.jivesoftware.spark.ui.ChatContainer.cleanupChatRoom(ChatContainer.java:510)
    at org.jivesoftware.spark.ui.ChatContainer.access$000(ChatContainer.java:63)
    at org.jivesoftware.spark.ui.ChatContainer$1.tabRemoved(ChatContainer.java:95)
    at org.jivesoftware.spark.component.tabbedPane.SparkTabbedPane.fireTabRemoved(SparkTabbedPane.java:318)
    at org.jivesoftware.spark.component.tabbedPane.SparkTabbedPane.close(SparkTabbedPane.java:355)
    at org.jivesoftware.spark.component.tabbedPane.SparkTabbedPane$TabPanel$1$1.finished(SparkTabbedPane.java:412)
    at org.jivesoftware.spark.util.SwingWorker.lambda$null$0(SwingWorker.java:150)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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)

Finally, I get to see one of the error messages that I introduced. Fixed the stack trace problem: https://issues.igniterealtime.org/browse/SPARK-1804

The privacy list issue is annoying, as the actual exception is being printed to your console, not to the log files. I’ve fixed that here: https://issues.igniterealtime.org/browse/SPARK-1805 . With that change, raise a new issue for the privacy list issue (including whatever stack trace is added to the warning log file).

All of these issues were unrelated @Gretchen Raff’s issue though.

Here is what was logged in my errors.log file after it happened this morning:

Sep 12, 2016 10:36:21 AM org.jivesoftware.spark.util.log.Log error
SEVERE: A SparkTabbedPaneListener (org.jivesoftware.spark.ui.ChatContainer$1@10afc28) threw an exception while processing a 'tabRemoved' event (tab: 'org.jivesoftware.spark.component.tabbedPane.SparkTab[,1,25,488x344,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]', component: 'org.jivesoftware.spark.ui.rooms.ChatRoomImpl[,0,0,488x344,invalid,layout=java.awt.GridBagLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.MatteBorder@740699,flags=9,maximumSize=,minimumSize=,preferredSize=]', index: '0').
java.lang.UnsupportedOperationException
    at java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(Unknown Source)
    at org.jivesoftware.spark.ui.ChatRoom.fireClosingListeners(ChatRoom.java:1230)
    at org.jivesoftware.spark.ui.ChatRoom.closeChatRoom(ChatRoom.java:866)
    at org.jivesoftware.spark.ui.rooms.ChatRoomImpl.closeChatRoom(ChatRoomImpl.java:187)
    at org.jivesoftware.spark.ui.ChatContainer.cleanupChatRoom(ChatContainer.java:510)
    at org.jivesoftware.spark.ui.ChatContainer.access$000(ChatContainer.java:63)
    at org.jivesoftware.spark.ui.ChatContainer$1.tabRemoved(ChatContainer.java:95)
    at org.jivesoftware.spark.component.tabbedPane.SparkTabbedPane.fireTabRemoved(SparkTabbedPane.java:318)
    at org.jivesoftware.spark.component.tabbedPane.SparkTabbedPane.close(SparkTabbedPane.java:355)
    at org.jivesoftware.spark.ui.ChatContainer.closeTab(ChatContainer.java:773)
    at org.jivesoftware.spark.ui.ChatContainer.closeAllChatRooms(ChatContainer.java:543)
    at org.jivesoftware.spark.ui.ChatContainer$11.windowClosing(ChatContainer.java:1253)
    at java.awt.AWTEventMulticaster.windowClosing(Unknown Source)
    at java.awt.Window.processWindowEvent(Unknown Source)
    at javax.swing.JFrame.processWindowEvent(Unknown Source)
    at java.awt.Window.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at com.jtattoo.plaf.BaseTitlePane.close(BaseTitlePane.java:295)
    at com.jtattoo.plaf.BaseTitlePane$CloseAction.actionPerformed(BaseTitlePane.java:568)
    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(BaseButtonListener.java:60)
    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.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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)

That error is not related. Was just a temporary side effect. You should update to http://download.igniterealtime.org/spark/dailybuilds/spark_2_8_0_899.exe

Ok, now I’m running spark version 2.8.0.899. Here is everything that was logged the last time this happened:

Sep 12, 2016 12:27:04 PM org.jivesoftware.spark.util.log.Log error
SEVERE:
java.lang.ArrayIndexOutOfBoundsException: 22
    at java.util.ArrayList.add(Unknown Source)
    at org.jivesoftware.spark.ui.ContactList.lambda$addSubscriptionListener$17(ContactList.java:1865)
    at org.jivesoftware.smack.AbstractXMPPConnection$3.run(AbstractXMPPConnection.java:1105)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source) Sep 12, 2016 12:27:05 PM org.jivesoftware.spark.util.log.Log error
SEVERE:
java.lang.NullPointerException
    at org.jivesoftware.spark.ui.ContactList.updateUserPresence(ContactList.java:309)
    at org.jivesoftware.spark.ui.ContactList.access$900(ContactList.java:73)
    at org.jivesoftware.spark.ui.ContactList$13.lambda$run$0(ContactList.java:1880)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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) Sep 12, 2016 12:27:05 PM org.jivesoftware.spark.util.log.Log error
SEVERE:
java.lang.NullPointerException
    at org.jivesoftware.spark.ui.ContactList.updateUserPresence(ContactList.java:309)
    at org.jivesoftware.spark.ui.ContactList.access$900(ContactList.java:73)
    at org.jivesoftware.spark.ui.ContactList$13.lambda$run$0(ContactList.java:1880)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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) Sep 12, 2016 12:27:05 PM org.jivesoftware.spark.util.log.Log error
SEVERE:
java.lang.NullPointerException
    at org.jivesoftware.spark.ui.ContactList.updateUserPresence(ContactList.java:309)
    at org.jivesoftware.spark.ui.ContactList.access$900(ContactList.java:73)
    at org.jivesoftware.spark.ui.ContactList$13.lambda$run$0(ContactList.java:1880)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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) Sep 12, 2016 12:27:05 PM org.jivesoftware.spark.util.log.Log error
SEVERE:
java.lang.NullPointerException
    at org.jivesoftware.spark.ui.ContactList.updateUserPresence(ContactList.java:309)
    at org.jivesoftware.spark.ui.ContactList.access$900(ContactList.java:73)
    at org.jivesoftware.spark.ui.ContactList$13.lambda$run$0(ContactList.java:1880)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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) Sep 12, 2016 12:27:05 PM org.jivesoftware.spark.util.log.Log error
SEVERE:
java.lang.NullPointerException
    at org.jivesoftware.spark.ui.ContactList.updateUserPresence(ContactList.java:309)
    at org.jivesoftware.spark.ui.ContactList.access$900(ContactList.java:73)
    at org.jivesoftware.spark.ui.ContactList$13.lambda$run$0(ContactList.java:1880)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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) Sep 12, 2016 12:27:05 PM org.jivesoftware.spark.util.log.Log error
SEVERE:
java.lang.NullPointerException
    at org.jivesoftware.spark.ui.ContactList.updateUserPresence(ContactList.java:309)
    at org.jivesoftware.spark.ui.ContactList.access$900(ContactList.java:73)
    at org.jivesoftware.spark.ui.ContactList$13.lambda$run$0(ContactList.java:1880)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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) Sep 12, 2016 12:27:05 PM org.jivesoftware.spark.util.log.Log error
SEVERE:
java.lang.NullPointerException
    at org.jivesoftware.spark.ui.ContactList.updateUserPresence(ContactList.java:309)
    at org.jivesoftware.spark.ui.ContactList.access$900(ContactList.java:73)
    at org.jivesoftware.spark.ui.ContactList$13.lambda$run$0(ContactList.java:1880)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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) Sep 12, 2016 12:27:05 PM org.jivesoftware.spark.util.log.Log error
SEVERE:
java.lang.NullPointerException
    at org.jivesoftware.spark.ui.ContactList.updateUserPresence(ContactList.java:309)
    at org.jivesoftware.spark.ui.ContactList.access$900(ContactList.java:73)
    at org.jivesoftware.spark.ui.ContactList$13.lambda$run$0(ContactList.java:1880)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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) Sep 12, 2016 12:27:05 PM org.jivesoftware.spark.util.log.Log error
SEVERE:
java.lang.NullPointerException
    at org.jivesoftware.spark.ui.ContactList.updateUserPresence(ContactList.java:309)
    at org.jivesoftware.spark.ui.ContactList.access$900(ContactList.java:73)
    at org.jivesoftware.spark.ui.ContactList$13.lambda$run$0(ContactList.java:1880)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(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)

I wonder if these errors relate to your original problem. They are caused by a concurrency issue in our contact list (where it handles things like status updates). I’ve checked in a fix as part of https://issues.igniterealtime.org/browse/SPARK-1808

http://download.igniterealtime.org/spark/dailybuilds/spark_2_8_0_900.exe

1 Like

Unfortunately the issue remains in the 2.8.0.900 build

Yes, 900 build was unlikely to fix the hidden message issue. But it might fix Gretchen’s issue with new tab opening as minimized when double clicking on a contact. I suppose.

I was able to fix the problem by changing some of the settings under Preferences - Notifications.

What exactly have you changed?