VASSAL Memory Heap Size errors

Hi,

The previous thread (ended on 3/6/2015) about “Heap Size” didn’t seem to have a solution to this, so I’m posting my issue as a new thread hopefully to get some suggestions for solutions.

I’ve been having this error message (below) every time I load up VASSAL, even the most recent 3.2.15 version and using the 5.2.3 X-Wing Miniatures Game Module:

”The maximum heap size stored in your Preferences for this module is too large. In particular, the maximum heap size must be less than the amount of physical RAM in your machine. The failsafe initial heap size of 128MB will be used instead. Please decrease the maximum heap size in your Preferences, and restart VASSAL.”

My preferences is set at 128 for both fields, and I even uninstalled VASSAL and reinstalled both the engine and the module, and I’m still getting this error. I have 8GB of RAM (on Windows 7) and easily have enough memory for 128MB. This has been causing issues with firing arcs and movement, where I stop having the ability to see my firing arc (ships disappear and error messages about memory size pop up 2-3 times in a row).

I don’t understand how my “max heap size” could be “too large” if it’s set to the same value as the “failsafe heap size”. Setting it larger causes the same issue, even though I have plenty of physical RAM (4 GB free right now)

Does anyone know if there’s a solution for this or if there’s something I can do to fix these memory issues?
screencast.com/t/rbHNisTHgyB

Thanks everyone!

No one has this issue or know the reason?

Thus spake kryzak:

No one has this issue or know the reason?

We need to see the error log from one of these runs in order to help
you.

vassalengine.org/wiki/Error_Logs


J.

Ahh thanks! here it is

I don’t see anything in there about the error I’m seeing, so if there’s a way to get it stored in the error log (I get the memory heap popup every time I load the module), let me know and I’ll recreate it.

Thanks!

(changed extension to .txt because this forum wouldn’t let me upload otherwise.)

Thus spake kryzak:

Ahh thanks! here it is

I don’t see anything in there about the error I’m seeing, so if there’s
a way to get it stored in the error log (I get the memory heap popup
every time I load the module), let me know and I’ll recreate it.

Thanks!

I suspect that this is your problem:

2015-04-23 09:25:57,912 [0-SwingWorker-pool-28031745-thread-1] INFO VASSAL.tools.io.ProcessLauncher - launching C:\Program Files (x86)\Java\jre1.8.0_45\bin\java -Xms256M -Xmx2048M -DVASSAL.id=1 -DVASSAL.port=56984 -Duser.home=C:\Users\Kryzak -Duser.dir=C:\Program Files\VASSAL-3.2.15 -cp lib\Vengine.jar VASSAL.launch.Player --load – C:\SKYDRIVE\HOBBIES\X-Wing\VASSAL FILES\Star_Wars_X-Wing_Miniatures_Game-5.2.3.vmod

Java requires that its heap be allocated in a contiguous block. Your max
heap is set to 2048MB, which you could fail to have free in one chunk
despite having 4GB RAM free in aggregate.

Try something like 256MB/512MB for min and max.


J.

Ahh, thanks for catching that! That’s strange, because when I open my preferences, it has “128 MB” in both the initial and max heap size. I’m not sure how the log file had it set to 256 and 2048. Is there somewhere else I can change this?

Cheers!

Thus spake kryzak:

Ahh, thanks for catching that! That’s strange, because when I open my
preferences, it has “128 MB” in both the initial and max heap size. I’m
not sure how the log file had it set to 256 and 2048. Is there
somewhere else I can change this?

It’s not stored in the log. It’s stored in your user prefs. Prefs are
stored in the prefs directory, which itself is in the same directory
as the errorLog. Instructions for finding the errorLog are here:

vassalengine.org/wiki/Error_Logs

Each file in the prefs directory corresponds to a module. There will
be a line inside the file which has “maximumHeap=” on it. You could
either change the value on that line or just delete the prefs file for
the module (if you don’t have any other prefs you care about keeping,
since it will be recreated the next time you load the module).


J.

OMG! That worked! Somehow changing it in the “preference” menu of the program didn’t work, but when I edited the 2 files I found in the “pref” folder, everything was set correctly to 256/512 and I don’t get the error message anymore.

Thank you J!!!

Hello,

I’m not sure if this is the correct place to post, but I am getting a socket error when trying to load the WitP2 module in Vassal. I have the latest Vassal and the latest Java (8 update 71) running on Mac OS X 10.9.5. The module stops loading at 70% and throws an error message. I have increased the system heap Vassal’s prefs to 2 and 3 gigs (my machine has only 4 gigs of RAM), and there is no heap line in my Vassal prefs file. Here is the error message:

java.util.concurrent.ExecutionException: java.io.IOException: return value == 1
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at org.jdesktop.swingworker.SwingWorker.get(Unknown Source)
at VASSAL.launch.AbstractLaunchAction$LaunchTask.done(AbstractLaunchAction.java:600)
at VASSAL.launch.Player$LaunchAction$1.done(Player.java:188)
at org.jdesktop.swingworker.SwingWorker$5.run(Unknown Source)
at org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source)
at org.jdesktop.swingworker.AccumulativeRunnable.run(Unknown Source)
at org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source)
at javax.swing.Timer.fireActionPerformed(Timer.java:291)
at javax.swing.Timer$DoPostEvent.run(Timer.java:221)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:205)
at java.awt.Dialog$1.run(Dialog.java:1049)
at java.awt.Dialog$3.run(Dialog.java:1101)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1099)
at java.awt.Component.show(Component.java:1615)
at java.awt.Component.setVisible(Component.java:1567)
at java.awt.Window.setVisible(Window.java:846)
at java.awt.Dialog.setVisible(Dialog.java:984)
at VASSAL.launch.TilingHandler$3.run(TilingHandler.java:267)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.io.IOException: return value == 1
at VASSAL.launch.TilingHandler.runSlicer(TilingHandler.java:306)
at VASSAL.launch.TilingHandler.sliceTiles(TilingHandler.java:375)
at VASSAL.launch.AbstractLaunchAction$LaunchTask.doInBackground(AbstractLaunchAction.java:281)
at VASSAL.launch.AbstractLaunchAction$LaunchTask.doInBackground(AbstractLaunchAction.java:244)
at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)

