Local/Global Properties

Brent, you made my day (and saved me hours and hours of work), thanks for figuring this out!

Have submitted a fix to branch Brent-3.2@8216.

As Seth found, the identity of the Global property container (module, map or zone) was not being encoded when Commands where generated to set or change property values. This caused all references to a property in different containers to be handled by the first container found, effectively making the subsequent same named properties invisible.

The same fix needs to be applied to the latest 3.1 branch as well.

Thus spake Brent Easton:

Have submitted a fix to branch Brent-3.2@8216.

As Seth found, the identity of the Global property container (module,
map or zone) was not being encoded when Commands where generated to set
or change property values. This caused all references to a property in
different containers to be handled by the first container found,
effectively making the subsequent same named properties invisible.

The same fix needs to be applied to the latest 3.1 branch as well.

Thanks, Brent. I’ll merge this when I return home from Iceland tomorrow.


J.

Thus spake Brent Easton:

Have submitted a fix to branch Brent-3.2@8216.

As Seth found, the identity of the Global property container (module,
map or zone) was not being encoded when Commands where generated to set
or change property values. This caused all references to a property in
different containers to be handled by the first container found,
effectively making the subsequent same named properties invisible.

Merged to 3.2@8218. Try the build I’ve uploaded.

vassalengine.org/~uckelman/builds/

I’ll roll this into 3.1 tomorrow.


J.

Just tried to install the new build and it doesn’t seem to install the vassal EXE (for the Win version of course). Is there a problem with the installer?

Neither standard nor custom install seems to install the EXE. Not sure if any other vital files are missing, I just know it does not run.

Thanks again

Confirming failure to install. Reverting to last build.

Flaney

Thus spake Flaney:

“chrono280” wrote:

Just tried to install the new build and it doesn’t seem to install the
vassal EXE (for the Win version of course). … Neither standard nor
custom install seems to install the EXE. Not sure if any other vital
files are missing, I just know it does not run.

Confirming failure to install. Reverting to last build.

Try downloading svn8218 again. I started using parallel Make a few days
before making the original svn8218 build, and it appears that our
Makefile does not have the goals for all of the requirements specified
properly.


J.

OK just tested newest build (svn8221) the installer now works correctly and bug 4278 seems to be completely fixed. Can’t thank you guys enough.

Thus spake Brent Easton:

Have submitted a fix to branch Brent-3.2@8216.

As Seth found, the identity of the Global property container (module,
map or zone) was not being encoded when Commands where generated to set
or change property values. This caused all references to a property in
different containers to be handled by the first container found,
effectively making the subsequent same named properties invisible.

The same fix needs to be applied to the latest 3.1 branch as well.

Merged to 3.1.20-svn8223.

I had to add a missing getParent() method to MutableProperty.Impl.

I’ve uploaded 3.1.20-svn8224 to the usual place. Please give it a try.


J.

Just tested out svn8224 and got an Exception. I was testing the same module I used under 8221 last night. The only difference is this time I am using 2 computers on my lan (with different login details) rather than 2 users across the internet. The exception occurs whenever a game piece with any dynamic properties gets a keystroke done on it: It is repeatable dragging a new unit to the board (gets a keystroke from the board) or applying a keystroke to a counter in my production window in the module.

