vassalengine / vassal

VASSAL, the open-source boardgame engine
https://vassalengine.org
GNU Lesser General Public License v2.1
427 stars 103 forks source link

VASSAL.launch.Launcher - Player not loading - hangs #9539

Closed uckelman closed 3 years ago

uckelman commented 3 years ago
Bugzilla
ID BZ13806
Reported 2020-12-08 00:04:00 +0100
Modified 2020-12-13 22:45:58 +0100
Product VASSAL
Component Player
Version 3.4.11
Platform PC
OS Windows
Status NEW
Resolution None
Priority unspecified
Severity normal
Milestone ---
Reporter Don
Assignee Bugs
CC uckelman@nomic.net

Don 2020-12-08 00:04:02 +0100

Model: HP Envy
OS: Windows 10 Pro
CPU: Intel Core i7-1065G7 @ 1.30GHZ 1.5 GHz
Memory: 12GB
Video: GeForce 8600M GT
VASSAL: 3.4.11
Java: 15 (OpenJDK)

Recently downloaded new Version of Vassal.   I wasn't clear if I needed to uninstall the old version first.  I performed the install and everything worked for several days.   Today I downloaded Warfighter Shadow War from DVG and was poking around on it a bit and left it in the background.   I came back a few hours later and Vassal seemed to be hanging.  I rebooted (which I had not done for several days).  When the PC restarted, I noticed from the main Vassal screen showing your modules, that despite my adding several modules, only one module was appearing which was the module I was playing previously on 3.4.8 (Phantom Leader Deluxe).   I attempted to load it and it hangs.  I rebooted and restarted Vassal and tried to open other modules like Warfighter Shadow Wars and it hangs.    A recent log file is below showing it hanging at the player:

=== LOG file start ==
2020-12-07 16:42:28,118 [0-main] INFO  VASSAL.launch.StartUp - Starting
2020-12-07 16:42:28,118 [0-main] INFO  VASSAL.launch.StartUp - OS Windows 10 10.0
2020-12-07 16:42:28,118 [0-main] INFO  VASSAL.launch.StartUp - Java version 15
2020-12-07 16:42:28,118 [0-main] INFO  VASSAL.launch.StartUp - VASSAL version 3.4.11
2020-12-07 16:42:28,213 [0-AWT-EventQueue-0] INFO  VASSAL.launch.ModuleManager - Manager
2020-12-07 16:42:54,289 [0-SwingWorker-pool-2-thread-1] INFO  VASSAL.launch.AbstractLaunchAction - Loading module file C:\Users\dreed\OneDrive\Documents\a Gaming\Vassal\Phantom Leader Deluxe- Lee.vmod
2020-12-07 16:42:54,534 [0-SwingWorker-pool-2-thread-1] INFO  VASSAL.launch.TilingHandler - No images to tile.
2020-12-07 16:42:54,534 [0-SwingWorker-pool-2-thread-1] INFO  VASSAL.launch.AbstractLaunchAction - Loading module Phantom Leader Deluxe
2020-12-07 16:42:54,549 [0-SwingWorker-pool-2-thread-1] INFO  VASSAL.tools.io.ProcessLauncher - launching C:\Program Files\VASSAL-3.4.11\jre\bin\java -Xms256M -Xmx512M -DVASSAL.id=1 -DVASSAL.port=49817 -Duser.home=C:\Users\dreed -Duser.dir=C:\Program Files\VASSAL-3.4.11 -cp lib\Vengine.jar VASSAL.launch.Player --load -- C:\Users\dreed\OneDrive\Documents\a Gaming\Vassal\Phantom Leader Deluxe- Lee.vmod
2020-12-07 16:42:55,155 [1-main] INFO  VASSAL.launch.StartUp - Starting
2020-12-07 16:42:55,170 [1-main] INFO  VASSAL.launch.StartUp - OS Windows 10 10.0
2020-12-07 16:42:55,170 [1-main] INFO  VASSAL.launch.StartUp - Java version 15
2020-12-07 16:42:55,170 [1-main] INFO  VASSAL.launch.StartUp - VASSAL version 3.4.11
2020-12-07 16:42:55,170 [1-main] INFO  VASSAL.launch.Launcher - Player
=== LOG file end =====

I was thinking perhaps it had to do with my not uninstalling prior to I uninstalled and reinstalled 3.4.8 and it didn't work.   Since it didn't work and is hanging at the same spot, I re-installed back to 3.4.11 and again it was hanging at "Player".   I disabled Windows Defender (Private Network) wondering if it was causing the issue but the same result.   At a loss?  Any help you can provide would be appreciated.  I do still see the old Vassal directories still in Program files despite the uninstall, not sure if that matters.   

