Infantry being created @ 0,0,0, cause uncertain

Bug #896113 reported by EVA-251
18
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Ares
Fix Released
High
AlexB

Bug Description

Playing SS with 0.1.945 and 0.1.985 has revealed a bizarre issue that is preventing AI games from ending. Computer players slowly accumulate large numbers of infantry of varying types (mostly pilot/survivor types though) @ coordinates 0,0,0.

It seems to be related to Survivors/Crews, but strangely doesn't occur to human players.

##### ADDITIONAL INFORMATION #####
In respect to this issue:
Mod related:
SSIONTROOP,E1 - crew/survivor types
SSIONTROOP, SSRCKTROOP, SSBLASTTRP, SSSPECOPs are in paradrops
SSRCKTROOP, SSHEAVYGUN are often used in IFV/APC attacks by AI
HUMVEE, SSFV - APC type vehicles that carry 3 infantry
Units with "AL" belong to a faction that has no crewed vehicles or ground APCs. This faction has yet to be the cause of this problem.

map09.yrm- An earlier 7 player game that suffered from this issue.
map10.yrm- A 4 player game that suffered from this issue.

Logs, maps, etc here
http://www.eva251.ppmsite.com/Downloads/AresDebug/debug4.rar

Revision history for this message
EVA-251 (eva-251) wrote :
Revision history for this message
EVA-251 (eva-251) wrote :

Bumping. As I noted on IRC some time ago, I was able to replicate this in basically unmodded Yuri's Revenge with no Ares features used, with Ares 0.1.986.

8 Soviet Engineers, 2 Terrorists and 2 Ivans. All of which happen to be used in Flak Track base-rush attacks.
There was also one E1, no clue how he got there. Only two TFs use E1s in transports, and only the Allied MCV, Harrier and Black Eagle have Crewed=yes.

*basically unmodded- using a micro balance mod that nerfs garrisoned Initiates, etc.

Revision history for this message
Renegade (renegade) wrote :

Could you please check if this bug also appears if you do not alter the game at all, and just purely start with Ares?
If so, could you please give each side unique and recognizable survivors and crews and play games with one side at a time and watch the effects, that is, play one game Allies vs. Allies, one game Soviets vs. Soviets, one game Yuri vs. Yuri?
That way, we can see if it's a general issue or limited to one side.

Thank you.

Revision history for this message
Bug Importer (bug-importer) wrote :

Code related to this issue has just been checked in!
Author: AlexB
Location: trunk, r1020
Commit contains DLL: Yes
Revision comment:
Fixed issue #1422: TemporalImUsing is restored on the passenger when a Gunner unit is destroyed. Otherwise the passenger lost its Temporal which results in a crash when it tries to fire.
Related to issue #1500: Passengers/Pilots that couldn't be placed on the battlefield after a unit has been destroyed will be killed.
Related to issue #1539: High bridges are considered when calculating the height above ground. Infantry should not escape by parachute any more when a unit on a slope is destroyed.
SVN: http://svn.renegadeprojects.com/Ares/1020

Revision history for this message
EVA-251 (eva-251) wrote :

Will test a bit more today if possible.
Using my mod Star Strike
-SSIA/Americans House/Allied (GDI) Side- Plenty of LIMBOINF1, which I re-added as the vehicle crew infantry for them. No infantry that would otherwise belong to transports.
-EDF/Russians House/Soviet (Nod) Side- No 0,0,0 at all.

No idea why the former faction has the issue. Both have similar numbers of Crewed=yes vehicles and the AI uses its fair share of transports for both factions.

-EDIT: Was able to trigger it with the latter house. They were all LIMBOINF2 though. No passengers, etc, despite plenty of APC spam.

Revision history for this message
EricAnimeFreak (ericanimefreak) wrote :

Okay tested on the 1147 and 1160 branches; this bug still exists.
"This bug has actually been plaguing me for a while now. But I figured I'd post after discussing it with another ares team member."

I manage to make it happen every-time I test for it in 1147 and 1160.