[code]2012-07-25 19:15:56,428 [0-main] INFO VASSAL.launch.StartUp - Starting
2012-07-25 19:15:56,428 [0-main] INFO VASSAL.launch.StartUp - OS Windows 7
2012-07-25 19:15:56,428 [0-main] INFO VASSAL.launch.StartUp - Java version 1.6.0_31
2012-07-25 19:15:56,428 [0-main] INFO VASSAL.launch.StartUp - VASSAL version 3.2.0-svn8224
2012-07-25 19:15:57,036 [0-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManager - Manager
2012-07-25 19:16:03,089 [0-SwingWorker-pool-21781303-thread-1] INFO VASSAL.launch.AbstractLaunchAction - Loading module file C:\Users\Bob\Documents\Space Empires\Vassal\Modules\se4x-close-encounters-2beta.vmod
2012-07-25 19:16:10,234 [0-SwingWorker-pool-21781303-thread-1] INFO VASSAL.launch.TilingHandler - No images to tile.
2012-07-25 19:16:10,234 [0-SwingWorker-pool-21781303-thread-1] INFO VASSAL.launch.AbstractLaunchAction - Loading module Space Empires 4x Close Encounters
2012-07-25 19:16:10,265 [0-SwingWorker-pool-21781303-thread-1] INFO VASSAL.tools.io.ProcessLauncher - launching C:\Program Files (x86)\Java\jre6\bin\java -Xms256M -Xmx512M -DVASSAL.id=1 -DVASSAL.port=49585 -Duser.home=C:\Users\Bob -cp lib\Vengine.jar VASSAL.launch.Player --load – C:\Users\Bob\Documents\Space Empires\Vassal\Modules\se4x-close-encounters-2beta.vmod
2012-07-25 19:16:11,170 [1-main] INFO VASSAL.launch.StartUp - Starting
2012-07-25 19:16:11,170 [1-main] INFO VASSAL.launch.StartUp - OS Windows 7
2012-07-25 19:16:11,170 [1-main] INFO VASSAL.launch.StartUp - Java version 1.6.0_31
2012-07-25 19:16:11,170 [1-main] INFO VASSAL.launch.StartUp - VASSAL version 3.2.0-svn8224
2012-07-25 19:16:11,170 [1-main] INFO VASSAL.launch.Launcher - Player
2012-07-25 19:16:16,677 [1-AWT-EventQueue-0] WARN VASSAL.launch.BasicModule - Space Empires 4x Close Encounters version 2.0beta
2012-07-25 19:16:47,073 [1-AWT-EventQueue-0] INFO VASSAL.script.ExpressionInterpreter - Attempting to load /VASSAL/script/init_expression.bsh URI generated=jar:file:/C:/Program%20Files%20(x86)/VASSAL-3.2.0-svn8224/lib/Vengine.jar!/VASSAL/script/init_expression.bsh
2012-07-25 19:19:29,485 [1-AWT-EventQueue-0] ERROR VASSAL.tools.ErrorDialog -
java.lang.StackOverflowError: null
at java.lang.AbstractStringBuilder.append(Unknown Source) ~[na:1.6.0_31]
at java.lang.StringBuilder.append(Unknown Source) ~[na:1.6.0_31]
at VASSAL.tools.SequenceEncoder.appendEscapedString(SequenceEncoder.java:149) ~[Vengine.jar:na]
at VASSAL.tools.SequenceEncoder.append(SequenceEncoder.java:88) ~[Vengine.jar:na]
at VASSAL.build.module.properties.ChangePropertyCommandEncoder.encode(ChangePropertyCommandEncoder.java:72) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encodeSubCommand(BasicModule.java:269) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:250) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]

at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]