One last note - thinking the issue had to do with Java, I did install OpenJDK and confirmed java is reporting the correct version, 15 but still the problem persists.

Joel Uckelman 2020-12-08 00:19:33 +0100

Does it work if you try to load a module which _isn't_ on OneDrive?

Don 2020-12-08 05:02:16 +0100

I just moved the files from OneDrive and it seemed to start loading a module and then it got stuck on the player again.   I restarted and now its hanging on just bringing up the open module windows box.   After about 5 mins, the box returned.  I was able to load warfighter shadow wars module and then load a saved game.  

While the manager module was hanging, I did check via task manager and java was not responding.  Question - Is it necessary for me to have installed separately the OpenJDK?  Earlier I thought it was a java issue so I followed instructions on how to do download it and put it in the search path but now i'm wondering if I have two javas, one delivered with Vassal and the OpenJDK I installed. 

Well, it now seems to be working better. I will try again and everything came up quickly having move the files from one drive.  Not sure 100% if that was it or not but I will leave them off of onedrive and try again in the morning.

Thanks,
Don

Joel Uckelman 2020-12-08 12:37:18 +0100

(In reply to Don from comment #2)
> I just moved the files from OneDrive and it seemed to start loading a module
> and then it got stuck on the player again.   I restarted and now its hanging
> on just bringing up the open module windows box.   After about 5 mins, the
> box returned.  I was able to load warfighter shadow wars module and then
> load a saved game.  

This sounds like a problem with OneDrive to me. Network file systems on Windows can balky due to holding open files when you're trying to read them, among other things.

> Question - Is it necessary for me to have installed
> separately the OpenJDK? 

No, not since 3.3, when we started bundling Java with VASSAL. Whatever version of OpenJDK you have installed won't be used by VASSAL 3.3 or later. Having Java installed separately won't interfere with VASSAL, either---it just won't be used and won't make any difference for running VASSAL.

Don 2020-12-08 15:41:54 +0100

So this morning, I tried to load another module that is not on onedrive and its behaving similarly.   I attempted to load 'B25 Prince of the Skies' and it appears to hang.  The error log stops on 'Player'.  See log below:

== Log start ==

2020-12-08 08:25:50,214 [0-main] INFO  VASSAL.launch.StartUp - Starting
2020-12-08 08:25:50,214 [0-main] INFO  VASSAL.launch.StartUp - OS Windows 10 10.0
2020-12-08 08:25:50,214 [0-main] INFO  VASSAL.launch.StartUp - Java version 15
2020-12-08 08:25:50,214 [0-main] INFO  VASSAL.launch.StartUp - VASSAL version 3.4.11
2020-12-08 08:25:50,307 [0-AWT-EventQueue-0] INFO  VASSAL.launch.ModuleManager - Manager
2020-12-08 08:26:10,670 [0-SwingWorker-pool-2-thread-1] INFO  VASSAL.launch.AbstractLaunchAction - Loading module file C:\DREED\Vassal-non-onedrive\B-25_Prince_of_the_Skies.vmod
2020-12-08 08:26:10,919 [0-SwingWorker-pool-2-thread-1] INFO  VASSAL.launch.TilingHandler - No images to tile.
2020-12-08 08:26:10,919 [0-SwingWorker-pool-2-thread-1] INFO  VASSAL.launch.AbstractLaunchAction - Loading module B-25 Prince of the Skies - OLD
2020-12-08 08:26:10,919 [0-SwingWorker-pool-2-thread-1] INFO  VASSAL.tools.io.ProcessLauncher - launching C:\Program Files\VASSAL-3.4.11\jre\bin\java -Xms256M -Xmx512M -DVASSAL.id=1 -DVASSAL.port=55018 -Duser.home=C:\Users\dreed -Duser.dir=C:\Program Files\VASSAL-3.4.11 -cp lib\Vengine.jar VASSAL.launch.Player --load -- C:\DREED\Vassal-non-onedrive\B-25_Prince_of_the_Skies.vmod
2020-12-08 08:26:11,536 [1-main] INFO  VASSAL.launch.StartUp - Starting
2020-12-08 08:26:11,536 [1-main] INFO  VASSAL.launch.StartUp - OS Windows 10 10.0
2020-12-08 08:26:11,536 [1-main] INFO  VASSAL.launch.StartUp - Java version 15
2020-12-08 08:26:11,536 [1-main] INFO  VASSAL.launch.StartUp - VASSAL version 3.4.11
2020-12-08 08:26:11,536 [1-main] INFO  VASSAL.launch.Launcher - Player

=== end log file ===

Last night, it eventually returned after several minutes so I will let it run in background to see if it ever completes.   Its already been over 15 minutes.  Any ideas on how to resolve this?

Don 2020-12-08 17:37:01 +0100

More convinced than ever that I have some sort of a Java issue but unclear how to resolve it.   I attempted to load a new module and now it hangs at 'VASSAL.launch.ModuleManager - Manager'.   I removed the OpenJDK I put in place as it was stated before, that wasn't necessary as VASSAL comes with the java it needs to run.  I restarted and the same problem, Vassal just hangs but now it consistently hangs on 'Manager'.   I examined the app that is running and says javaw.exe is not responding.   This time after 10 mins or so, the open module dialog window returned.   I again tried to load 'B25 - Prince of the Skies' and now its hanging at 'Player' again.   Suspect it may be Windows Defender blocking something so I will turn it off, reboot and retest.  More to come.

Don 2020-12-08 18:34:46 +0100

OK, some progress. I did temp disable windows defender and after several minute, everything started to work as normal.   I thought that was it but I restarted with it Windows Defender disabled and it hung again.    So I re-enabled Windows Defender and restarted and then after restart, I started Vassal and attempted to load a save Warfighter game.   I clicked the module and waited and after about 5-10 mins it returned and it allowed me to load a saved game.      From the log file, it points to some time of error and a Java connection reset:

Excerpt from log starting at call to 'Player':

2020-12-08 11:15:26,386 [1-main] INFO  VASSAL.launch.Launcher - Player
2020-12-08 11:20:31,582 [1-AWT-EventQueue-0] INFO  VASSAL.launch.BasicModule - Warfighter-Modern Night Card Game version 0.0
2020-12-08 11:20:31,600 [1-AWT-EventQueue-0] WARN  VASSAL.i18n.BundleHelper - No Translation: Wizard.Next_mnemonic
2020-12-08 11:20:31,601 [1-AWT-EventQueue-0] WARN  VASSAL.i18n.BundleHelper - No Translation: Wizard.Prev_mnemonic
2020-12-08 11:20:31,601 [1-AWT-EventQueue-0] WARN  VASSAL.i18n.BundleHelper - No Translation: Wizard.Finish_mnemonic
2020-12-08 11:20:31,601 [1-AWT-EventQueue-0] WARN  VASSAL.i18n.BundleHelper - No Translation: Wizard.Cancel_mnemonic
2020-12-08 11:20:56,422 [1-AWT-EventQueue-0] INFO  VASSAL.build.GameModule - Exiting
2020-12-08 11:20:57,204 [0-IPC receiver for 863077616] ERROR VASSAL.tools.ipc.IPCMessageReceiver - Error while reading IPC message
java.net.SocketException: Connection reset
    at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:323)
    at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
    at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
    at java.base/java.net.Socket$SocketInputStream.read(Socket.java:981)
    at java.base/java.net.Socket$SocketInputStream.read(Socket.java:976)
    at java.base/java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2862)
    at java.base/java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:3189)
    at java.base/java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:3199)
    at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1652)
    at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:508)
    at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:466)
    at VASSAL.tools.ipc.IPCMessageReceiver.run(IPCMessageReceiver.java:35)
    at java.base/java.lang.Thread.run(Thread.java:832)