It seems parachuted survivors belonging to the AI sometimes "it's actually pretty rare" spawn at this location on map "128,0,0,0", which is out of the visible playing area.
This does not happen with humans.

My thought is that for some reason, unlike humans, AI survivors are not being killed when they fail to bail out and instead are being created off of map.

While I'm not sure 100% this is the case, it's my best theory.

I'll upload map screen-shots ".yrm files" if needed, as well as debug logs for both tests. If you need them just let me know.

Revision history for this message
EVA-251 (eva-251) wrote :

Eric, this has always been AI exclusive. No matter how much I tried to trigger it myself, I've never been successful getting human owned units to that area. I can confirm this still happens occasionally, but it is much less common. I'll do testing to determine where they are coming from.

Oh, and apparently, nukes directed at the corners of the map can kill these guys.

Revision history for this message
EricAnimeFreak (ericanimefreak) wrote :

It's been a long time since I touched this, but recently I talked with Graion Dilach and decided to test this bug again using a newer DLL Graion compiled which includes: merged v02 and AE.

As it stands I used a Survival map that I made a while back which works well for testing this bug "due to high amount of tanks buildings and aircraft dying" and let it run with 5 computers + myself, going at it like crazy for 50 minutes "game time".

In the past I had issues with pilots and survivors spawning off the map. This test showed 0 pilots spawned off map but.

What still remained was 2 Survivors which spawned from either a crewed unit or building. "Now this is still way better then it used to be but the bug lingers on."

From Map file:
173=Computer,E2,126,0,0,0,Hunt,0,None,0,-1,0,1,1
839=Computer,E2,126,0,0,0,Hunt,192,None,98,-1,0,1,1

I'll attach rules, map snapshot, and debug log.

Revision history for this message
EricAnimeFreak (ericanimefreak) wrote :

Did another Test "It was shorter but still a 37 mins in game run or so". As I read on another bug not sure which one, I tried adding Survivor.SideX=ALLBASIC4 "X=Each side" to all my vehicles that are crewed. This allowed me to determine if it was happening vehicles or buildings. Seems only vehicles are affected, as when I ran another test only ALLBASIC4 showed up at 126,0,0,0.

Included Debug Rules and Map Snapshot.

Revision history for this message
Graion Dilach (graiondilach) wrote :

Confirmed, I had a

31=Computer,SPILOT,128,0,0,0,Hunt,224,None,120,-1,0,1,1

line in a snapshot when there was no enemy unit on the field.

Revision history for this message
EricAnimeFreak (ericanimefreak) wrote :

This bug is still an issue, any news on it? Tested with Fatman V02.12.78.1222 and it still occurs. This is a potential issue for anyone who uses crewescape survivors on their mod.

Revision history for this message
AlexB (alexander-b) wrote :

I've been trying to reproduce this issue, but to no avail. Can anybody post the codes for infantry types that are known to be involved in the 0,0,0-issue? Maybe this is related to some tag.

Revision history for this message
Graion Dilach (graiondilach) wrote :

I do remember once I could confirm the above with this unit.

[SPILOT]
UIName=Name:PILOT
Name=Soviet Pilot
Category=Soldier
CrushSound=InfantrySquish
LeadershipRating=3
Strength=200
;Primary=MakeupKit ; virtual weapon that picks disguise
CanPassiveAquire=no ; Won't try to pick up own targets
CanRetaliate=no; Won't fire back when hit
Armor=flak
EMP.Threshold=no
TechLevel=-1
VehicleThief=yes
;CanDisguise=yes; I appear differently on other people's computers
;PermaDisguise=yes; and I appear that way always (Mirage Tank will be Can but not Perma)
Sight=9
Speed=4
Owner=Britain,Germany,France,USSR,China,Iraq,Antarctica,Falkland,Easter,Korea,Japan,Australia,MechaUS,MechaAfrica,MechaMoon
;Owner=Americans,Alliance,French,Germans,British,Africans,Arabs,Confederation,Russians,YuriCountry,Japanese,Aussie,MechaUS,MechaAfrica,MechaMoon
AllowedToStartInMultiplayer=no
Cost=0
Soylent=25
Pip=blue
Points=1
VoiceSelect=PilotSelect
VoiceMove=PilotMove
VoiceAttack=PilotAttackCommand
VoiceFeedback=PilotFear
DieSound=PilotDie
Locomotor={4A582744-9839-11d1-B709-00A024DDAFD1}
PhysicalSize=1
MovementZone=Infantry
ThreatPosed=0 ; This value MUST be 0 for all building addons
SpecialThreatValue=1
PreventAttackMove=yes
IFVMode=0;0
Trainable=no
StupidHunt=yes ;this guy can't handle a hunt command, so he should just run towards the player
CanBeReversed=no
CanDrive=yes
VehicleThief.KillPilots=-1
VehicleThief.OneTime=yes
VehicleThief.BreakMindControl=no

