Trinitycore: [Movement] MovementInform is not being called in rare occasions

Created on 3 May 2020  路  26Comments  路  Source: TrinityCore/TrinityCore

Description:

In some very rare occasions, MovementInform does not seem to be called for scripts. This does not seem specific to any motion master.
It has been observed for:

  • Whitemane and mograine in scarlet monastery, sometimes the movement inform is not called, therefore she does not resurect mograine
  • Lord Jaraxxus in trial of the crusaders, sometimes, his intro movement inform does not trigger, and the event gets stuck
  • Wild wyrm in storm peaks, this one might be unrelated, but on fall, when reaching the ground, it is supposed to eject all passengers, sometimes it does not
  • Bronjham in the forge of souls ( @Jildor )

I am not yet 100% certain MovementInform is the cause, but based on all the scripts the problem occurs in, it is the likely candidate.

Current behaviour:

MovementInform is not called

Expected behaviour:

MovementInform is called

Steps to reproduce the problem:

No clear way to reproduce the issue, it seems to occur fairly randomly, about once a day on a server with 800 players for those scripts. Very probable to occur for other scripts, but has not been reported as it does not block the encounters.

Branch(es):

3.3.5

TC rev. hash/commit:

https://github.com/TrinityCore/TrinityCore/commit/a548d9f9b021a54cfc9013b7e104ccf524e88358

Operating system: Linux

Branch-3.3.5a Comp-Core Sub-Movement

Most helpful comment

well there is a facing in Jaraxxus' movement inform... will try to investigate

All 26 comments

Just for document the case of bronjahm.
When bronjahm summon Corrupted Soul: https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp#L134
Corrupted soul do MoveFollow to bronjahm.
in case of Corrupted Soul is summoned next to bronjahm, MovementInform doesn't work and can't cast the spell:
https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/scripts/Northrend/FrozenHalls/ForgeOfSouls/boss_bronjahm.cpp#L241-L251

I don't know if can be related with the issue, but, maybe can help

Thanks, after having a look at the code it seems to be a different issue:
In the case of follow movement generator, MovementInform is only called when a movement occured and the new position is at distance of the target:
https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/game/Movement/MovementGenerators/FollowMovementGenerator.cpp#L98
But in your case I don't think there ever is a movement. Actually I guess moving the boss a bit will trigger the movement inform.

Nice catch @joshwhedon I'll look into that right away.

about the actual reported issue in this ticket, we need to stablish a reliable reproduction scenario.
with that, we can then hunt the root cause.

Yeah, initially I thought : hey maybe the creature is stunned / distracted / etc and it interrupts the movement, but this does not add up for Jarraxxus, which is an event where nobody attacks / moves / interracts with the boss until the intro is over.

the only thing I can think of is facing.
right now, facing splines are the only example of splines sent outside motionmaster, and can potentially interfere with movementinform. Talking about edge cases.

Could this also be the cause of Lich king not breaking the floor sometimes in ToC?

I see a dependency on MovementInform to resume his script so I would say very likely yes. I haven't heard about it happening myself though.

about the actual reported issue in this ticket, we need to stablish a reliable reproduction scenario.
with that, we can then hunt the root cause.

Yeah I know. I have put some logs, asked players, but didn't see any way yet so far :( .

Lord Jaraxxus in trial of the crusaders, sometimes, his intro movement inform does not trigger, and the event gets stuck

Exactly in which point?

@TheWinchesters Actually, just got a report that your issue also occured yesterday on my server. The exact same one.

@TheWinchesters Actually, just got a report that your issue also occured yesterday on my server. The exact same one.

And both problems happen randomly.
Hard to find 'how to reproduce' steps.

Things we should ask to those raids with these problems:

  • Was there a wipe?
  • Was anyone casting anything when mobs were unattackable?

@joshwhedon
Do you have an issue with Mages not casting Below Zero in the Gunship Battle too?
They also use MovementInform and that one looks easier to reproduce.

I have not heard of it, but it being non blocking, I doubt players would report it as much.
As for your questions : I don't think wipes are relevant in this case, because those occur at the beginning of events.

It happened today with Lord Jaraxxus
Info that may be useful:
Jaraxxus is not facing the gnome
His react state is Agressive.
GetBossState is TO_BE_DECIDED

well there is a facing in Jaraxxus' movement inform... will try to investigate

Today I saw the case with The Lich King.
In the same moment he sticks the sword in the ground, The Lich King vanishes and nothing else happens after that.

Could be possible when happens a high diff spike (#24356) and do MovementInform script, happens this issue and that's why you only could reproduce on live realm?

Maybe, but why would a high diff cause this ?

@gtestdev
In my opinion:
I do not think that high spikes are related.

Look at the screenshots in that issue.
Killyana: 900 players - 50/130 diff

Usually the server works like that.
I have more players and believe me, if you really have high diff spikes, your server is unplayable. Everyone will notice that something is wrong an you will receive a lot of complains.
This: "oh, we have delay some times but let's do ToC", does not happen.
Server must be restarted.

Have in mind I have reduced visibility distance and some stuff you would usually change in worldserver config if diff is an issue.

joshwheldon, is it possible to contact you? We can gather info together.

Joshwhedon, just in case it could happen because of that, sometimes there are spikes and maybe if it matches the script that could happen, just a theory, I came up with the assumption and I put it, in case it was helpful.

TheWinchesters, I will not distort the issue with spikes, but if you install grafana you will see what I mean, does not last more than 1-2 seconds and it is not solved by restarting or reduce visibility or things like that, killyana also has the problem, but I am not here to discuss its existence, if you want to do it, do it in the corresponding issue installing grafana.

I was just trying to come up with ideas just in case using .reload all at the right time something similar might happen

@gtestdev Don't take it wrong. I was just giving an opinion based on my experience, like you do.
Having in mind the amount of players I have, how often it happens, when it happens, I could not relate it to high diff spikes.

well there is a facing in Jaraxxus' movement inform... will try to investigate

https://sive.rs/zipit

Tested #25925 (MovementInform is not called sometimes, creature does not become attackable after MovementInform) by

.npc add tem 15467 at .go x 7539.107910 -2858.284668 457.838776 1 0.353025
.dam 100000000 after MovementInform
repeat

Wasn't able to reproduce after 50 attempts, actually I've never seen MovementInform not being called in last 8 months

mograine thing i think it's when you kill it with a dot.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

DDuarte picture DDuarte  路  3Comments

Lopfest picture Lopfest  路  3Comments

besplash picture besplash  路  3Comments

tje3d picture tje3d  路  3Comments

Tatara902 picture Tatara902  路  3Comments