Local/Global Properties

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.