2012-07-25 19:19:47,440 [1-AWT-EventQueue-0] INFO VASSAL.build.GameModule - Exiting
2012-07-25 19:19:48,657 [0-IPC receiver for 13060368] ERROR VASSAL.tools.ipc.IPCMessageReceiver -
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source) ~[na:1.6.0_31]
at java.net.SocketInputStream.read(Unknown Source) ~[na:1.6.0_31]
at java.io.ObjectInputStream$PeekInputStream.peek(Unknown Source) ~[na:1.6.0_31]
at java.io.ObjectInputStream$BlockDataInputStream.peek(Unknown Source) ~[na:1.6.0_31]
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(Unknown Source) ~[na:1.6.0_31]
at java.io.ObjectInputStream.readObject0(Unknown Source) ~[na:1.6.0_31]
at java.io.ObjectInputStream.readObject(Unknown Source) ~[na:1.6.0_31]
at VASSAL.tools.ipc.IPCMessageReceiver.run(IPCMessageReceiver.java:34) ~[Vengine.jar:na]
at java.lang.Thread.run(Unknown Source) [na:1.6.0_31]
2012-07-25 19:19:50,108 [0-SwingWorker-pool-21781303-thread-2] INFO VASSAL.launch.AbstractLaunchAction - Loading module file C:\Users\Bob\Documents\Space Empires\Vassal\Modules\se4x-close-encounters-2beta.vmod
2012-07-25 19:19:50,545 [0-SwingWorker-pool-21781303-thread-2] INFO VASSAL.launch.TilingHandler - No images to tile.
2012-07-25 19:19:50,545 [0-SwingWorker-pool-21781303-thread-2] INFO VASSAL.launch.AbstractLaunchAction - Loading module Space Empires 4x Close Encounters
2012-07-25 19:19:50,560 [0-SwingWorker-pool-21781303-thread-2] INFO VASSAL.tools.io.ProcessLauncher - launching C:\Program Files (x86)\Java\jre6\bin\java -Xms256M -Xmx512M -DVASSAL.id=3 -DVASSAL.port=49803 -Duser.home=C:\Users\Bob -cp lib\Vengine.jar VASSAL.launch.Player --load – C:\Users\Bob\Documents\Space Empires\Vassal\Modules\se4x-close-encounters-2beta.vmod
2012-07-25 19:19:51,512 [3-main] INFO VASSAL.launch.StartUp - Starting
2012-07-25 19:19:51,528 [3-main] INFO VASSAL.launch.StartUp - OS Windows 7
2012-07-25 19:19:51,528 [3-main] INFO VASSAL.launch.StartUp - Java version 1.6.0_31
2012-07-25 19:19:51,528 [3-main] INFO VASSAL.launch.StartUp - VASSAL version 3.2.0-svn8224
2012-07-25 19:19:51,528 [3-main] INFO VASSAL.launch.Launcher - Player
2012-07-25 19:19:55,942 [3-AWT-EventQueue-0] WARN VASSAL.launch.BasicModule - Space Empires 4x Close Encounters version 2.0beta
2012-07-25 19:20:08,555 [3-AWT-EventQueue-0] INFO VASSAL.script.ExpressionInterpreter - Attempting to load /VASSAL/script/init_expression.bsh URI generated=jar:file:/C:/Program%20Files%20(x86)/VASSAL-3.2.0-svn8224/lib/Vengine.jar!/VASSAL/script/init_expression.bsh
2012-07-25 19:21:30,754 [3-AWT-EventQueue-0] ERROR VASSAL.tools.ErrorDialog -
java.lang.StackOverflowError: null
at java.lang.AbstractStringBuilder.append(Unknown Source) ~[na:1.6.0_31]
at java.lang.StringBuilder.append(Unknown Source) ~[na:1.6.0_31]
at VASSAL.build.module.Chatter.encode(Chatter.java:214) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encodeSubCommand(BasicModule.java:269) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:250) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
[this sequence repeats hundreds of times}
[/code]

I also received a “Bad Data In Module” … “Layer - shipCounter” Numeric Field Contains a Non Numeric number. This field normally contains a value dictated by a property sheet (which would always be a number) so maybe the prop sheets are not loading either.

The exception is thrown on either the host or the client players end if they send a keystroke to a counter.

None of this happened under svn 8221.

Thanks,
Have reproduced the problem, looking into it.
Brent.

My other minor error “Bad Data in Module: [Layer - shipCounter] - Numeric field contains a non-number followProperty[numbShips]=” seems to occur occasionally in 8221 whenever a the prototype containing that layer property is invoked. It may just be a property positioning problem, here is how that prototype is configured:

