Error saving a module

When trying to save any modification to a module file from the VASSAL editor I am getting an error and the file is only half saved with a temporary file left over. Attached is the error log.

I am using build 3.2.12-svn9053 on Windows 7 (64 bit)

Thanks for any help,
-Mark R.

Thus spake mroyer:

When trying to save any modification to a module file from the VASSAL
editor I am getting an error and the file is only half saved with a
temporary file left over. Attached is the error log.

My guess is that you have an entry in the archive which has a character
encoding problem with its filename. Could you post the module?


J.

You are indeed correct, Joel. One of the predefined setups was named:
“Scenario - 1939 Fall Weiß.vsav”

When I changed it to “Scenario - 1939 Fall Weib.vsav” the problem cleared up.

I suspect something changed recently with VASSAL, though. That file name has been in use for a couple years and has only cropped up as a problem recently (I can’t be more specific than that). Truth be told, however, it’s irrelevant to me whether the files can or cannot have unusual characters, so I wouldn’t waste much time trying to “fix” the issue - at least not on my behalf.

Thanks Joel,
-Mark R.

Thus spake mroyer:

[This message has been edited.]

You are indeed correct, Joel. One of the predefined setups was named:
“Scenario - 1939 Fall Weiß.vsav”

When I changed it to “Scenario - 1939 Fall Weib.vsav” the problem
cleared up.

Correct German if you can’t type ‘Weiß’ would be ‘Weiss’, btw.

I suspect something changed recently with VASSAL, though. That file
name has been in use for a couple years and has only cropped up as a
problem recently (I can’t be more specific than that).

There was a change from Java 6 to Java 7 in how ZIP file entries are
interpreted. In Java 7 they default to UTF-8, but before that they
could have been written in CP 437. The reason this is problematic in
your case is that ß exists in both UTF-8 and CP 437, but the CP 437
encoding of it isn’t a valid sequence in UTF-8.

So, I suspect that you have a module which was last written by Java 7,
or by Java 6 somewhere other than Windows, and you’re trying to save
to the module on Windows in Java 6.

The introduction of a problem like this without even a mention that
it could happen epitomizes the quality engineering I’ve come to expect
from the JDK.

I’ll have to think of whether there’s any reasonable workaround we can
introduce for this, as it’s potentially rather a major problem.


J.

Correct German if you can’t type ‘Weiß’ would be ‘Weiss’, btw.

Thanks Joel.

And, also thanks for the explanation. I did go from a 32-bit to 64-bit Windows machine which necessitated re-installation of Java runtime. It is very likely the issues cropped up with that change.

-Mark R.