VASL multiplayer online issues

We were 3 players trying to start up a new scenario (Hatten in Flames Campaign Game) using the Hatten map (HT), which we had previously played on with no issues in version vasl-6.6.1 and VASSAL version preceding this one (I think we were on 3.5.8, but we might have been on a early 3.6.0 beta).

The issues that occurred were as follows:

  1. We loaded a saved file from the previous version and when we moved counters onto a locked marker, it would give an error about stacking /TO THE OTHER PLAYERS ONLY/. I.e. if I moved the counters onto the locked marker, everything behaved fine on my end and nothing shows up (even as I do it now solo). But for the other two people in the VASSAL room, it gave them errors. If they moved the counters onto the locked marker, then /I/ saw the error message (but they did not).

  2. In a similar ‘it affects others’ issue, if we moved around a counter- say a 9-1 leader - it would leave ghost images /ON THE OTHER PLAYERS GAMES/ wherever we moved it to. But not on the screen of the person moving it. This could be fixed by re-sync’ing with the person, which would then remove those ghost images.

We have not tested either of these with other maps (Hatten map always had an issue that the LOS hasn’t been done: “VASL LOS disabled: java.lang.NullPointerException: Cannot read field “gridWidth” because “map” is null. VASSAL los active”, but that existed prior to any of the updates.

  • Which versions of Vassal and VASL were you using?
  • What were the errors?

(Always provide versions and error messages when troubleshooting anything. They’ll be the first thing anyone trying to help you asks for.)

Vassal was latest (3.6.1; clicked the ‘check for updates’ and installed the update)
VASL was also updated to 6.6.3.1

At first, we had everyone on VASL 6.6.1 and one person with Vassal 3.6.1, with the other two on 3.5.8 (I think), which we thought might be the issue…but everyone updated to v3.6.1 and issue was still present. Then we all updated VASL to 6.6.3.1 and still, no change.

I forgot to add that we also tried creating a brand new scenario (i.e. not using the save from the older version), as well. The same issues were still observed after creating a new scenario from scratch (done after we updated both Vassal and VASL).

The problem is that I can’t see any issues if doing solo… everything seems fine if one opens it up solo. It only shows up on the /other/ persons’ screen.

And the errors? What were they?

I knew you were going to ask that, lol. :slight_smile:

Sadly, I don’t remember them and can’t reproduce them right now because I need to have a 2nd person logged in moving the counters (solo doesn’t show any error).

I’ll try to connect up with one of my group tonight and see if we can’t log the error and post it. It had something to do with stacks and cannot stack (the ‘ghost’ 9-1 images never generated an error message)

Was able to get one of the guys now… This is the error that shows up

" Bad Data in Module: Source: VASSAL.counters.Stack@6021cc00[BAZ45, BAZ45] Error: Cannot add stack to another stack. Turn on the Audit Trail preference to generate more details in the errorlog."

It also leaves a ghost copy of the units he moved onto the marker except in the very first original hex, which leaves a red outline box only, and then when we mouse over either the original or ghost, it does not expand to show what is there. If we happen to grab the actual unit, all the ghosts disappear. Then we got the following as soon as the person attempts to move or click on a ghost image (‘ghastly error’):

VASSAL was unable to submit your bug report. Please post the file [C:\Users\Kevin\AppData\Roaming\VASSAL\errorLog-3.6.1](file:/C:/Users/Kevin/AppData/Roaming/VASSAL/errorLog-3.6.1) and a description of what you were doing when the bug occurred in the [Technical Support & Bugs](https://forum.vassalengine.org/c/technical-support-bugs/6) section of the VASSAL Forum.

<expanded to>

2021-12-07 12:06:30,557 [24544-main] INFO  VASSAL.launch.StartUp - Starting
2021-12-07 12:06:30,567 [24544-main] INFO  VASSAL.launch.StartUp - OS Windows 10 10.0 amd64
2021-12-07 12:06:30,567 [24544-main] INFO  VASSAL.launch.StartUp - Java version 17.0.1
2021-12-07 12:06:30,567 [24544-main] INFO  VASSAL.launch.StartUp - Java home C:\Program Files\VASSAL-3.6.1\jre
2021-12-07 12:06:30,568 [24544-main] INFO  VASSAL.launch.StartUp - VASSAL version 3.6.1
2021-12-07 12:06:30,651 [24544-AWT-EventQueue-0] INFO  VASSAL.launch.ModuleManager - Manager
2021-12-07 12:06:39,711 [24544-SwingWorker-pool-2-thread-1] INFO  VASSAL.launch.AbstractLaunchAction - Loading module file F:\Games\Vassal\Modules\VASL\vasl-6.6.3.1.vmod
2021-12-07 12:06:40,425 [24544-SwingWorker-pool-2-thread-1] INFO  VASSAL.launch.TilingHandler - No images to tile.
2021-12-07 12:06:40,426 [24544-SwingWorker-pool-2-thread-1] INFO  VASSAL.launch.AbstractLaunchAction - Loading module VASL
2021-12-07 12:06:40,431 [24544-SwingWorker-pool-2-thread-1] INFO  VASSAL.tools.io.ProcessLauncher - launching C:\Program Files\VASSAL-3.6.1\jre\bin\java -Xms1024M -Xmx1024M -Duser.home=C:\Users\Kevin -Duser.dir=C:\Program Files\VASSAL-3.6.1 -cp lib\Vengine.jar VASSAL.launch.Player --load -- F:\Games\Vassal\Modules\VASL\vasl-6.6.3.1.vmod
2021-12-07 12:06:40,977 [20128-main] INFO  VASSAL.launch.StartUp - Starting
2021-12-07 12:06:40,987 [20128-main] INFO  VASSAL.launch.StartUp - OS Windows 10 10.0 amd64
2021-12-07 12:06:40,987 [20128-main] INFO  VASSAL.launch.StartUp - Java version 17.0.1
2021-12-07 12:06:40,988 [20128-main] INFO  VASSAL.launch.StartUp - Java home C:\Program Files\VASSAL-3.6.1\jre
2021-12-07 12:06:40,988 [20128-main] INFO  VASSAL.launch.StartUp - VASSAL version 3.6.1
2021-12-07 12:06:40,988 [20128-main] INFO  VASSAL.launch.Launcher - Player
2021-12-07 12:06:43,399 [20128-AWT-EventQueue-0] WARN  VASSAL.i18n.BundleHelper - No Translation: Icon when pieces and draggable overlays are showing:
2021-12-07 12:06:43,399 [20128-AWT-EventQueue-0] WARN  VASSAL.i18n.BundleHelper - No Translation: Icon when only draggable overlays are showing:
2021-12-07 12:06:43,399 [20128-AWT-EventQueue-0] WARN  VASSAL.i18n.BundleHelper - No Translation: Icon when only map is showing:
2021-12-07 12:06:44,712 [20128-AWT-EventQueue-0] INFO  VASSAL.build.GameModule - VASL version 6.6.3.1
2021-12-07 12:06:44,726 [20128-AWT-EventQueue-0] WARN  VASSAL.build.GameModule - No more than one [MapCenterer] allowed in Main Map [Map Window]
2021-12-07 12:06:44,890 [20128-AWT-EventQueue-0] INFO  VASSAL.build.module.ExtensionsLoader - Loading extension F:\Games\Vassal\Modules\VASL\extensions\3d6.mdx
2021-12-07 12:06:44,896 [20128-AWT-EventQueue-0] INFO  VASSAL.build.module.ExtensionsLoader - Extension 3d6 v1.0 loaded
2021-12-07 12:06:44,896 [20128-AWT-EventQueue-0] INFO  VASSAL.build.module.ExtensionsLoader - Loading extension F:\Games\Vassal\Modules\VASL\extensions\oba-flowchart.vmdx
2021-12-07 12:06:44,899 [20128-AWT-EventQueue-0] INFO  VASSAL.build.module.ExtensionsLoader - Extension oba-flowchart v0.1 loaded
2021-12-07 12:06:44,899 [20128-AWT-EventQueue-0] INFO  VASSAL.build.module.ExtensionsLoader - Loading extension F:\Games\Vassal\Modules\VASL\extensions\terrain-chart-1.2.1.vmdx
2021-12-07 12:06:44,900 [20128-AWT-EventQueue-0] INFO  VASSAL.build.module.ExtensionsLoader - Extension terrain-chart-1.2.1 v1.2.1 loaded
2021-12-07 12:06:44,900 [20128-AWT-EventQueue-0] INFO  VASSAL.build.module.ExtensionsLoader - Loading extension F:\Games\Vassal\Modules\VASL\extensions\VASLOverlays_v2.03.vmdx
2021-12-07 12:06:45,026 [20128-AWT-EventQueue-0] INFO  VASSAL.build.module.ExtensionsLoader - Extension VASLOverlays_v2.03 v2.03 loaded
2021-12-07 12:06:51,560 [20128-AWT-EventQueue-0] WARN  VASSAL.tools.logging.LoggedOutputStream - IOException retrieving welcome message from VASSAL.chat.HttpRequestWrapper@5decb4f5

2021-12-07 12:07:14,475 [20128-SwingWorker-pool-3-thread-3] INFO  VASSAL.launch.TilingHandler - No images to tile.
2021-12-07 12:07:14,483 [20128-SwingWorker-pool-3-thread-3] INFO  VASSAL.launch.TilingHandler - No images to tile.
2021-12-07 12:07:14,711 [20128-AWT-EventQueue-0] WARN  VASL.build.module.map.boardArchive.BoardArchive - Could not read the LOS data in board F:\Games\Vassal\Modules\VASL\boards\bdHT
2021-12-07 12:07:14,711 [20128-AWT-EventQueue-0] INFO  VASL.build.module.ASLMap - LOS disabled - unexpected error
2021-12-07 12:07:14,712 [20128-AWT-EventQueue-0] INFO  VASL.build.module.ASLMap - 
java.lang.NullPointerException: Cannot read field "gridWidth" because "map" is null
	at VASL.LOS.Map.Map.insertOneMap(Map.java:4598)
	at VASL.build.module.ASLMap.buildVASLMap(ASLMap.java:403)
	at VASL.build.module.ASLMap.setBoards(ASLMap.java:195)
	at VASSAL.build.module.map.BoardPicker.setup(BoardPicker.java:460)
	at VASL.build.module.map.ASLBoardPicker.setup(ASLBoardPicker.java:204)
	at VASSAL.build.module.GameState.setup(GameState.java:478)
	at VASSAL.build.module.GameState$SetupCommand.executeCommand(GameState.java:880)
	at VASSAL.command.Command.execute(Command.java:61)
	at VASSAL.command.Command.execute(Command.java:73)
	at VASSAL.build.module.GameState$9.done(GameState.java:1125)
	at java.desktop/javax.swing.SwingWorker$5.run(SwingWorker.java:750)
	at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:848)
	at java.desktop/sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
	at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:858)
	at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:311)
	at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:243)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	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)
