Spark 2.8.3 does not start after update to JRE 8u162

I am on Debian Sid.

I assumed it was crashing, but it seems there is no evidence of a crash. It just terminates and refuses to start.

~$ spark -debug
using classpath: /usr/share/spark/lib/jdom.jar:/usr/share/spark/lib/log4j.jar:/usr/share/spark/lib/lti-civil.jar:/usr/share/spark/lib/fmj.jar:/usr/share/spark/lib/jspeex.jar:/usr/share/spark/lib/libjitsi.jar:/usr/share/spark/lib/zrtp4j-light.jar:/usr/share/spark/lib/jna.jar:/usr/share/spark/lib/bcpkix.jar:/usr/share/spark/lib/bcprov.jar:/usr/share/spark/lib/bccontrib.jar:/usr/share/spark/lib/ice4j.jar:/usr/share/spark/lib/osgi.core.jar:/usr/share/spark/lib/startup.jar:/usr/share/spark/lib/linux/jdic.jar:/usr/share/spark/resources
Listening for transport dt_socket at address: 8000
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: /usr/share/spark/plugins/spelling-plugin.jar /home/keantoken/.Spark/plugins/spelling-plugin.jar
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: e2c7822fa4a632478ffbe1edbffd0600 e2c7822fa4a632478ffbe1edbffd0600 equal:true
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: /usr/share/spark/plugins/roar.jar /home/keantoken/.Spark/plugins/roar.jar
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: e3b09027a4fad7955bf86a869e539ec6 9b9ba54834999faa9cf37d0478b5f3f8 equal:false
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: deleting: /home/keantoken/.Spark/plugins/roar,/home/keantoken/.Spark/plugins/roar.jar
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jivesoftware.spark.util.URLFileSystem (file:/usr/share/spark/lib/spark.jar) to method java.net.URL.set(java.lang.String,java.lang.String,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)
WARNING: Please consider reporting this to the maintainers of org.jivesoftware.spark.util.URLFileSystem
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: Spellchecker Plugin has been loaded.
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: Reversi has been loaded.
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: TicTacToe has been loaded.
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: Fastpath has been loaded.
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: Unable to load plugin Http File Upload Plugin due to invalid operating system. Required OS = Windows
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: Unable to load plugin Meetings Plugin due to invalid operating system. Required OS = Windows
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: Transfer Guard has been loaded.
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: Translator Plugin has been loaded.
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: sparkis not overwritten in plugin
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: defaultis not overwritten in plugin
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: preferencesis not overwritten in plugin
Mar 19, 2018 5:49:33 AM org.jivesoftware.spark.util.log.Log debug
INFO: spark_i18nis not overwritten in plugin
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Jabber Browser has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Asterisks Phone Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Jabber Version has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Sounds Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Layout Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Chat Post Loader has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Presence Change Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log error
SEVERE: Unable to load plugin org.jivesoftware.sparkimpl.plugin.viewer.PluginViewer.
java.lang.NullPointerException
at org.pushingpixels.substance.internal.utils.SubstanceColorUtilities.getDefaultBackgroundColor(SubstanceColorUtilities.java:759)
at org.pushingpixels.substance.internal.utils.SubstanceColorUtilities.getBackgroundFillColor(SubstanceColorUtilities.java:661)
at org.pushingpixels.substance.internal.ui.SubstancePanelUI.__org__pushingpixels__substance__internal__ui__SubstancePanelUI__installDefaults(SubstancePanelUI.java:74)
at org.pushingpixels.substance.internal.ui.SubstancePanelUI.installDefaults(SubstancePanelUI.java)
at java.desktop/javax.swing.plaf.basic.BasicPanelUI.installUI(BasicPanelUI.java:62)
at org.pushingpixels.substance.internal.ui.SubstancePanelUI.__org__pushingpixels__substance__internal__ui__SubstancePanelUI__installUI(SubstancePanelUI.java)
at org.pushingpixels.substance.internal.ui.SubstancePanelUI.installUI(SubstancePanelUI.java)
at java.desktop/javax.swing.JComponent.setUI(JComponent.java:685)
at java.desktop/javax.swing.JPanel.setUI(JPanel.java:150)
at java.desktop/javax.swing.JPanel.updateUI(JPanel.java:126)
at java.desktop/javax.swing.JPanel.(JPanel.java:86)
at java.desktop/javax.swing.JPanel.(JPanel.java:109)
at java.desktop/javax.swing.JPanel.(JPanel.java:117)
at org.jivesoftware.sparkimpl.plugin.viewer.PluginViewer.(PluginViewer.java:101)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
at java.base/java.lang.Class.newInstance(Class.java:558)
at org.jivesoftware.spark.PluginManager.lambda$loadInternalPlugins$0(PluginManager.java:444)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Emoticon Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Sparklers Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Notes Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Buzz Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Notifications Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Shortcut Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: History Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Contact List Assistant has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: My Favorites has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Language Plugin has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: SystemTray has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: UserIdle has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Privacy Lists has been loaded. Internal plugin.
Mar 19, 2018 5:49:34 AM org.jivesoftware.spark.util.log.Log debug
INFO: Args: []
java.lang.reflect.InvocationTargetException
at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1328)
at java.desktop/java.awt.EventQueue.invokeAndWait(EventQueue.java:1303)
at org.jivesoftware.Spark.startup(Spark.java:203)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.jivesoftware.launcher.Startup.start(Startup.java:88)
at org.jivesoftware.launcher.Startup.main(Startup.java:38)
Caused by: java.lang.NullPointerException
at org.pushingpixels.substance.internal.utils.SubstanceColorUtilities.getDefaultBackgroundColor(SubstanceColorUtilities.java:759)
at org.pushingpixels.substance.internal.utils.SubstanceColorUtilities.getBackgroundFillColor(SubstanceColorUtilities.java:661)
at org.pushingpixels.substance.internal.ui.SubstancePanelUI.__org__pushingpixels__substance__internal__ui__SubstancePanelUI__installDefaults(SubstancePanelUI.java:74)
at org.pushingpixels.substance.internal.ui.SubstancePanelUI.installDefaults(SubstancePanelUI.java)
at java.desktop/javax.swing.plaf.basic.BasicPanelUI.installUI(BasicPanelUI.java:62)
at org.pushingpixels.substance.internal.ui.SubstancePanelUI.__org__pushingpixels__substance__internal__ui__SubstancePanelUI__installUI(SubstancePanelUI.java)
at org.pushingpixels.substance.internal.ui.SubstancePanelUI.installUI(SubstancePanelUI.java)
at java.desktop/javax.swing.JComponent.setUI(JComponent.java:685)
at java.desktop/javax.swing.JPanel.setUI(JPanel.java:150)
at java.desktop/javax.swing.JPanel.updateUI(JPanel.java:126)
at java.desktop/javax.swing.JPanel.(JPanel.java:86)
at java.desktop/javax.swing.JPanel.(JPanel.java:109)
at java.desktop/javax.swing.JPanel.(JPanel.java:117)
at java.desktop/javax.swing.JRootPane.createGlassPane(JRootPane.java:521)
at java.desktop/javax.swing.JRootPane.(JRootPane.java:348)
at java.desktop/javax.swing.JFrame.createRootPane(JFrame.java:279)
at java.desktop/javax.swing.JFrame.frameInit(JFrame.java:258)
at java.desktop/javax.swing.JFrame.(JFrame.java:181)
at org.jivesoftware.Spark.lambda$startup$1(Spark.java:205)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
~$

