Mac OS 12.2.1, Vassal 3.6.5, crash and not relaunch

Hi,

After using Vassal for a random amount of time, I get a message error saying that there was an issues with Vassal and that I should relaunch it. The program does not crash and I can continue using it. The following error is mentionned.

java.io.EOFException
at java.base/java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2926)
at java.base/java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3421)
at java.base/java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:959)
at java.base/java.io.ObjectInputStream.(ObjectInputStream.java:397)
at VASSAL.launch.ModuleManagerSocketListener.run(ModuleManagerSocketListener.java:60)
at java.base/java.lang.Thread.run(Thread.java:833)

When I quit Vassal, I cannot re-launch it before rebooting the computer.

Any thoughts ?

Guillaume

We need the full error log in order to assist you. Please post that.

https://vassalengine.org/wiki/Error_Logs

Thanks ! I happened again today. Here is the error log.
Best,
Guillaume

2022-03-16 18:15:11,627 [35274-AWT-EventQueue-0] INFO VASSAL.build.GameModule - Exiting
2022-03-16 20:52:59,189 [23486-SwingWorker-pool-1-thread-8] INFO VASSAL.launch.AbstractLaunchAction - Loading module file /Users/guillaumedaudin/Dropbox/Guillaume-Marc/Nevsky_v1-2-5.vmod
2022-03-16 20:52:59,328 [23486-SwingWorker-pool-1-thread-8] INFO VASSAL.launch.TilingHandler - No images to tile.
2022-03-16 20:52:59,329 [23486-SwingWorker-pool-1-thread-8] INFO VASSAL.launch.AbstractLaunchAction - Loading module Nevsky
2022-03-16 20:52:59,334 [23486-SwingWorker-pool-1-thread-8] INFO VASSAL.tools.io.ProcessLauncher - launching /Applications/VASSAL.app/Contents/MacOS/jre/bin/java -Xms512M -Xmx512M -Duser.home=/Users/guillaumedaudin -Duser.dir=/Applications/VASSAL.app -cp Contents/Resources/Java/Vengine.jar -Xdock:name=Nevsky -Xdock:icon=/Applications/VASSAL.app/Contents/Resources/VASSAL.icns VASSAL.launch.Player --load – /Users/guillaumedaudin/Dropbox/Guillaume-Marc/Nevsky_v1-2-5.vmod
2022-03-16 20:53:00,095 [36489-main] INFO VASSAL.launch.StartUp - Starting
2022-03-16 20:53:00,113 [36489-main] INFO VASSAL.launch.StartUp - OS Mac OS X 12.2.1 x86_64
2022-03-16 20:53:00,113 [36489-main] INFO VASSAL.launch.StartUp - Java version 17.0.2
2022-03-16 20:53:00,113 [36489-main] INFO VASSAL.launch.StartUp - Java home /Applications/VASSAL.app/Contents/MacOS/jre
2022-03-16 20:53:00,113 [36489-main] INFO VASSAL.launch.StartUp - VASSAL version 3.6.5
2022-03-16 20:53:00,113 [36489-main] INFO VASSAL.launch.Launcher - Player
2022-03-16 20:53:03,721 [36489-AWT-EventQueue-0] INFO VASSAL.build.GameModule - Nevsky version 1.2.5
2022-03-16 20:53:18,719 [36489-AWT-EventQueue-0] INFO VASSAL.build.module.GameState - Loading save game /Users/guillaumedaudin/Dropbox/Guillaume-Marc/Nevsky4 041 T3 Rus Muster.vlog, created with module version 1.2.5
2022-03-16 21:03:07,844 [36489-AWT-EventQueue-0] INFO VASSAL.tools.io.ProcessLauncher - launching /Applications/VASSAL.app/Contents/MacOS/jre/bin/java -classpath Contents/Resources/Java/Vengine.jar -Duser.dir=/Applications/VASSAL.app VASSAL.launch.ModuleManager --update-game /Users/guillaumedaudin/Dropbox/Guillaume-Marc/Nevsky4 042 T3 Teutons Call for Arms.vlog
2022-03-16 21:03:08,534 [36585-main] ERROR VASSAL.launch.ModuleManager - VASSAL: Problem with socket on port 59379
java.net.SocketException: Broken pipe
at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:420)
at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:440)
at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:826)
at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:1035)
at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
at java.base/java.io.ObjectOutputStream$BlockDataOutputStream.flush(ObjectOutputStream.java:1842)
at java.base/java.io.ObjectOutputStream.flush(ObjectOutputStream.java:728)
at VASSAL.launch.ModuleManager.main(ModuleManager.java:229)
Suppressed: java.net.SocketException: Broken pipe
at java.base/sun.nio.ch.NioSocketImpl.implWrite(NioSocketImpl.java:420)
at java.base/sun.nio.ch.NioSocketImpl.write(NioSocketImpl.java:440)
at java.base/sun.nio.ch.NioSocketImpl$2.write(NioSocketImpl.java:826)
at java.base/java.net.Socket$SocketOutputStream.write(Socket.java:1035)
at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
at java.base/java.io.ObjectOutputStream$BlockDataOutputStream.flush(ObjectOutputStream.java:1842)
at java.base/java.io.ObjectOutputStream.flush(ObjectOutputStream.java:728)
at java.base/java.io.ObjectOutputStream.close(ObjectOutputStream.java:749)
at VASSAL.launch.ModuleManager.main(ModuleManager.java:224)
2022-03-16 21:03:08,661 [23486-socket listener] ERROR VASSAL.tools.ProblemDialog -
java.io.EOFException: null
at java.base/java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2926)
at java.base/java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3421)
at java.base/java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:959)
at java.base/java.io.ObjectInputStream.(ObjectInputStream.java:397)
at VASSAL.launch.ModuleManagerSocketListener.run(ModuleManagerSocketListener.java:60)
at java.base/java.lang.Thread.run(Thread.java:833)

