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

I was hoping this would fix it too! But I suppose having the problem happen fairly consistently to me, and not very often to any of my users, is the best possible troubleshooting scenario.

Nothing relevant in the spark log files. I’ll give running spark from the command line a shot.

Nothing printed to the console when it happens.

I’m running out of ideas, sadly. As long as there’s no way for me to reproduce this problem, it’s going to be hard to debug it.

You could try switching off plugins that you might have installed, toggle some settings, see if that makes a difference. Perhaps you’re lucky and find a cause that way. If your users don’t have this problem, then what’s different between your client and theirs?

My users have the same setup that I do. Some of them are having this problem, I just seem to be the only person having it happen consistently.

So you think an openfire plugin could be causing the issue? I’ll try turning those off one at a time.

No, I’d be surprised if it’s anything outside of Spark. Your client receives the message, it ‘simply’ does not display it. Spark has plugins of its own - I was referring to those.

We don’t use any spark plugins. So I’m stumped.

Are you making use of OTR or Translator? (if you don’t know what it is, then probably not).

I found one other occurrence of the problem that’s described in https://issues.igniterealtime.org/browse/SPARK-1798, but it appears to be limited to those two features.

No, we don’t use either of those.

Harhg. Would you be able to hook on a Java debugger and see what’s going on? I’m at a point where I don’t know what to recommend other than have an on-site Java developer debug your client…

Have you tried installing Spark on another computer, and log in with your credentials there - see if you can replicate it as consistently? Straws…

In any case, it’s around midnight here - I’m turning in. Hopefully, the morning comes with new insights…

Definitely go get some rest. I really appreciate all of your work on this. I’ll give running Spark on a different machine with my credentials a shot. If that doesn’t work, I’ll try some java debugging since I’ve done a little bit of java work myself. I’ll post back if I can figure anything out.

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)