Growlith1223 / ArsMagica2

Ars Magica 2 Bug Tracker
65 stars 31 forks source link

1.5.0-17: Air Guardian Locks Up The Game + Malfunctioning AI #181

Open ProfHugo opened 7 years ago

ProfHugo commented 7 years ago

idk why #37 was closed, but as of now, the air guardian still locks up game. However, now instead of locking up the second it stops spinning, in survival, it would now stand still in its spot, and keeps spinning, over and over again. It now locks up under a number of occasion, such as: changing to creative mode, using /kill or /kill @e, hitting the guardian (for some reason, nothing can hit it, but in the offchance that it did get hit, game locks up), leaving the area where it is at, and many, many more things that could make the game go boom. After the game is borked, and killed, when logged back in, I'm back in the chamber no matter how far I go.

gallery of spinning to win:

Hey why aren't you moving? 2017-02-05_15 46 20

funny thing on his head everytime he spin 2017-02-05_15 46 21

a shot without anything but the guardian rendered 2017-02-05_16 04 35

teleported out of the area, went pretty far away, can still see the pod (game already borked) 2017-02-05_16 06 29

walked a little farther, game didn't load a single chunk, welp 2017-02-05_16 07 16

killed the game there, relogged, now I'm back in the pod with Mr. Funnyhead 2017-02-05_16 09 54

Growlith1223 commented 7 years ago

yea im not sure why it was closed either but w/e

it's been a while since anyone has reported this honestly lol

ProfHugo commented 7 years ago

I assumed that temporary fix did it and never bothered to check. Welp apparently not, still broken

Growlith1223 commented 7 years ago

wish i knew what method was locking everything up... can't remember the program i used to use :T

Builderb0y commented 7 years ago

Testing it myself, VisualVM says that am2.bosses.ai.EntityAIHurricane.func_75253_b() is what's stalling. Same method as in the last issue.

ProfHugo commented 7 years ago

Yeah it's something related to the hurricane attack. I disabled the initiation of that function in the code, with only the other one running (well along with the usual roaming and anti-cc ai), and the air guardian no longer locks up the client (since it can't do the attack anymore). However, it looks like the other function (spawning hazardous roaming tornados that does damage and knocks you up if you touch it) also doesn't work. In short, it is something in the hurricane attack that borks the client, dunno which part tho

Growlith1223 commented 7 years ago

so, just a quick question, you're able to reproduce it very easily? EDIT: thanks to decompiling and the decompiler not knowing the function name, i now know what function it is but i need to know if this is easily reproducible lol

ProfHugo commented 7 years ago

The lock itself was very easy to reproduce, yes

Growlith1223 commented 7 years ago

k, cuz im not able to repro this lol, i've had it happen before but doing what you've said has had no effect whatsoever

Growlith1223 commented 7 years ago

im going to do a new commit, see if BEFORE this new commit it still happens then see if this next commit it happens again

ProfHugo commented 7 years ago

Note: I went into the air guardian code and literally // the task initiation of its hurricane attack and recompiled it, thus it no longer locks the game

Growlith1223 commented 7 years ago

Try building the mod now and using that, see if it no longer locks up

Growlith1223 commented 7 years ago

also, while you're at it, could you export a snapshot of the cpu info from jvisualVM, might help to know what exactly is going on lol

ProfHugo commented 7 years ago

The game still locks up if I: Enters creative mode from survival when the guardian has aggro on me, hit it, etc (same conditions). Also, forgot to note that the second the game locks up, a sound of breaking blocks could be heard before the game is locked. In short, no difference.

EDIT: Will do

Growlith1223 commented 7 years ago

hm, that's unfortunate, well if you can, post any details you can from jvisualVM, i haven't been able to reproduce this yet, hence why im asking you to do so

ProfHugo commented 7 years ago

Some screenshots I gathered up:

  1. Game didn't break yet, air guardian free spinning 1

  2. Game Broken Via hitting 2

  3. Before Breaking with Sampling Data 4

  4. After breaking with sampling data 5

  5. AM2 sampling data right after breaking 6

  6. Monitor after broken for a while 7

  7. AM2 data after broken for a while 8

  8. AM2 data after breaking for a while (full page) 9

Notes: The total time of function 70071 and 75235 (hurricane) keeps on adding up and never drops

ProfHugo commented 7 years ago

Also, I reproduced this in single player, and to trigger any locking, you have to be "in combat" with the boss in survival mode so that it has aggro on you and will attempt to use hurricane

EDIT: Yep, the boss locks the game if the play attempt to drop aggro, which explains why moving out of the area or going into creative could trigger the lock....

Growlith1223 commented 7 years ago

try now? if you're still here i mean lol

ProfHugo commented 7 years ago

It looks like it no longer gets stuck in an infinite loop now (no longer locks up the game now 😺 ). But the ai is still pretty funky, as it still keeps on doing the attack, over and over again without moving, and spawning whirlwind traps still doesn't work.

It is a huge step in the right direction I suppose...

Growlith1223 commented 7 years ago

well, it's a start, at least it doesn't lock up anything anymore... lol as for the continuous attacks, i think i know the reason for it but im going to be heading to sleep so it'll have to wait till tomorrow