It looks like something is failing with the socket that the Module Manager uses to ensure that only one Module Manager runs at a time.

You might try closing the Module Manager, deleting the key and lock files in ~/Library/Application Support/VASSAL, and opening the Module Manager again.

Thanks ! I have done that, and the Module manager still does not open.
Here is the error log :
2022-03-17 08:33:12,324 [39119-main] INFO VASSAL.launch.StartUp - Starting
2022-03-17 08:33:12,342 [39119-main] INFO VASSAL.launch.StartUp - OS Mac OS X 12.2.1 x86_64
2022-03-17 08:33:12,342 [39119-main] INFO VASSAL.launch.StartUp - Java version 17.0.2
2022-03-17 08:33:12,342 [39119-main] INFO VASSAL.launch.StartUp - Java home /Applications/VASSAL.app/Contents/MacOS/jre
2022-03-17 08:33:12,342 [39119-main] INFO VASSAL.launch.StartUp - VASSAL version 3.6.5
2022-03-17 08:33:12,730 [39119-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManager - Manager
2022-03-17 08:33:13,431 [39119-main] ERROR VASSAL.launch.ModuleManager - VASSAL: Problem with socket on port 57668
java.net.SocketException: Bad file descriptor
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:325)
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:966)
at java.base/java.io.InputStream.transferTo(InputStream.java:782)
at VASSAL.launch.ModuleManager.main(ModuleManager.java:232)
2022-03-17 08:33:13,432 [39119-socket listener] ERROR VASSAL.tools.ProblemDialog -
java.io.EOFException: null
at java.base/java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2926)
at java.base/java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3421)
at java.base/java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:959)
at java.base/java.io.ObjectInputStream.(ObjectInputStream.java:397)
at VASSAL.launch.ModuleManagerSocketListener.run(ModuleManagerSocketListener.java:60)
at java.base/java.lang.Thread.run(Thread.java:833)

Based on your first error log, it looks like you’re trying to open a module stored on Dropbox, rather than directly on your system…Java really doesn’t like dealing with remote files, so I suggest you copy it locally and try again.

Thanks. I would do that. But for the time being, vassal (the application is in a local folder) does not open at all.

The problem you’re seeing is not due to the module being in Dropbox.

Would you check if there’s still a java process running? You can do that from a terminal using ps -aux | grep java. What’s the output of that?

I get
(base) guillaumedaudin@Oronte ~ % ps -aux | grep java
ps: No user named ‘x’

So I must I have done something wrong… Slightly changing the command gets :
(base) guillaumedaudin@Oronte ~ % ps -a | grep java
47224 ttys000 0:00.00 grep java

Argh. I always forget that BSD ps is like this. Do that without the hyphen: ps aux | grep java. Verify that Vassal still won’t start first, though, otherwise this isn’t testing anything.

It is not launching all right :slight_smile:

(base) guillaumedaudin@Oronte ~ % ps aux | grep java
guillaumedaudin 1340 0,0 0,0 34141276 912 s000 S+ 7:49 0:00.00 grep java

Ok, so the problem you’re having is not that there’s a Module Manager process that failed to exit.

What does lsof -i -P -n | grep 57668 print?

(I’m assuming that 57668 was the port number in the last error message you got, and that you haven’t rebooted.)

Hi,
Thank you all for your help. The bug has not reappeared (I am now on 12.3.1). I still get the message about having to re-lauch Vassal from time to time, but when I do that it actually opens (which it did not).
Best,
Guillaume