Although in my case... all of my vehicles/aircraft have

Crewed=yes
Survivor.Side0=APILOT
Survivor.Side1=SPILOT
Survivor.Side2=YPILOT
Survivor.Side3=PPILOT
Survivor.Side4=BPILOT
Survivor.RookiePilotChance=0
Survivor.ElitePilotChance=75

so dunno exactly what triggered.

Revision history for this message
EricAnimeFreak (ericanimefreak) wrote :
Download full text (5.0 KiB)

When I test for it, it only happens with vehicles. Does not occur on aircraft or building survivors.

I have the following infantry for testing/mod purposes.

[ALLBASIC]
Pip=white
Cost=50
Name=---- Pilot
Size=99
Armor=flak
Image=pilot;CONS
Owner=CACOUNTRY2,CACOUNTRY1,CACOUNTRY0,YuriCountry,Russians,Africans,Confederation,Arabs,British,French,Germans,Americans,Alliance
ForbiddenHouses=CACOUNTRY0,CACOUNTRY1,CACOUNTRY2,Russians,Africans,Confederation,Arabs,YuriCountry,British,French,Germans,Americans,Alliance
Sight=5
Speed=5
Points=5
UIName=NOSTR:Aircraft Pilot
IFVMode=2
Primary=M1Carbine
Soylent=10
Category=Soldier
DieSound=GIDie
Occupier=no
Strength=300
Locomotor={4A582744-9839-11d1-B709-00A024DDAFD1}
TechLevel=35
Trainable=no
VoiceMove=GIMove
CrushSound=InfantrySquish
ThreatPosed=5
VoiceAttack=GIAttackCommand
VoiceSelect=GISelect
MovementZone=Infantry
PhysicalSize=1
;Prerequisite=none
ImmuneToVeins=yes
Insignificant=no
VoiceFeedback=GIFear
VoiceSpecialAttack=GIMove
IsSelectableCombatant=yes
AllowedToStartInMultiplayer=no
ImmuneToPsionics=yes
CanBeReversed=no

[ALLBASIC2]
Pip=white
Cost=50
Name=---- Tech Soldier
Size=99
Armor=flak
Image=CONS
Owner=CACOUNTRY2,CACOUNTRY1,CACOUNTRY0,YuriCountry,Russians,Africans,Confederation,Arabs,British,French,Germans,Americans,Alliance
ForbiddenHouses=CACOUNTRY0,CACOUNTRY1,CACOUNTRY2,Russians,Africans,Confederation,Arabs,YuriCountry,British,French,Germans,Americans,Alliance
Sight=5
Speed=5
Points=5
UIName=NOSTR:Civilian Tech Soldier
IFVMode=2
Primary=M1Carbine
Soylent=10
Category=Soldier
DieSound=GIDie
Occupier=no
Strength=200
Locomotor={4A582744-9839-11d1-B709-00A024DDAFD1}
OccupyPip=PersonRed
TechLevel=35
Trainable=no
VoiceMove=GIMove
CrushSound=InfantrySquish
ThreatPosed=5
VoiceAttack=GIAttackCommand
VoiceSelect=GISelect
MovementZone=Infantry
PhysicalSize=1
;Prerequisite=none
ImmuneToVeins=yes
Insignificant=no
VoiceFeedback=GIFear
VoiceSpecialAttack=GIMove
IsSelectableCombatant=yes
AllowedToStartInMultiplayer=no
ImmuneToPsionics=yes
CanBeReversed=no