=== end log ====

So I think it has something to do with java but unclear what and how long I should give it to eventually return.  Again, sometimes its come back in 10 mins, other times I've waited almost 30 mins and it was still hung.   At least I've got all the modules I'm playing loaded.

Thoughts on how to confirm java is working correctly?

Don 2020-12-09 23:16:28 +0100

Additional note.  Now that I have not rebooted for two days, I can move around in Vassal as normal which is nice to see.  Perhaps the issue has to do with java and restarting my PC and it waiting for java to respond following the restart?   That is my theory.  At this point, I think I'm fine.  if I see the issue again after a restart, I will just give it awhile to run in the background and then after that, I suspect performance will return to normal.

Joel Uckelman 2020-12-13 22:45:00 +0100

(In reply to Don from comment #6)
> 2020-12-08 11:20:57,204 [0-IPC receiver for 863077616] ERROR
> VASSAL.tools.ipc.IPCMessageReceiver - Error while reading IPC message
> java.net.SocketException: Connection reset

This is normal on Windows when you exit the Player. It's not indicative of an error.

Joel Uckelman 2020-12-13 22:45:58 +0100

It sounds like Defender is preventing VASSAL from reading or writing files, but eventually Defender gives up and lets it? That's very strange.
Cattlesquat commented 3 years ago

Seems like it must have been resolved via the Windows Defender route