Text Property
Text Property
Calculated Property: numbShips (gets a numeric value from a property sheet on the given counter)
Layer: DIsplays a graphic that corresponds to the numbShips property.

It doesn’t seem to affect the function of this at all, it just throws that error.

The main problem is being caused by the unrelated fix for bug 4302 (svn8224).

Joel, could you back that fix out while I investigate. Could you leave the svn8224 up for a while so Barbenara can try it on his module (will help my debugging).

Thanks.

Will test asap, but currently not able to test network play because I am away from home and having access to one computer only.

Thus spake Brent Easton:

The main problem is being caused by the unrelated fix for bug 4302
(svn8224).

Joel, could you back that fix out while I investigate. Could you leave
the svn8224 up for a while so Barbenara can try it on his module (will
help my debugging).

Done.


J.

Brent, I have done various tests and here is what I found.

Method:

Bug 4278: I used the counter_intuitive test module from this thread: [url]https://forum.vassalengine.org/t/synchronizing-same-name-gp-on-different-maps-buggy/4678/1]

Bug 4302: I used the Marvel Heroes module to check order of reports in log

Where necessary I did more than one test run.

Results:

Vassal 3.1.20 - build 8224:

Bug 4278: fixed :smiley:
Bug 4302: not addressed? :frowning:

Vassal 3.2.0 - build 8221:

Bug 4278: fixed :smiley:
Bug 4302: not addressed

Vassal 3.2.0 - build 8224:

Bug 4278: fixed :smiley:
Bug 4302: errors/crash (see below) :frowning:

Details:

With Vassal 3.2.0 - build 8224 the Marvel Heroes module crashes at the start, right after one or the other network player clicks on his/her initial check in button. Sometimes on the first click, sometimes on the second. Only the local computer will receive the error report, the remote one won’t know about it except the game won’t work as expected from there on: the local computer seems to be able to continue after closing the error message but the remote computer doesn’t seem to get the updates and synchronization is lost. Btw, those check-in buttons don’t involve global hotkeys.

Sample error message (but not sure this looks the same as in a previous test run):

