2025-07-18 16:56 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0005129Spring engineGeneralpublic2016-03-19 15:21
Reporterbanana_Ai 
Assigned Tohokomoko 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
Product Version101.0 
Target VersionFixed in Version 
Summary0005129: Units get CMD.WAIT order after compliting some orders
DescriptionUnit get double CMD.WAIT order after finishing all its orders unless last order is a build order.
Steps To ReproduceTake a spring game. Delete all widgets from it and put this test widget instead. In game disable luarules. Than spam any unit and try to move and look on the output.
However, you cannot build without lua rules.
In order to test this bug with build order, do everything like before, but don't disable lua rules. Spam any con and order it to build something. Look at the output.
Additional InformationMove command output:
[f=0000362] Command added
[f=0000362] Unit 11555
[f=0000362] ID 10 params
[f=0000362] Command added
[f=0000362] Unit 11555
[f=0000362] ID 10 params 892.847656 132.258331 540.066895
[f=0000362] ID 70 params
[f=0000390] Command is done
[f=0000390] Unit 11555
[f=0000390] ID 70 params 1.70000005
[f=0000390] Command is done
[f=0000390] Unit 11555
[f=0000404] Command added
[f=0000404] Unit 11555
[f=0000404] ID 5 params
[f=0000404] Command added
[f=0000404] Unit 11555
[f=0000404] ID 5 params
[f=0000404] ID 5 params

Build command output:
[f=0000759] Command added
[f=0000759] Unit 11555
[f=0000759] ID -65 params
[f=0000759] Command added
[f=0000759] Unit 11555
[f=0000759] ID -65 params 936 132.383118 536 0
[f=0000759] ID 70 params
[f=0000915] Command is done
[f=0000915] Unit 11555
[f=0000915] ID 70 params 1.70000005
[f=0000915] Command is done
[f=0000915] Unit 11555

Unlike build command, after move command unit get double wait command.
TagsNo tags attached.
Checked infolog.txt for Errors
Attached Files

-Relationships
+Relationships

-Notes

~0015953

Google_Frog (reporter)

Removing the WAITWAIT from the engine will not be useful unless there is also a way to remove it from luarules. A callin could be provided to replace WAITWAIT in luarules. For example Spring.RefreshCommand(unitID).

~0015957

Kloot (developer)

There will not ever be a callout to officially endorse the double-wait hack.

The underlying CAI issue will eventually be fixed when someone gets bored enough, but for now WAITWAIT has to stay (including the single instance where the engine relies on it).

~0016120

hokomoko (developer)

Fix db1eaf13db871ea4face771462eb3a2069efed8f committed to develop branch: Fix 0005129

I think it should work now, if not, let's see what breaks., repo: spring changeset id: 6861
+Notes

-Issue History
Date Modified Username Field Change
2016-03-02 02:04 banana_Ai New Issue
2016-03-02 02:04 banana_Ai File Added: dbg_order.lua
2016-03-02 02:11 Google_Frog Note Added: 0015953
2016-03-02 14:09 Kloot Note Added: 0015957
2016-03-19 15:21 hokomoko Changeset attached => spring develop db1eaf13
2016-03-19 15:21 hokomoko Note Added: 0016120
2016-03-19 15:21 hokomoko Assigned To => hokomoko
2016-03-19 15:21 hokomoko Status new => resolved
2016-03-19 15:21 hokomoko Resolution open => fixed
+Issue History