Vassal 3.2.2 on Mac OSX won't start

Thus spake dhurtt:

Apple issued an update to the Mac OS centered around problems with Java.
With great trepidation I upgraded.

Not only did it allow me to go back to using the Mac OS X version of
Vassal (3.2.2), but it fixed all of the cursor problems I have been
having.

Great. What version of Java is it that you’re using now?


J.

From the errorLog:

2013-03-11 14:30:21,741 [0-main] INFO VASSAL.launch.StartUp - Starting
2013-03-11 14:30:21,745 [0-main] INFO VASSAL.launch.StartUp - OS Mac OS X
2013-03-11 14:30:21,745 [0-main] INFO VASSAL.launch.StartUp - Java version 1.6.0_43
2013-03-11 14:30:21,745 [0-main] INFO VASSAL.launch.StartUp - VASSAL version 3.2.2

Dale

I have a variation of this problem.

I am running OS X 10.8.3. I needed to do a restore the other day. In 10.8.3, Apple eliminates its old implementation of JAVA 6; indeed, it comes with no version of Java. I downloaded Java 7 from Oracle, installed it, and Vassal 3.1.18 (I have been reluctant to upgrade, being a part of the “if it ain’t broke, don’t fix” school).

So, I had to go hunting for a copy of Apple’s implementation of Java 6, found it, installed it, and 3.1.18 runs fine.

However now, suddenly, my Windows friends who are running 3.2.2. flips all the cards in our game over.

I downloaded 3.2.2, installed it, and get the attached when I try to launch.

I should perhaps note that I am running the latest version of Intego’s Virus Barrier - but it has not caused any other problems (and I haven’t figured out how to shut it off yet, to try it without the Virus Barrier).

UPDATE: Shut off the Intego software, downloaded and reinstalled. Same behavior.

Thus spake PaulMcG:

I have a variation of this problem.

I am running OS X 10.8.3. I needed to do a restore the other day. In
10.8.3, Apple eliminates its old implementation of JAVA 6; indeed, it
comes with no version of Java. I downloaded Java 7 from Oracle,
installed it, and Vassal 3.1.18 (I have been reluctant to upgrade, being
a part of the “if it ain’t broke, don’t fix” school).

So, I had to go hunting for a copy of Apple’s implementation of Java 6,
found it, installed it, and 3.1.18 runs fine.

I can’t recommend runing 3.1.18. We fixed a lot of bugs in 3.1.19 and
3.1.20. If you need to run 3.1, you should use 3.1.20.

However now, suddenly, my Windows friends who are running 3.2.2. flips
all the cards in our game over.

I downloaded 3.2.2, installed it, and get the attached when I try to
launch.

Do you have the same problem with 3.2.3-svn8606?

vassalengine.sourceforge.net/bui … macosx.dmg

I should perhaps note that I am running the latest version of Intego’s
Virus Barrier - but it has not caused any other problems (and I haven’t
figured out how to shut it off yet, to try it without the Virus
Barrier).

I doubt that your antivirus software has anything to do with the
problem.


J.

I downloaded 3.1.20 and got exactly the same result as 3.2.2 (and 3.2.3, see below) – “damaged.”

Yes I did (damaged).

So now I’m starting to think it’s something unique to downloading on my machine, which does sort of implicate the anti-virus stuff (but I already tried the download with that switched off). Others are evidently running these on 10.8.3 without trouble, but I wonder if anybody has DOWNLOADED successfully after installing 10.8.3? Anybody out there willing to give it a shot? The worst that can happen is you’ll have an unusable duplicate copy of Vassal.

Thus spake PaulMcG:

“uckelman” wrote:

I can’t recommend runing 3.1.18. We fixed a lot of bugs in 3.1.19 and
3.1.20. If you need to run 3.1, you should use 3.1.20.

I downloaded 3.1.20 and got exactly the same result as 3.2.2 (and 3.2.3,
see below) – “damaged.”

“uckelman” wrote:

Do you have the same problem with 3.2.3-svn8606?

Yes I did (damaged).

I’ll bet the problem is that the JavaAppLauncher inside the bundle
can’t find Java 6.


J.

Maybe… I do know that it finds it fine for 3.1.18 – which is already installed. I don’t know much about this stuff, but it seems strange that 3.1.18 (installed before the upgrade) can find it, but nothing downloaded after the upgrade can find it. Plus, the error message doesn’t seem consistent with not being able to find Java… though I have zero experience with such things.

FWIW, the reason Apple moved away from their Java 6 implementation so rapidly was some sort of security issue. It would not surprise me if very soon they start doing something like wiping out Java 6 installations with every OS upgrade. I don’t know how big a deal it is to tweak Vassal to work with Java 7 on the Mac, but that might be a more permanent solution.

I’ve had no issues with Vassal, running the 3.2.3 build 3616 on OSX 10.8 on a rMBP.

Running:

java version “1.6.0_43”
Java™ SE Runtime Environment (build 1.6.0_43-b01-447-11M4203)
Java HotSpot™ 64-Bit Server VM (build 20.14-b01-447, mixed mode)

I just thought I’d put my word in here, maybe it’ll give some insight.

Hi Maramonster,

Are you running Virgin Queen ?

Best,

Guillaume

Oops. Sorry. Wrong thread.

What version of 10.8 are you running?

My issue is with the most recent one, 10.8.3.

I still have the problem with 3.2.3 release as I reported with Bug 10008. I removed all traces of Java

sudo rm -rf /System/Library/Java/JavaVirtualMachines/.jdk
sudo rm -rf /Library/Java/JavaVirtualMachines/
.jdk
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefpane

I then installed Java-1.7_17 from Oracle. Now no vassal app will start. I get these messages from each of the versions I have installed:

To open “VASSAL-3.1.20.app,” you need a Java SE 6 runtime. Would you like to install one now?
To open “VASSAL-3.2.2.app,” you need a Java SE 6 runtime. Would you like to install one now?
To open “VASSAL-3.2.3.app,” you need a Java SE 6 runtime. Would you like to install one now?

So, I take it that Vassal cannot run with Oracle’s JRE for OSX-10.8.3. I next deleted all traces of Java-1.7_17 and installed the suggested Apple version. Now I can run versions 3.1.20 and 3.2.2 but 3…2.3 gives the error:

“VASSAL-3.2.3.app” is damaged and can’t be opened. You should move it to the Trash.

Which is what I reported in 1008.

10.8.3. Completely up to date. I even ran the java from the website.

Just for verification, i checked in terminal and it spits out:

java -version
java version “1.6.0_43”
Java™ SE Runtime Environment (build 1.6.0_43-b01-447-11M4203)
Java HotSpot™ 64-Bit Server VM (build 20.14-b01-447, mixed mode)

I have no problems with 3.2.2 3.2.3 and 3.2.4 up to build 8629 (latest on the builds directory).

edit: I see your java version is different, How did yours update? I even ran the JRE that oracle spat out for me when i went there to download and it gave me 1.6

What byrnejb describes is very similar to what I am experiencing, except that I cannot run any version later than 3.1.18 (I get the “file damaged” message) and I need Apples v-6 Java even for that.

Again, I had to do a clean install of OS X 10.8.3 – which did not contain Apple’s v-6 Java implementation (I had to go find it somewhere).

Maramonster:

This is what I get:

Last login: Fri Apr 5 08:59:44 on console
MacGuane:~ paulmcguane$ java -version
java version “1.6.0_43”
Java™ SE Runtime Environment (build 1.6.0_43-b01-447-11M4203)
Java HotSpot™ 64-Bit Server VM (build 20.14-b01-447, mixed mode)
MacGuane:~ paulmcguane$

I confess that I find the Java versioning nomenclature utterly confusing. According to Oracle’s website:

The website lists the latest version is Version 7 Update 17.

I believe I have a solution for the “file damaged” error.

Users who have upgraded to Mountain Lion and have never installed (or uninstalled prior to the upgrade) will find that the install fails with the error message “VASSAL.dmg is damaged and can’t be opened. You should eject the disk image.”

This is due to the security protections in Mountain Lion.

To allow the install toproceed, go to System Preferences->Personal->Security & Privacy. Cick on the General tab to highlight it. Click on the lock icon to allow changes. Under the heading “Allow applications downloaded from:” click on the Anywhere radio button.

Now double click on the vassal.dmg install package and drag the Vassal application to wherever it is you want it to live.

When it is finished, you can change the Security & Privacy setting back to the previous setting.

Thus spake PaulMcG:

I believe I have a solution for the “file damaged” error.

Users who have upgraded to Mountain Lion and have never installed (or
uninstalled prior to the upgrade) will find that the install fails with
the error message “VASSAL.dmg is damaged and can’t be opened. You should
eject the disk image.”

This is due to the security protections in Mountain Lion.

To allow the install toproceed, go to System
Preferences->Personal->Security & Privacy. Cick on the General tab to
highlight it. Click on the lock icon to allow changes. Under the heading
“Allow applications downloaded from:” click on the Anywhere radio
button.

Now double click on the vassal.dmg install package and drag the Vassal
application to wherever it is you want it to live.

When it is finished, you can change the Security & Privacy setting back
to the previous setting.

Thanks for discovering this.

That has to be one of the most misleading error messages I’ve ever seen.
How is the user supposed to determine that the OS is incorreclty telling
him that a file he downloaded is damaged, and then find this setting to
make it stop lying to him?!

So: What can we do to mitigate this? Does this happen to all software
that people try to install on Macs these days?


J.

I can confirm that allowing “applications downloaded from anywhere” on the OSX-10.8.3 security panel resolves the issue reported as bug 10008. Tested with versions 3.2.3 and 3.2.4.

Further, having previously given an app permission to run under the looser security conditions one may then re-tighten those conditions and that app will continue to be allowed.

A better fix, without fiddling with system wide permissions is to just remove the Quarantine extended attribute from the downloaded DMG. This will allow it to be opened regardless of Gatekeeper settings.

Just run the following from the terminal before mounting the DMG:

xattr -d com.apple.quarantine VASSAL-3.2.4-macosx.dmg

Then open it and drag the app to Applications as normally.

Thus spake magu:

A better fix, without fiddling with system wide permissions is to just
remove the Quarantine extended attribute from the downloaded DMG. This
will allow it to be opened regardless of Gatekeeper settings.

Just run the following from the terminal before mounting the DMG:

Code:
xattr -d com.apple.quarantine VASSAL-3.2.4-macosx.dmg

Is this an attribute the file picks up on the user side, or is it
something we can unset on releases ourselves?


J.

The attribute is set on the DMG by Safari after downloading. (I think Chrome and Safari does so to; at least they should.) Finder then recursively sets it on all stuff extracted from the DMG (as well as zips and other archives) to tell Gatekeeper that those also originated from the internet.

One way around this is for the Vassal team to get a Developer ID from Apple (which only verifies identity and cost you nothing) and sign all binaries in the App bundle before release.