2012-07-27 12:06:25,002 [0-main] INFO VASSAL.launch.StartUp - Starting
2012-07-27 12:06:25,002 [0-main] INFO VASSAL.launch.StartUp - OS Windows 7
2012-07-27 12:06:25,002 [0-main] INFO VASSAL.launch.StartUp - Java version 1.7.0_05
2012-07-27 12:06:25,002 [0-main] INFO VASSAL.launch.StartUp - VASSAL version 3.2.0-svn8224
2012-07-27 12:06:25,049 [0-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManager - Manager
2012-07-27 12:06:42,443 [0-SwingWorker-pool-27262255-thread-1] INFO VASSAL.launch.AbstractLaunchAction - Loading module file C:\Users\Stefano\Desktop\MH module project\MHv1.2.vmod
2012-07-27 12:06:42,786 [0-SwingWorker-pool-27262255-thread-1] INFO VASSAL.launch.TilingHandler - No images to tile.
2012-07-27 12:06:42,786 [0-SwingWorker-pool-27262255-thread-1] INFO VASSAL.launch.AbstractLaunchAction - Loading module Marvel Heroes
2012-07-27 12:06:42,802 [0-SwingWorker-pool-27262255-thread-1] INFO VASSAL.tools.io.ProcessLauncher - launching C:\Program Files (x86)\Java\jre7\bin\java -Xms256M -Xmx512M -DVASSAL.id=1 -DVASSAL.port=50061 -Duser.home=C:\Users\Stefano -cp lib\Vengine.jar VASSAL.launch.Player --load – C:\Users\Stefano\Desktop\MH module project\MHv1.2.vmod
2012-07-27 12:06:43,629 [1-main] INFO VASSAL.launch.StartUp - Starting
2012-07-27 12:06:43,629 [1-main] INFO VASSAL.launch.StartUp - OS Windows 7
2012-07-27 12:06:43,629 [1-main] INFO VASSAL.launch.StartUp - Java version 1.7.0_05
2012-07-27 12:06:43,629 [1-main] INFO VASSAL.launch.StartUp - VASSAL version 3.2.0-svn8224
2012-07-27 12:06:43,629 [1-main] INFO VASSAL.launch.Launcher - Player
2012-07-27 12:06:47,544 [1-AWT-EventQueue-0] WARN VASSAL.launch.BasicModule - Marvel Heroes version 1.2
2012-07-27 12:08:46,627 [1-AWT-EventQueue-0] ERROR VASSAL.tools.ErrorDialog -
java.lang.StackOverflowError: null
at javax.swing.text.StyleContext$SmallAttributeSet.equals(Unknown Source) ~[na:1.7.0_05]
at java.util.WeakHashMap.eq(Unknown Source) ~[na:1.7.0_05]
at java.util.WeakHashMap.get(Unknown Source) ~[na:1.7.0_05]
at java.util.Collections$SynchronizedMap.get(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.StyleContext.getImmutableUniqueSet(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.StyleContext.addAttributes(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.AbstractDocument$AbstractElement.addAttributes(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.AbstractDocument$AbstractElement.(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.AbstractDocument$LeafElement.(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.AbstractDocument$BidiElement.(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.AbstractDocument.(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.AbstractDocument.(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.PlainDocument.(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.PlainDocument.(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.DefaultEditorKit.createDefaultDocument(Unknown Source) ~[na:1.7.0_05]
at javax.swing.plaf.basic.BasicTextUI.installUI(Unknown Source) ~[na:1.7.0_05]
at javax.swing.JComponent.setUI(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.JTextComponent.setUI(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.JTextComponent.updateUI(Unknown Source) ~[na:1.7.0_05]
at javax.swing.text.JTextComponent.(Unknown Source) ~[na:1.7.0_05]
at javax.swing.JTextField.(Unknown Source) ~[na:1.7.0_05]
at javax.swing.JTextField.(Unknown Source) ~[na:1.7.0_05]
at VASSAL.configure.NamedHotKeyConfigurer.(NamedHotKeyConfigurer.java:40) ~[Vengine.jar:na]
at VASSAL.counters.DynamicProperty$DynamicKeyCommandConfigurer.(DynamicProperty.java:413) ~[Vengine.jar:na]
at VASSAL.counters.DynamicProperty$1.buildChildConfigurer(DynamicProperty.java:87) ~[Vengine.jar:na]
at VASSAL.configure.ListConfigurer.getValueString(ListConfigurer.java:67) ~[Vengine.jar:na]
at VASSAL.counters.SetGlobalProperty.myGetType(SetGlobalProperty.java:111) ~[Vengine.jar:na]
at VASSAL.counters.Decorator.getType(Decorator.java:216) ~[Vengine.jar:na]
at VASSAL.counters.Decorator.getType(Decorator.java:217) ~[Vengine.jar:na]
at VASSAL.counters.Decorator.getType(Decorator.java:217) ~[Vengine.jar:na]
at VASSAL.counters.Decorator.getType(Decorator.java:217) ~[Vengine.jar:na]
at VASSAL.build.module.BasicCommandEncoder.encode(BasicCommandEncoder.java:458) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encodeSubCommand(BasicModule.java:269) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:250) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]
at VASSAL.launch.BasicModule.encode(BasicModule.java:256) ~[Vengine.jar:na]

Incidentally, bug 4300 might be related to bug 4302.

The fix for Bug 4302 caused problems and was only introduced into build 8224, so your results where expected.

Good to hear bug 4268 is fixed.

Yes, I agree, Bug 4300 and 4302 are mostly likely the same.

You mean build 8224 for 3.2.0 but not build 8224 for 3.1.20, though? I didn’t have crashes with the latter, but alas the log report was still wrong.

The fix for 4302 was only for 3.2.