2021-12-07 12:07:35,445 [20128-AWT-EventQueue-0] WARN  VASSAL.tools.ErrorDialog -  Source: VASSAL.counters.Stack@6021cc00[BAZ45, BAZ45] Error: Cannot add stack to another stack. Turn on the Audit Trail preference to generate more details in the errorlog. 
2021-12-07 12:09:37,384 [20128-AWT-EventQueue-0] ERROR VASSAL.tools.ErrorDialog - 
java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "locationName" is null
	at VASL.build.module.map.CounterDetailViewer.drawText(CounterDetailViewer.java:296)
	at VASSAL.build.module.map.CounterDetailViewer.draw(CounterDetailViewer.java:303)
	at VASSAL.build.module.map.CounterDetailViewer.draw(CounterDetailViewer.java:273)
	at VASSAL.build.module.Map.drawDrawable(Map.java:2313)
	at VASSAL.build.module.Map.paintRegion(Map.java:2196)
	at VASSAL.build.module.Map.paintRegion(Map.java:2182)
	at VASSAL.build.module.Map$View.paint(Map.java:3819)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5311)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedFPScales(RepaintManager.java:1721)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1630)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1570)
	at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1337)
	at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5259)
	at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5069)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:879)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:862)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:862)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:835)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1898)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	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)

