[messages] [Technical Support & Bugs] *Sometimes* replicable resource/memory issue?

Benkyo benkyo at gmail.com
Fri Jul 4 01:14:42 CEST 2014


Computer: various (my own, and people who send me bug reports)
VASSAL: 3.2.12
Java: version 7 update 55 (in my case)
Module: Mage Knight Board Game: The Lost Legion & Krang v151 (not on the
Vassal site, probably not important for the bug report, but available
from https://www.dropbox.com/s/aqh0ngtf3s70t ... _v151.vmod[1])
Sample logs: 
https://www.dropbox.com/s/xp0qnmp4q5sudld/2-round1.vlog[2]
https://www.dropbox.com/s/hyl35xoi6i3a0r2/2-round2.vlog[3]
https://www.dropbox.com/s/zxq33u55kyi01ac/2-round3.vlog[4]
https://www.dropbox.com/s/k8uhrajefodx7ci/2-round4.vlog[5]
https://www.dropbox.com/s/2wf279gewen7pej/2-round5.vlog[6]
https://www.dropbox.com/s/2iks0f8nz679d ... nd5-2.vlog[7]

In brief: 
An action button pressed after loading and viewing a log (for example,
log4) produces different results (intended or buggy) depending on
whether the  log is loaded immediately after starting the module or is
loaded after selecting load game (log1) > close game > load game (log2)
> close game > load game (log3) > close game > load game (log4).

In detail:
The above module contains a fairly complex round-end procedure that does
a lot of book-keeping with triggers that activate global key commands
followed by a global hotkey shuffle. If a player has the module open for
a few rounds, loading and closing a series of logs, the 4th or 5th time
(for example) the round-end procedure is triggered, the global hotkey
that triggers shuffling goes off anywhere between 2 and 8 times per deck
according to the reporting (should be once), and decks disappear or
appear face-up and half empty.

However, if the *module* (not just the game) is closed, then restarted,
then the log is loaded and clicked through... the round-end procedure
can be triggered and works without issue.

The key point here is that *nothing* is changed between the two
situations except for how many times load game > close game has been
performed while the module is open. The exact same logs produce
different results if loaded immediately after starting the module and if
loaded after selecting load game > close game > load game > close game >
load game.

I'm guessing that the module is stretching the limits of what Vassal can
comfortably handle in one 'click', and something is buckling under the
strain. The fact that exactly the same actions can result in buggy
behaviour or intended behaviour seems to indicate that the fault does
not lie in the module itself, but perhaps could be mitigated by cleaning
up or reducing the number of triggers and global key commands associated
with one action button.

The bugs can be seen in action in the last two logs. The player clicks
the round-end button and the decks go haywire. This is replicable by
loading and closing the preceding logs, then clicking the round-end
button after viewing log4. However, if 2-round4.vlog is loaded as the
first save game immediately after starting the module, the round-end
button works fine. If anyone wants to test this, the button is on the
'card offer' window, and the deck that goes haywire is on the 'Krang'
window.

[1] https://www.dropbox.com/s/aqh0ngtf3s70tdy/MageKnightLostLegionKrang_v151.vmod
[2] https://www.dropbox.com/s/xp0qnmp4q5sudld/2-round1.vlog
[3] https://www.dropbox.com/s/hyl35xoi6i3a0r2/2-round2.vlog
[4] https://www.dropbox.com/s/zxq33u55kyi01ac/2-round3.vlog
[5] https://www.dropbox.com/s/k8uhrajefodx7ci/2-round4.vlog
[6] https://www.dropbox.com/s/2wf279gewen7pej/2-round5.vlog
[7] https://www.dropbox.com/s/2iks0f8nz679dd7/2-round5-2.vlog


_______________________________________________
Read this topic online here:
http://www.vassalengine.org/forum/viewtopic.php?p=45553#p45553


More information about the messages mailing list