Spark works fine with Oracle’s JRE 1.8.0u162 on Windows.

Well, I’m on Linux, and I just figured the JRE update was the culprit because Spark stopped working after the update.

It doesn’t seem like the terminal is giving any useful information to find out what’s happening. Is there any way to get more detailed debug information?

The latest nightly build doesn’t work either.

Debugger is enabled when Spark is running and debugger itself is running with Spark. So, if Spark is not launching, it won’t help. Other than regular logs, which are in Spark/logs/ (at least on Windows) i don’t know where to get more information. Linux is not my primary OS.

Also, in chat you mentioned Java 9. Make sure you are not actually using Java 9 now (java -version). Spark won’t work with Java 9.

I think I might know what happened.

Debian seems to have chosen Java 9 as the default as provided through the repository metapackage jre-default, which is a dummy package that just has the default JRE as a dependency.

It seems that this got installed at some point in an update and even though JRE 8 is still installed, JRE 9 is the one that gets used for any application not specifying which version of Java to use.

So the solution is to uninstall JRE 9, or if it’s needed for another program, find a way for Spark to specify which JRE to use.

I uninstalled JRE 9 and Spark works.

Spark usually would use java which is set as default on the system. I know i have used some commands on Ubuntu to switch from java 7 to java 8 in the past. Not sure if it will work now or with openjdk, but there should be a way. Anyway, java 9 seems to be a temporary version and java 10 or 11 should quickly replace 9. And java 8 will still be supported for a long time.