In addition, we tested where I moved the 9-1 to hex HT Y8 but the other person saw the final location as HT X7 (i.e. one hex away). When he moved the 9-1 from X7 to Y9 on HIS screen, I did not get another ghost but my leader in Y8 never moved). When I sync to him, I then see leader in Y9 /AND/ all the ghost images. There is also now a lag when moving units (but that may be just because VASSAL is in an unstable state).

Finally, we exited VASSAL entirely, restarted and loaded up map board 1 (instead of Hatten) and put our trusty 9-1 leader on the board and… exactly the same ghost image issue happened. So it is NOT related to the Hatten board individually.

Update: So, we also tested out the module Ardennes '44 with the two of us and there were NO ISSUES. So this may be something exclusive to VASL! (:< ).

I’m looking at this now.

BTW, I fixed your post: Things like error messages and program output are best shown as preformatted text, which you can get by putting it between triple backticks like so: ``` text ```.

Would you post the complete error log from that run, not just what was in the error dialog?

That is/was all I saw. I’ll try to reproduce it again tonight (but have my kids’ Winter concert coming up, so might not get to it tonight…).

Please, please do post your full error log when you have a chance. (Instructions for where to find it: Error Logs - Vassal)

I found it, but how do I post it? Using the text you mention above? Or is there a way to attach it?

