New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allies 8a crashing on playtest build #16031

Open
FiveAces opened this Issue Jan 7, 2019 · 3 comments

Comments

Projects
None yet
5 participants
@FiveAces
Copy link

FiveAces commented Jan 7, 2019

Just tried Allies 8a, it seems to have the same issue as Allies 7.
The Yak aircraft tries to target something it has no line of sight on, and as a result a recursive LUA function seems to be called a couple hundred times per tick, resulting in a crash.

The Perf log returns a couple hundred lines of " 1 ms [1713] Activity: CallLuaFunc", while all the other logs are empty.

I couldn't find any error in the actual LUA script, but that might just be me having no clue how to code.

@pchote pchote added this to the Next Release milestone Jan 7, 2019

@pchote pchote added the Regression label Jan 7, 2019

@abcdefg30 abcdefg30 added the Scripting label Jan 7, 2019

@PanzerFurrry

This comment has been minimized.

Copy link

PanzerFurrry commented Jan 12, 2019

Playtest 20190106 freezes 34 seconds after launching Allied mission 08a or 08b (Protect the Chronosphere). [Linux]

Fresh install of AppImage of Playtest 20190106. Default settings. Game launches fine, no problems in any mission or any match, until Allied mission 08a or 08b (Protect the Chronosphere).
After launching mission 08a or 08b, you are free to do anything (move, attack, scout, ...) until timer reaches 20:26 - 34 seconds into the game. After that time, game locks-up and becomes unresponsive. ESC menu or any command ingame is no longer recognized - game is locked up.

System Information

  • Fedora 29 4.19.13-300.fc29.x86_64 #1 SMP Sat Dec 29 22:54:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux]
  • Mono JIT compiler version 4.8.0 (Stable 4.8.0.520/8f6d0f6 Wed Sep 20 21:27:10 UTC 2017)]
  • Playtest-20190106]
  • Mod: Red Alert

Additional Information:

  • Steps to reproduce
    -Launch game OpenRa
    -Select Allied mission 08a or 08b and start the map
    -Play the game or do nothing until timer reaches 20:26
    -Game locks-up

  • Logs
    All logs in folder .openra/Logs are compressed and attached.
    Logs.zip

@robpvn

This comment has been minimized.

Copy link

robpvn commented Jan 16, 2019

I've had exactly the same experience, and looking at the Lua code (not my strongest language and I'm a beginner with the Lua API, so be gentle) it seems there is a recursive call at the end of the TargetAndAttack function, no matter what happens in the function.

Target selection in mission 7 is only slightly different from mission 8, but when the plane is selects a target (randomly from every enemy in the map) to attack in 7 it is visible, so the plane does an Attack successfully. (Which I guess means it will take a while to return?) In mission 8 I think it selects an enemy it can't see (many more targets in the big base than in the players force), so Attack returns at once and TargetAndAttack gets called again, etc. All starting at 34 seconds (on easy) because that is when the first mig is ready.

To check out my theory I changed mig.Attack(target) to mig.Move(target.Location) and the game didn't hang, with a mig dutifully flying in to the base and getting shot down.

I imagine the recursive call is there to make sure migs continually look for targets, and it will work fine when the mapwide random targeting selects a visible enemy. I can't find anything in the Lua API that will tell you if an actor is visible to a player or to only select visible units, so I'm not sure how best to fix it.

@pchote

This comment has been minimized.

Copy link
Member

pchote commented Jan 16, 2019

The lua side of things should be handled by #16028, and the more general visibility problems by #16067.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment