3.6.0beta1 is erasing deck names in some return-to-deck traits

It appears that Vassal 3.6beta is erasing deck names in some of my return-to-deck traits. (windows 10)

I installed 3.6beta and ran a vmod that I had created and run successfully in earlier Vassal versions. When I pressed a setup button, I got this:
Bad Data in Module: Source: Error: Deck Not Found for Return-to-Deck trait: . Turn on the Audit Trail preference to generate more details in the errorlog.
Turning on audit trails did not help because it did not identify which pieces had return-to-deck errors.

After a bit of searching, I found 4 pieces in an at-start stack whose return-to-deck traits had a blank deck name. (I saw this in the 3.6beta editor.) I then checked the vmod with 3.5.8 and found the return-to-deck traits had valid deck names (cityDeck2). During setup, one or more of these 4 pieces gets sent to cityDeck2. This means that when 3.6beta ran the vmod, it erased the deck names.

I do not know if 3.6 failed to find cityDeck2 (leading or trailing whitespace maybe?) and then erased the deck name, or did it erase it first and then complain about a missing deck name? All other return-to-deck traits in other pieces (via prototypes) were okay. I ran some tests on other return-to-deck commands without a problem. It may have erased others, but I have not found them. Just these 4.

The only characteristics that may distinguish them are: (1) They have command strings but no right-click menu commands, and (2) the return-to-deck traits are not in prototypes. Also, I ran the vmod under 3.6beta straight away with no pass through the 3.6 editor.

I think I can fix it because I found I could edit the traits and using a dropdown, I could insert cityDeck2 as the deck name. (It didn’t erase those.) It’s a complex module that I haven’t released. I could strip it down if necessary, but it’s a bit of work, and I hope someone could make progress on just what I reported.

2021-09-02 13:49:38,742 [6276-main] INFO VASSAL.launch.StartUp - Starting
2021-09-02 13:49:38,757 [6276-main] INFO VASSAL.launch.StartUp - OS Windows 10 10.0 amd64
2021-09-02 13:49:38,757 [6276-main] INFO VASSAL.launch.StartUp - Java version 16.0.2
2021-09-02 13:49:38,757 [6276-main] INFO VASSAL.launch.StartUp - Java home C:\Program Files\VASSAL-3.6.0-beta1\jre
2021-09-02 13:49:38,757 [6276-main] INFO VASSAL.launch.StartUp - VASSAL version 3.6.0-beta1
2021-09-02 13:49:38,890 [6276-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManager - Manager
2021-09-02 13:49:44,210 [6276-SwingWorker-pool-2-thread-1] INFO VASSAL.launch.AbstractLaunchAction - Loading module file D:\db\games\Vassal\Euros\Maracaibo\Maracaibo_v3.vmod
2021-09-02 13:49:44,322 [6276-SwingWorker-pool-2-thread-1] INFO VASSAL.launch.TilingHandler - No images to tile.
2021-09-02 13:49:44,323 [6276-SwingWorker-pool-2-thread-1] INFO VASSAL.launch.AbstractLaunchAction - Loading module Maracaibo
2021-09-02 13:49:44,330 [6276-SwingWorker-pool-2-thread-1] INFO VASSAL.tools.io.ProcessLauncher - launching C:\Program Files\VASSAL-3.6.0-beta1\jre\bin\java -Xms512M -Xmx512M -Duser.home=C:\Users\stan -Duser.dir=C:\Program Files\VASSAL-3.6.0-beta1 -cp lib\Vengine.jar VASSAL.launch.Player --load – D:\db\games\Vassal\Euros\Maracaibo\Maracaibo_v3.vmod
2021-09-02 13:49:45,016 [15996-main] INFO VASSAL.launch.StartUp - Starting
2021-09-02 13:49:45,027 [15996-main] INFO VASSAL.launch.StartUp - OS Windows 10 10.0 amd64
2021-09-02 13:49:45,027 [15996-main] INFO VASSAL.launch.StartUp - Java version 16.0.2
2021-09-02 13:49:45,027 [15996-main] INFO VASSAL.launch.StartUp - Java home C:\Program Files\VASSAL-3.6.0-beta1\jre
2021-09-02 13:49:45,027 [15996-main] INFO VASSAL.launch.StartUp - VASSAL version 3.6.0-beta1
2021-09-02 13:49:45,027 [15996-main] INFO VASSAL.launch.Launcher - Player
2021-09-02 13:49:47,546 [15996-AWT-EventQueue-0] INFO VASSAL.build.GameModule - Maracaibo version 3
2021-09-02 13:49:53,809 [15996-AWT-EventQueue-0] WARN VASSAL.i18n.BundleHelper - No Translation: Shuffle
2021-09-02 13:49:54,112 [15996-AWT-EventQueue-0] WARN VASSAL.tools.ErrorDialog - Source: Error: Deck Not Found for Return-to-Deck trait: . Turn on the Audit Trail preference to generate more details in the errorlog.
2021-09-02 13:50:36,239 [15996-AWT-EventQueue-0] INFO VASSAL.build.GameModule - Exiting
2021-09-02 13:50:39,530 [6276-SwingWorker-pool-2-thread-2] INFO VASSAL.launch.AbstractLaunchAction - Loading module file D:\db\games\Vassal\Euros\Maracaibo\Maracaibo_v3.vmod
2021-09-02 13:50:39,576 [6276-SwingWorker-pool-2-thread-2] INFO VASSAL.launch.TilingHandler - No images to tile.
2021-09-02 13:50:39,577 [6276-SwingWorker-pool-2-thread-2] INFO VASSAL.launch.AbstractLaunchAction - Loading module Maracaibo
2021-09-02 13:50:39,579 [6276-SwingWorker-pool-2-thread-2] INFO VASSAL.tools.io.ProcessLauncher - launching C:\Program Files\VASSAL-3.6.0-beta1\jre\bin\java -Xms512M -Xmx512M -Duser.home=C:\Users\stan -Duser.dir=C:\Program Files\VASSAL-3.6.0-beta1 -cp lib\Vengine.jar VASSAL.launch.Player --load – D:\db\games\Vassal\Euros\Maracaibo\Maracaibo_v3.vmod
2021-09-02 13:50:40,266 [13864-main] INFO VASSAL.launch.StartUp - Starting
2021-09-02 13:50:40,278 [13864-main] INFO VASSAL.launch.StartUp - OS Windows 10 10.0 amd64
2021-09-02 13:50:40,278 [13864-main] INFO VASSAL.launch.StartUp - Java version 16.0.2
2021-09-02 13:50:40,278 [13864-main] INFO VASSAL.launch.StartUp - Java home C:\Program Files\VASSAL-3.6.0-beta1\jre
2021-09-02 13:50:40,278 [13864-main] INFO VASSAL.launch.StartUp - VASSAL version 3.6.0-beta1
2021-09-02 13:50:40,279 [13864-main] INFO VASSAL.launch.Launcher - Player
2021-09-02 13:50:42,783 [13864-AWT-EventQueue-0] INFO VASSAL.build.GameModule - Maracaibo version 3
2021-09-02 13:50:51,893 [13864-AWT-EventQueue-0] WARN VASSAL.i18n.BundleHelper - No Translation: Shuffle
2021-09-02 13:50:52,293 [13864-AWT-EventQueue-0] WARN VASSAL.tools.ErrorDialog - Source: Error: Deck Not Found for Return-to-Deck trait: . See the errorlog for more details.
2021-09-02 13:50:57,298 [13864-AWT-EventQueue-0] INFO VASSAL.build.GameModule - Exiting
2021-09-02 13:50:59,483 [6276-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManagerWindow - Exiting

Hi Stan,

Thanks for the report, I have found the problem and will investigate. It seems to happen when the RtD Deck is on a different map to the At-Start Stack. Issue is Return To Deck Deck name can be lost when pre 3.6 module is edited using 3.6 · Issue #10385 · vassalengine/vassal · GitHub

The Audit trail reporting is certainly less than stellar in this case, I will look into that as well.

Regards,
Brent.

I just checked my module, and I see my at-start stack with the problem pieces is on the same map with the return-to-deck deck, so maybe there’s something else wrong?

I have just created a new build VASSAL-3.6.0-SNAPSHOT-488b018-10357-RtD-Deck-Name which I think resolves the issue, Could you give it a try please.

Thanks.

It worked. Thank you…

Hi Stan,

Could you please do me a favour? A new build 10386-Trait-AuditTrail-Improvements will be ready soon that should greatly improve the Bad Data error and the Audit Trail reporting for traits in cases like this where the expression evaluation succeeds, but returns junk in the context of the command being executed. In this case of a RtD expression returns a Deck name that doesn’t exist.

Could you please give this a go and ‘break’ one of your RtD traits and let me know if the error reporting is better in this case?

I have updated all of the traits that use expressions.

Thanks,
Brent.

I ran a few tests, and it looks good. There was enough information to find the source. Thanks.

1 Like

Thanks Stan, the fix will be included in 3.6.0-beta-2