Cannot start Vassal

  • iMac Retina 4K 21.5 inch 2017
  • OS: macOS High Sierra
  • Processor: 3 GHz Intel Core i5
  • Memory: 8 Gb DDR4
  • Graphics: Radeon Pro 555 2 Gb
  • Vassal version: 3.2.17
  • Java version: 9.0.1
  • Exactly what steps are required to reproduce your problem: Open VASSAL (reinstalling did not solve the problem)

Log:

2017-12-21 12:37:01,800 [0-main] INFO VASSAL.launch.StartUp - Starting
2017-12-21 12:37:01,803 [0-main] INFO VASSAL.launch.StartUp - OS Mac OS X 10.13.1
2017-12-21 12:37:01,803 [0-main] INFO VASSAL.launch.StartUp - Java version 9.0.1
2017-12-21 12:37:01,803 [0-main] INFO VASSAL.launch.StartUp - VASSAL version 3.2.17
2017-12-21 12:37:02,171 [0-main] ERROR VASSAL.tools.ErrorDialog -
java.lang.NoSuchMethodError: com.apple.eawt.Application.addApplicationListener(Lcom/apple/eawt/ApplicationListener;)V
at VASSAL.launch.ModuleManagerMacOSXStartUp.setupApplicationListeners(ModuleManagerMacOSXStartUp.java:36) ~[Vengine.jar:na]
at VASSAL.launch.ModuleManagerMacOSXStartUp.initSystemProperties(ModuleManagerMacOSXStartUp.java:31) ~[Vengine.jar:na]
at VASSAL.launch.ModuleManager.(ModuleManager.java:280) ~[Vengine.jar:na]
at VASSAL.launch.ModuleManager.main(ModuleManager.java:183) ~[Vengine.jar:na]
2017-12-21 12:40:48,618 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - java.util.concurrent.ExecutionException: java.io.IOException
2017-12-21 12:40:48,618 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.util.concurrent.FutureTask.report(Unknown Source)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.util.concurrent.FutureTask.get(Unknown Source)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at org.jdesktop.swingworker.SwingWorker.get(Unknown Source)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugDialog$SendRequest.done(BugDialog.java:564)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at org.jdesktop.swingworker.SwingWorker$5.run(Unknown Source)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at org.jdesktop.swingworker.AccumulativeRunnable.run(Unknown Source)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/javax.swing.Timer.fireActionPerformed(Unknown Source)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/javax.swing.Timer$DoPostEvent.run(Unknown Source)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
2017-12-21 12:40:48,619 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue.access$500(Unknown Source)
2017-12-21 12:40:48,620 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue$3.run(Unknown Source)
2017-12-21 12:40:48,620 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue$3.run(Unknown Source)
2017-12-21 12:40:48,620 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.security.AccessController.doPrivileged(Native Method)
2017-12-21 12:40:48,620 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
2017-12-21 12:40:48,620 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
2017-12-21 12:40:48,620 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
2017-12-21 12:40:48,620 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
2017-12-21 12:40:48,620 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
2017-12-21 12:40:48,620 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.WaitDispatchSupport$2.run(Unknown Source)
2017-12-21 12:40:48,620 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
2017-12-21 12:40:48,620 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.WaitDispatchSupport$4.run(Unknown Source)
2017-12-21 12:40:48,621 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.security.AccessController.doPrivileged(Native Method)
2017-12-21 12:40:48,621 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.WaitDispatchSupport.enter(Unknown Source)
2017-12-21 12:40:48,621 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.Dialog.show(Unknown Source)
2017-12-21 12:40:48,621 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.Component.show(Unknown Source)
2017-12-21 12:40:48,621 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.Component.setVisible(Unknown Source)
2017-12-21 12:40:48,621 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.Window.setVisible(Unknown Source)
2017-12-21 12:40:48,621 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.Dialog.setVisible(Unknown Source)
2017-12-21 12:40:48,621 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugDialog.setVisible(BugDialog.java:441)
2017-12-21 12:40:48,621 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.ErrorDialog$1.run(ErrorDialog.java:94)
2017-12-21 12:40:48,621 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
2017-12-21 12:40:48,621 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue.access$500(Unknown Source)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue$3.run(Unknown Source)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue$3.run(Unknown Source)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.security.AccessController.doPrivileged(Native Method)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
2017-12-21 12:40:48,622 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
2017-12-21 12:40:48,623 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - Caused by: java.io.IOException
2017-12-21 12:40:48,623 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugUtils.sendBugReport(BugUtils.java:51)
2017-12-21 12:40:48,623 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugDialog$SendRequest.doInBackground(BugDialog.java:550)
2017-12-21 12:40:48,623 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugDialog$SendRequest.doInBackground(BugDialog.java:532)
2017-12-21 12:40:48,623 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
2017-12-21 12:40:48,623 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
2017-12-21 12:40:48,623 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
2017-12-21 12:40:48,623 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
2017-12-21 12:40:48,623 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
2017-12-21 12:40:48,623 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.lang.Thread.run(Unknown Source)
2017-12-21 12:40:48,623 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - Caused by: java.lang.NumberFormatException: For input string: “”
2017-12-21 12:40:48,624 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.lang.NumberFormatException.forInputString(Unknown Source)
2017-12-21 12:40:48,624 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.lang.Integer.parseInt(Unknown Source)
2017-12-21 12:40:48,624 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at java.base/java.lang.Integer.parseInt(Unknown Source)
2017-12-21 12:40:48,624 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - at VASSAL.tools.BugUtils.sendBugReport(BugUtils.java:46)
2017-12-21 12:40:48,624 [0-AWT-EventQueue-0] WARN VASSAL.tools.logging.LoggedOutputStream - … 8 more