Actually found the ones generated the day before when we first discovered it, so can compress and post them all if I can somehow post a *.zip file.

Upload them somewhere I can download them, like Dropbox, Google Drive, paste them into a pastebin, email me them. There are a lot of ways.

Email sent with log files as zip attachment.

The error in the log from Vassal 3.5.3 running VASL 6.6.1 and from Vassal 3.6.1 running VASL 6.6.2 are from a VASL bug that I believe is fixed in VASL 6.6.3.1. The logs don’t contain the error you quoted above involving the CounterDetailViewer, and I suspect are not from the same run.

I would still like to see the full error log from a run where you were told Vassal was unable to submit the bug report. Please try to reproduce the error and send me a log from that.

Please also try the most recent development build in our builds archvie, VASSAL-3.6.2-SNAPSHOT-4f3d3d2-master. Does that fix the problem you’re seeing?

That’s odd :(. Those are the only error log files that I see in the roaming folder.

I’ll try to recreate things tonight, both with current builds of Vassal and VASL and with the 3.6.2 Vassal build.

I’ll send an email with the logfile shortly, but the 3.6.2-SNAPSHOT fixed everything… no issues whatsoever once we both updated to that build.

1 Like

Thanks for the logfiles. I’ll make a diagnostic program tomorrow for you to run so we can troubleshoot the SSL certificate problem.

@kbernatz 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.

Not sure I’m doing this right, but if I run the line including the leading ", I get 3.6.2 as output for each.
If I try running without the leading ", I get saying
‘C:\Program’ is not recognized as an internal or external command,
operable program or batch file.

Yes, the leading double quote is required because the path has a space in it.

I wasn’t expecting you to get 3.6.2 as output given the error log I saw from you earlier, at least not from CertTest1—that means you didn’t have the cert error you had before when you ran the test.

What message do you get if you launch 3.6.2 and in the Module Manager select Help > Check for Updates?