Maps Freezing since last patch

I found and fixed that bug weeks ago in the dota map which also uses a 0 periodic time event:
call TriggerRegisterTimerEvent(someTrigger,.0,true)
After calling this function the game will freeze / crash but only if the game is running for at least ~8 mins.
So I can also confirm that this function is broken now.
Regards

2 Likes

Ok for 0 but what about, let’s say, 0.10 ?

But I dont have any “every 0 seconds” trigger. Other timers could be broken too :confused:

Tufu how did u solve it? I have an “every 1 second” periodic event to have a clock, it always worked perfectly, but maybe blizzard broke it too. How do u have a clock if u can track every second? Sad.

Edit: The bug attacked us again, 14 guys enjoying the map, and at min 12 it just froze for all of us. The game ruined. Blizzard please fix it, or at least tell us what did u broke so we can avoid adding it to our maps.

2 Likes

I don’t know if this is relevant, but most of the times when it froze for me were after being AFK for dozens of minutes, and when coming back : instant freeze.

This is a pain because my map is supposed to be played for hours and hours.

1 Like

based on my studies, it seems to be connected to battle.net somehow because i have so far not experienced freezes when playing single player(on faction war).

2 Likes

Yes, the freezing only happens in multiplayer, not single. But it must be due to something. Timers as someone suggested before could have sense, since blizzard timing always had “issues” in multiplayer, due to desyncs or people being in a different second. They might have broken it even further.

2 Likes

It happens to me offline while map testing in World Editor, so I don’t think it is due to battle.net

2 Likes

then maybe our freezes have different causes.

0.1 is fine and perfectly stable by itself. I even tested with 0.01 which is twice as fast as one should be using and that is also perfectly stable from what I can tell.

Of course if there is some underlying bug interfering with it I do not know.

Not likely. Since it always used “game time” which is based on an internal frame counter rather than real time.

Can you recreate the freeze reliably in the map? Such as pressing test and giving no user input? If so send me the map on THW or via Discord and I will look into finding the cause. Once the cause can be identified and isolated it can be turned into a test map which can be sent to Blizzard for fixing, as I have done already with the 0 timeout periodic event case.

What is interesting is that turning on a trigger with a 0 timeout periodic event will not instantly freeze the game (there is some limit to how fast it can fire) and will instead crash the game with a “cannot allocate memory” error when the freeze occurs with the off trigger. I also sent that case to Blizzard although it is likely related.

2 Likes

Unfortunately I cannot recreate it at will and therefore cannot investigate its cause. So far I have not found any reliable way to trigger that freeze except leaving the game AFK for long.

Sometimes it freezes during my playtime, sometimes not. Most of the time the freezing occurs after I leave my computer AFK, because my map is on creation, only the battle system is made so there is nothing to play for dozens of minutes except testing battles. So sometimes I launch a turn-based battle, and I go afk for lunch or so. It often happened that on my return, the game instantly freeze.

Yet, I remember once that the game freeze very quickly after ~10 minutes while I was fighting my third battle, but it did not happen again til now.

EDIT : I only played during map testing in World Editor, never directly in Warcraft 3.

1 Like

i changed all 0.01 to 0.02 and i have not had any freezes since.

1 Like

So what do u say we should change to solve the freezing if we are not using every 0.01 secs? 0 elapsed time? Or what other trigger do u think could be suffering the same issue as the every 0.01?

1 Like

i do not know but, changing 0.01 to 0.02 solves some freezes. another freeze however is caused by shift clicking to cast a spell multiple times, at least if it calls up a trigger.

2 Likes

All the spells used in my map are trigger made. So yeah I think that is the cause of the freeze I get, and not the “every 0.01 sec” which I am not using.

Anyway there is nothing I can do with it, the trigger is very fine.

2 Likes

one thing you could try is to create an alternative to your current method. i know a lot about triggers, maybe i can help.

The general approach is to disable triggers until the freezing stops, then look at what those triggers contain to try and track down the cause.

If you have a powerful modern computer one can run multiple Warcraft III tests in parallel by using the LAN game functionality. When one of the clients freeze they become unresponsive and can be closed in which case you know that the map that client was running still has the freeze problem. In the case of unreliable freezes one can repeat the test in parallel to build confidence if the freeze exists or not. This can massively save the amount of time to identify the cause.

2 Likes

The “freeze” happens to all players in the map, not to only 1, so idk if u can disable triggers when it freezes, cause the game is already ended (u cant go back to the game, it is just frozen, u can just close it).

I could arrange test games with a few ones of my betatesters and check if the freezing is solved or not (it would take around 15 misn every game since it is when it freezes), it wont be too much time wasted. The problem is I DONT KNOW what triggers should i change to avoid the freezing. I mean, if you tell me a bunch of stuff that could be problematic, i can edit/remove them and do test games with my betatesters, and when it is solved i would come here and tell u all: “u were right, it was X.”

But without a “guide”, you know, a list of a few issues i should check, i cant do the tests, cause i have countless triggers, triggers that worked perfectly till last patch and caused 0 crashes or bugs. I CANT check them all and disable all of them to then arrange an online test game, is simply imposible. So if i get tips of a few triggers or events to track (like the “every 0.01” wich i dont use) i could help u a lot to figure out what is wrong, but without a summary of “posible causes” im useless :frowning:

1 Like

I am referring to testing in the editor. One disables triggers and then tests the map until the freezing stops. If freezing has stopped then that means that one of the triggers which were disabled is the cause. One can then try to isolate and recreate the freeze using similar trigger code until a demonstration map can be produced. This can then be sent to Blizzard for fixing in a future patch and based on this knowledge temporary/hacky mitigations can be applied.

The way to disable triggers is in a binary search style way. Start with large chunks of them until the freezing stops. Then out of that last disabled chunk work down the number disabled until they reoccur. Eventually doing this one should track down the freezing trigger. This can then be isolated and analysed as to why it is causing a freeze.

Unless user input is required, one can run these tests in parallel using LAN games as I described above.

1 Like

a better solution is to just pay attention to the map and take note of when the freeze happens. i experienced a freeze when create tree was used many times, that is an ability that uses a trigger to cause an effect.

1 Like

If i open my map in the editor and use “test this map”. It wont ever freeze. It would work perfectly with 0 crashes. The freezign only happens when playing it on battlenet with other guys. I might be not properly understanding u sorry.

1 Like