Anyone?

Thus spake crucius:

Anyone?

Your problem is that VASSAL requires something which is no longer
supported in the version of Java you’re using on OS X. Try Java 8 or
earlier, or wait for us to update VASSAL (which could be several months
from now—I know what the problem is but I have no time to address it,
and nobody else has volunteered to).


J.

Hi,

One of the problems is that even with Java 8 installed, on macOS High Sierra the launcher script does not find the correct Java Framework location, because apple changed it a bit. As a result, the internet plugin Java applet is found, which is part of the problem, because that is not working.

In the /Applications/VASSAL.app/Contents/MacOS/VASSAL.sh file modify the JAVA = line below the try Apple’s Java 6 comment to the following:
JAVA="/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java"

should solve the problem if java_home is listing that you only have Java 8 installed:
bash-3.2$ ./java_home -V
Matching Java Virtual Machines (1):
1.8.0_162, x86_64: “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home

So I’m have a very similar problem on my Mac. When I try to start VASSAL it tells me it is damaged and asks to move it to trash. Are you saying I remove newer versions of Java and redownload/install Java 8? Or I have to go into the Vassal code and update it?

Erics-iMac:~ dad$ which java /usr/bin/java Erics-iMac:~ dad$ java -version java version "10.0.2" 2018-07-17 Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13) Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)

FWIW, I just today updated Java as I was attempting to install/use another Java program. That seemed to have the same problem that I could not figure out how to fix. It seems to be looking in a fixed directory, but the directory naming convention seems to have changed by appending a version number in the path.

As a further update, it does not appear as though a java_home environment variable is set on my profile:

[code]Erics-iMac:~ dad$ echo $java_home

Erics-iMac:~ dad$
[/code]

but yet…

[code]Erics-iMac:~ dad$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
Erics-iMac:~ dad$ /usr/libexec/java_home -V
Matching Java Virtual Machines (5):
10.0.2, x86_64: “Java SE 10.0.2” /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
9, x86_64: “Java SE 9” /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
1.8.0_181, x86_64: “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home
1.8.0_131, x86_64: “Java SE 8” /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
1.7.0_71, x86_64: “Java SE 7” /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home[/code]

WTH?!?!

Never mind, if anyone happens to read this. I’m giving up on getting it to run on a Mac.

In desperation I gave this a whirl.

Damn. It finally works!

Install Java8

brew tap caskroom/versions brew cask install java8

Update VASSAL.sh script so the first JAVA="" line equals to the java8 location.
For me it was this

JAVA="/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java"

thanks a bunch! Worked like a charm!