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).
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.
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.
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)
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)
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
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.