Any help would be appreciated. I had this problem with previous versions of Java, and other gamers on our WitP forum have experienced the it as well.

Thus spake RussDumke:

Hello,

I’m not sure if this is the correct place to post, but I am getting a
socket error when trying to load the WitP2 module in Vassal. I have the
latest Vassal and the latest Java (8 update 71) running on Mac OS X
10.9.5. The module stops loading at 70% and throws an error message. I
have increased the system heap Vassal’s prefs to 2 and 3 gigs (my
machine has only 4 gigs of RAM), and there is no heap line in my Vassal
prefs file. Here is the error message:

Try clearing your tile cache.

J.

Hello,

Thank you for the quick response. Unfortunately, clearing the tile cache didn’t work. Vassal tells me that the socket over which the module manager communicate has a fault (this is the same message I got before). I still hang at 70%. Here is the log msg I got after clearing the tile cache and retrying:

java.util.concurrent.ExecutionException: java.io.IOException: return value == 1
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at org.jdesktop.swingworker.SwingWorker.get(Unknown Source)
at VASSAL.launch.AbstractLaunchAction$LaunchTask.done(AbstractLaunchAction.java:600)
at VASSAL.launch.Player$LaunchAction$1.done(Player.java:188)
at org.jdesktop.swingworker.SwingWorker$5.run(Unknown Source)
at org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source)
at org.jdesktop.swingworker.AccumulativeRunnable.run(Unknown Source)
at org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source)
at javax.swing.Timer.fireActionPerformed(Timer.java:291)
at javax.swing.Timer$DoPostEvent.run(Timer.java:221)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:205)
at java.awt.Dialog$1.run(Dialog.java:1049)
at java.awt.Dialog$3.run(Dialog.java:1101)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1099)
at java.awt.Component.show(Component.java:1615)
at java.awt.Component.setVisible(Component.java:1567)
at java.awt.Window.setVisible(Window.java:846)
at java.awt.Dialog.setVisible(Dialog.java:984)
at VASSAL.launch.TilingHandler$3.run(TilingHandler.java:267)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.io.IOException: return value == 1
at VASSAL.launch.TilingHandler.runSlicer(TilingHandler.java:306)
at VASSAL.launch.TilingHandler.sliceTiles(TilingHandler.java:375)
at VASSAL.launch.AbstractLaunchAction$LaunchTask.doInBackground(AbstractLaunchAction.java:281)
at VASSAL.launch.AbstractLaunchAction$LaunchTask.doInBackground(AbstractLaunchAction.java:244)
at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)

RD

Hello again,

Just to add more info, I took the upstream advice and tried changing the heaps prefs to 256/512. Still got the same problem.

Thanks,
RD

Hi folks,
On my MacBookPro I get the following error after installing the latest version of Vassal and the latest version of WitP Mod.The error comes each times after 68% of Processing. I am technically not good at pc’s. Is there a simple remedy to this problem - or a step-by-step solution for ‘Super-dummies’? (I restarted Vassal several times):

The socket over which the Module Manager communicates has had a fault. Please restart VASSAL.

java.util.concurrent.ExecutionException: java.io.IOException: return value == 1
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at org.jdesktop.swingworker.SwingWorker.get(Unknown Source)
at VASSAL.launch.AbstractLaunchAction$LaunchTask.done(AbstractLaunchAction.java:600)
at VASSAL.launch.Player$LaunchAction$1.done(Player.java:188)
at org.jdesktop.swingworker.SwingWorker$5.run(Unknown Source)
at org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source)
at org.jdesktop.swingworker.AccumulativeRunnable.run(Unknown Source)
at org.jdesktop.swingworker.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source)
at javax.swing.Timer.fireActionPerformed(Timer.java:291)
at javax.swing.Timer$DoPostEvent.run(Timer.java:221)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:205)
at java.awt.Dialog$1.run(Dialog.java:1049)
at java.awt.Dialog$3.run(Dialog.java:1101)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1099)
at java.awt.Component.show(Component.java:1615)
at java.awt.Component.setVisible(Component.java:1567)
at java.awt.Window.setVisible(Window.java:846)
at java.awt.Dialog.setVisible(Dialog.java:984)
at VASSAL.launch.TilingHandler$3.run(TilingHandler.java:267)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.io.IOException: return value == 1
at VASSAL.launch.TilingHandler.runSlicer(TilingHandler.java:306)
at VASSAL.launch.TilingHandler.sliceTiles(TilingHandler.java:375)
at VASSAL.launch.AbstractLaunchAction$LaunchTask.doInBackground(AbstractLaunchAction.java:281)
at VASSAL.launch.AbstractLaunchAction$LaunchTask.doInBackground(AbstractLaunchAction.java:244)
at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.jdesktop.swingworker.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)

LionelR, we need the entire errorLog in order to have a shot at troubleshooting this.

That is all I had

Thus spake LionelR:

That is all I had

That’s not a complete errorLog. Did you copy this from the error dialog?
To find the errorLog, go to Help > Show Error Log in the Module Manager
after you’ve had this error occur.


J.