[ALLBASIC3]
Pip=Blue
Cost=200
Name=---- Engineer survivor
Size=99
Armor=none
Image=ENGINEER
Owner=CACOUNTRY2,CACOUNTRY1,CACOUNTRY0,YuriCountry,Russians,Africans,Confederation,Arabs,British,French,Germans,Americans,Alliance
ForbiddenHouses=CACOUNTRY0,CACOUNTRY1,CACOUNTRY2,Russians,Africans,Confederation,Arabs,YuriCountry,British,French,Germans,Americans,Alliance
Sight=4
Speed=4
Points=5
UIName=NOSTR:Engineer Survivor
IFVMode=1
Soylent=75
Category=Soldier
DieSound=EngAllDie
Engineer=yes
Strength=200
Locomotor={4A582744-9839-11d1-B709-00A024DDAFD1}
TechLevel=35
Trainable=no
VoiceMove=EngAllMove
CrushSound=InfantrySquish
VoiceEnter=EngAllMove
ThreatPosed=0
VoiceAttack=EngAllMove
VoiceSelect=EngAllSelect
MovementZone=Infantry
PhysicalSize=1
Prerequisite=Barracks
VoiceCapture=EngAllAttackCommand
ImmuneToVeins=yes
Insignificant=no
VoiceFeedback=EngAllFear
LeadershipRating=3
PreventAttackMove=yes
SpecialThreatValue=1
VoiceSpecialAttack=EngAllAttackCommand
BuildTimeMultiplier=1.75
IsSelectableCombatant=no
AllowedToStartInMultiplayer=no
ImmuneToPsionics=no
CanBeReversed=no

[ALLBASIC4]
Pip=white
Cost=50
Name=---- Tank Operator
Size=99
Armor=flak
Image=CONS
Owner=CACOUNT...

Read more...

Revision history for this message
Graion Dilach (graiondilach) wrote :

I still hit this issue on a gameplay. Not many times tho, so still dunno the trigger.

Revision history for this message
Renegade (renegade) wrote :

Could you try to narrow it down to a specific trigger? as long as every feature that we have could cause this, it's hard to find the reason... :/

AlexB (alexander-b)
Changed in ares:
milestone: none → 0.2-rc1
importance: Medium → High
Revision history for this message
AlexB (alexander-b) wrote :

New v02 binary should fix this issue. If a cell had no free infantry subposition, the function returned 0,0,0. Later this was used as coordinates and the game returned an invalid cell, which the survivors/passengers/hijackers are placed on. Now Ares checks whether the returned cell is the invalid one.

So this problem should occur if a tank in the middle of other objects is destroyed, so not all survivors/passengers/hijackers find a free spot.

AlexB (alexander-b)
Changed in ares:
status: In Progress → Triaged
status: Triaged → Fix Committed
Revision history for this message
EricAnimeFreak (ericanimefreak) wrote :

Just tested new Binary with fix, ran a map which spawned units like crazy and always produced this bug in the past for testing purposes, I can confirm that this fix worked.

Survivors no longer spawn at 0,0,0.

Revision history for this message
Chanterier (speederyr) wrote :

So far this hasn't happened in new MO missions.

Revision history for this message
Rogan (pdrogan) wrote :

A few games and a few map shots, and no infantry spawned anywhere near 0,0,0. No survivors are spawned after a surrounded vehicle with crewed=yes is destroyed. Though, it's a bit questionable if CrewEscape was set to 100%.

Used fatman 12.126.546.

Revision history for this message
AlexB (alexander-b) wrote :

Thanks for the reports so far. I think this is done and misguided infantry appearing off the map should no longer be expected, but because it is an issue occuring randomly I'll leave this open until all other issues are completed.

Revision history for this message
AlexB (alexander-b) wrote :

More than a month without problems, so I suppose this is indeed gone.
Thanks for narrowing the problem down so this could finally be resolved.

Changed in ares:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.