While setting up an ASL scenario an error was generated

I’m running vassal 3.6.1 with module VASL 6.6.3.1.

I’m creating a new scenario setup and was adding a Japanese vehicle by dragging the counter to the board when an error occurred.

I’d like to add the error file, but am not sure how to do that in this forum.

BTW, I’ve been doing this exact action in vassal/VASL for the past 2 years and have never gotten this error. BUT, I did upgrade to 3.6.1/6.6.3.1 yesterday. Not a coincidence, I’m sure.

One way would be to paste the error log text here. (Fixed-width text can be formatted between triple backticks.)

Were you unable to submit the bug report via the bug report dialog?

Worked through submitting via the github site just now and attach the file after adding a “.txt” extension to it. Thanks.

Could you point me to where exactly?

I found it—you put it into VASL’s tracker instead of ours.

You seem to be having two problems—the one you reported, and then some sort of DNS issue which prevented the bug reporter from uploading the bug report automatically.

@Cattlesquat looked at the first problem and produced a patch. Please try VASSAL-3.6.2-SNAPSHOT-2bf62a8-FixBackMapNPE from our development builds archive: Builds of vassalengine/vassal

Does that fix the first problem you were having?

I’m going to need a bit of time to dig further into the second problem.

For the second problem:

  • Are you able to reach our front page at https://vassalengine.org without any warnings in your browser?
  • Do you ever have problems reaching other sites which use HTTPS?

The error messages I’m seeing in your error log about our SSL certificate are puzzling:

java.util.concurrent.ExecutionException: javax.net.ssl.SSLHandshakeException: No subject alternative DNS name matching vassalengine.org found.
...
Caused by: javax.net.ssl.SSLHandshakeException: No subject alternative DNS name matching vassalengine.org found.
...
Caused by: java.security.cert.CertificateException: No subject alternative DNS name matching vassalengine.org found.

From those, you’d expect that the CN for our SSL certificate doesn’t match the hostname the bug reporter is contacting.

I can see from the log the failure happens via LiveVersionInfo.getVersion(), and the URL used there is hard-coded in the class: https://vassalengine.org/util/. When I check our certificate, the only CN listed is vassalengine.org.

Why is Java on your system considering those to be a mismatch? If the hostname in the URL in use really didn’t match the CN of our certificate, how could we have received dozens of bug reports successfully this way? It makes me wonder if your ISP is fiddling with your network traffic somehow.

Hi Joel,
I loaded your recommended build, opened my file, moved the tanks, and immediately got the same error. It also didn’t auto report the bug again, but no surprise there.

I haven’t had any issues with other sites that I’ve noticed. Do you have a site and steps I should follow to test it out?
Thanks,
Derek

Hi Joel,
I backed off to vassal 3.5.8 and ran the VASL 6.6.3.1 file and things seemed to be just fine. Seems the problem is with vassal.
Derek

Hi Derek - can you link us a copy of your save or whatever you have, w/ directions on what tanks to move from exactly where to exactly where (in order to reproduce the problem)? And/or screenshots?

Thanks!

Hi Derek,

Actually, ignore that last as I figured out how to reproduce the bug. Could you please get the latest “master” build from Builds of vassalengine/vassal and verify that it (hopefully) no longer reproduces that problem? (It no longer causes the problem for me)

Thanks,

Brian

@DerekD I’ve uploaded an archive containing two test programs for you to try so we can troubleshoot the SSL certificate problem you’re having.

Instructions:

  1. Unzip the archive.
  2. Open a command window (Run cmd)
  3. From the command prompt, cd into the directory where you unzipped the archive. (You should see the files CertTest1.class and CertTest2.class in that directory.
  4. Run "C:\Program Files\VASSAL-3.6.2\jre\bin\java" -cp "C:\Program Files\VASSAL-3.6.2\lib\Vengine.jar";. CertTest1
  5. Run "C:\Program Files\VASSAL-3.6.2\jre\bin\java" -cp "C:\Program Files\VASSAL-3.6.2\lib\Vengine.jar";. CertTest2
  6. Paste here the output of each of the two commands.

Note that you may need to adjust the paths in the two commands to reflect where you have installed Vassal. It doesn’t matter which version of 3.6 you have installed for this, but it does need to be 3.6.