[Crash] List of WarCraft III Crashes

Bribe

Code Moderator
Level 47
Joined
Sep 26, 2009
Messages
9,164
Circulating have been a myriad of unsolved and proven things that can crash World Editor or crash the game. This topic will serve as a list of all the crashes we could find and try letting Blizzard know. Even if the bugs are never fixed, the least we can do is give everyone a fair warning.

I'll start the list with some things I know about:

  1. Some values to store inside of GUI Hashtables will cause the Editor to crash. This is limited to saving/loading values that cannot be found in the Variable Editor ("ability", "trackable", please help complete the list)
    -
  2. Ordering an artillery unit with an orb ability to attack-ground crashes the game.
    -
  3. Pagefaults caused by too many memory leaks crash the game.
    -
  4. Corrupted imported files can cause the editor or the game to crash.
    -
  5. Triggers that keep re-triggering themselves (issuing a "stop" order after an order-event takes place, for example, will infinitely re-trigger the event)
    -
  6. Certain summoning spells, but not all, if set up with an invalid unit type, will crash the game when cast.
    -
  7. Forked Lightning with 0 as its Stats - Area of Effect will freeze the game.
    -
  8. Spellbooks can create infinite loops if they are set to contain themselves, or set to contain another spell book which contains the original, etc.
    -
  9. Abilities based on Orb of Slow/Lightning can also cause infinite loops in this way.
    -
  10. Attempting to move a destroyed but not nulled lightning will crash.
    -
  11. Mac-Specific:
    -
    1. Unit - Damage Point can provoke a desync.
      -
    2. Renaming a trigger then clicking away to accept the change will crash World Editor. Instead, press Enter to accept the change.
      -
    3. Switching to another program while loading a map in will crash World Editor.
      -
  12. Custom icon files need to be prepared in a proper way, or WC3 will crash when trying to load them (which may be map init, or may be the selection of a tavern selling units with custom icons, etc.) Sadly, the default settings for Button Manager produce Mac-incompatible icons; read here for compatible settings.
    -
  13. Trying to create a quest object at map initialization will cause a crash during load sequence.
    -
  14. Destroying a trigger with actions attachd was rumoured to cause a handle-corruption crash but has not been confirmed since patch 1.21 or 1.22 so it may very well no longer exist.
    -
  15. There was at one point a pathing problem which could cause a crash if unable to displace a unit's position, but may have been patched.
    -
  16. Using metomorphisis to convert a non hero into a hero and back will result in the unit becomming unsable and the game can crash when it does something or something happens to the unit.
    -
  17. Non-hero units with an inventory that can support using items will crash the game if they pick up a tome of a hero attribute (life and attack work fine though).
    -
  18. Making the AoE of a targetable order (attack ground, abilities like blizzard etc) too big (shift enhanced big) will cause a crash.
    -
  19. Corrupted lightning models (an old anti maphack before custom games used warden) will cause a crash when viewed.
    -
  20. Setting certain cooldown values to 0 can cause infinite loop under some conditions like with Damage over Time spells.

Custom-script related crashes should be listed seperately because there are so many things that can go wrong with a script from infinite loops to dangerous native functions to thread crashes. Here is semi-outdated list of WarCraft III JASS bugs: http://www.wc3c.net/showthread.php?t=80693

There are lots more so lets get to building the list, just lay down your grievances here.
 
Last edited:
Level 10
Joined
Jul 12, 2009
Messages
319
Here's another good but old document on the topic. Of particular note is attempting to get the expired timer when the event was not a timer's expiration...and don't forget that units moved outside the map bounds are just asking for trouble, though not a guaranteed crash.

And some more:
- Certain summoning spells, but not all, if set up with an invalid unit type, will crash the game when cast.
- Forked Lightning with 0 as its Stats - Area of Effect will freeze the game.
- Spellbooks can create infinite loops if they are set to contain themselves, or set to contain another spell book which contains the original, etc.
- Abilities based on Orb of Slow/Lightning can also cause infinite loops in this way.
- Attempting to move a destroyed but not nulled lightning will crash.

Mac-specific:
World Editor:
- Renaming a trigger then clicking away to accept the change will crash. Instead, press Enter to accept the change.
- Switching to another program while loading a map will crash.

WC3:
- Custom icon files need to be prepared in a proper way, or WC3 will crash when trying to load them (which may be map init, or may be the selection of a tavern selling units with custom icons, etc.) Sadly, the default settings for Button Manager produce Mac-incompatible icons; read here for compatible settings.
 
I think loading "Ability" on game-caches and hashtables cause crashes...

I've really been wondering about those model crashes, they work on model viewer and Magos but on the WE they crash...

DoT spells with 0 damage interval would cause extreme lag, so massing them would most probably cause a crash...

As for the artillery, based from my experience, any orb effect ability causes a crash when used with attack ground...
 

Dr Super Good

Spell Reviewer
Level 62
Joined
Jan 18, 2005
Messages
27,038
DoT spells with 0 damage interval would cause extreme lag, so massing them would most probably cause a crash...
This is most prominent with shadow strike. Its interval is its casting time field or something unusual so people foolishly think 0 casting delay is instant cast whereas the spell is always instantcast but it causes a heavy lag loop for the duration of the spell (especially as it deals 0 damage so runs all on damage events for the target). This does not cause a crash usually but can slow the system down into an unresponsive state (sort of a crash but could potentially get out of it with enough time).

Some values to store inside of GUI Hashtables will cause the Editor to crash (Specifics needed).
This is a WE crash that occurs when you click on the save ability (this is not the usual integer ability that GUI uses but a jass type called ability) or any other save handle type which GUI does not have. Reason it exists is due to poor GUI and game design. Does not crash JASS and will compile but the ability type has nearly no use (as object types are integers and not the ability type).

I can say that hashtables were causing crashes at one stage if you tried to change type positions or access positions which did not exist but this is why there is a check if entry exists native and also has probably been largly patched.

Other crashes ingame that I know of.
Trying to create a quest object at map initialization will cause a crash during load sequence.
Destroying triggers can cause a crash (apparently a double handle collision results occasionally).
Pathing displacement and movement algrothim is not stable and can throw a crash if unable to displace a unit. May have been patched.
Using metomorphisis to convert a non hero into a hero and back will result in the unit becomming unsable and the game can crash when it does something or something happens to the unit.
Non-hero units with an inventory that can support using items will crash the game if they pick up a tome of a hero attribute (life and attack work fine though).
Making the AoE of a targetable order (attack ground, abilities like blizzard etc) too big (shift enhanced big) will cause a crash.
Curropted lightning models (an old anti maphack before custom games used warden) will cause a crash when viewed.

There is also a performance intensive mode of attack.
If both the animation added delay and attack rate are 0 it will lock the game engine until the unit is dead in a non responsive state. If the unit is never able to kill it (high durability outdoing damage rate) the game will be locked permatly and as good as crashed.
 
Passing null to a Player event (like a player unit event) will cause a ingame fatal error. This can easilly happen if you pass the Player function a number outside the range of 0 to 15 (inclusive) like -1 or 16.
Yeah it also happens if you try to pass a string or other weird junk as a player number.


Imported models with geoset animations that refer to null geosets are a common cause of world editor crashes among beginner modelers.
This happens whenever a geoset is removed from a model but the geoset animation referring to that geoset is not removed.
Solution: Check recently imported models and remove all Geoset Animations that refer to "None". This can be done with Magos' War3 Model Editor.

If a unit or other object leaves the entire map boundaries, the game will crash. This can happen if you use commands like
  • Custom script: call SetUnitX( udg_Unit, udg_X_Coordinate_Real) )
  • Custom script: call SetUnitY( udg_Unit, udg_Y_Coordinate_Real) )
as these do not check if the location the unit is moved to is valid or not.
Solution: Make a trigger that removes a unit when it leaves "Entire Map"

Using GetLocationZ to detect terrain height while/after making terrain deformations with either spells (shockwave/etc) or triggers can cause a multiplayer map to desync and have a server split during game.
Solution: Just don't use GetLocationZ and terrain deformations together in a multiplayer map. If it's a must, at the very least don't use them at the same time.
 
Level 19
Joined
Feb 4, 2009
Messages
1,315
If a unit or other object leaves the entire map boundaries, the game will crash.

the unit also has to be issued an order (probably something with the pathfinding algorithm)

Using GetLocationZ to detect terrain height while/after making terrain deformations with either spells (shockwave/etc) or triggers can cause a multiplayer map to desync and have a server split during game.

I also heared that thunder clap of mountain king can deform terrain or not based on video settings (high/low)
but you can use terrain deformation as much as you want (though it is said to lag under certain circumstances) as long as you don't have any non-visual actions (for example you can change lightning height to terrain height but you mustn't check height of missiles to collide with the ground to be destroyed)

This is most prominent with shadow strike.

and immolation and soul burn


other weird things are that division by zero does not crash the game (at least it did not happen to me yet) but just stops execution at this point
this is similar to what happens when using undefined local variables
 

Dr Super Good

Spell Reviewer
Level 62
Joined
Jan 18, 2005
Messages
27,038
other weird things are that division by zero does not crash the game (at least it did not happen to me yet) but just stops execution at this point
this is similar to what happens when using undefined local variables

Most games do not crash from division by 0. This is not windows 95 anymore. Instead what happens is it crashes the trigger thread meaning that it stops execution at that point. It is not the only way to cause a trigger thread crash eithor (hitting the op limit causes one).
 
Level 19
Joined
Feb 4, 2009
Messages
1,315
Most games do not crash from division by 0. This is not windows 95 anymore. Instead what happens is it crashes the trigger thread meaning that it stops execution at that point.

on my Windows 7 division by zero does crash a program (or probably the main thread only :p) no matter if I use Java/C/C++ (of course I could use exception handeling and these are not games but programming languages)


It is not the only way to cause a trigger thread crash eithor (hitting the op limit causes one).

and many function parameters count towards the operation limit so loops should be chosen over recursive stuff

maybe we could make a general FAQ about common errors/bugs/mistakes

if we do so:
-the center of current camera returns a different location for every player so for example creating a unit at this loc would make other players but the host drop
-GUI unit selection uses local player so it is not save to use it either
 
Level 17
Joined
Apr 27, 2008
Messages
2,455
SetUnit/X/Y don't crash wc3 by themselves if you move an unit outside the entire map (GetWorldBounds).
I mean if you do nothing else it won't crash, but it will crash with plenty of cases, like ordering the unit, moving the camera , and so one, so yes in any real case it would crash wc3.

maybe we could make a general FAQ about common errors/bugs/mistakes

That's indeed a good idea, in fact i have one in french but currently i'm too lazy for translating it :/ (only about bugs thought)

if we do so:
-the center of current camera returns a different location for every player so for example creating a unit at this loc would make other players but the host drop
-GUI unit selection uses local player so it is not save to use it either

Hmm, the only thing wrong here is the mapmaker, simply because the current camera is naturally a local thing with or without GetLocalPlayer.
But it should have nothing wrong with local selection since the event will fire for all players.
 
Last edited:
Level 5
Joined
Jul 2, 2013
Messages
141
I don't think I saw a post that Resuming the same timer multiple times will crash the game.

Also, If u care, WE JNGP can be crashed when creating new units/spells/buffs and u click by accident 2 times.
 

sentrywiz

S

sentrywiz

Not sure if this one is on the list, but it happened to me today. I converted a .png file to .tga and it was somehow corrupted and a lot smaller than the original file so when I imported it to the map and saved it as the map preview image, it would constantly crash whenever I'd open warcraft and go into custom games to try the map.
 

Dr Super Good

Spell Reviewer
Level 62
Joined
Jan 18, 2005
Messages
27,038
Not sure if this one is on the list, but it happened to me today. I converted a .png file to .tga and it was somehow corrupted and a lot smaller than the original file so when I imported it to the map and saved it as the map preview image, it would constantly crash whenever I'd open warcraft and go into custom games to try the map.
Generally that is what happens with corrupted files. There are probably dozens of ways to crash WC3 with corrupt MDL, MDX and BLP files.
 
Level 3
Joined
Jun 3, 2009
Messages
53
Not seeing this on the list, and it's pretty obvious: moving a unit outside playable map area (by manipulating its x and y coordinates) will crash the game. I learned this in a pretty funny way; I was using a dummy unit as a spell projectile, and miscalculated the direction in which it had to move, so it flew in exactly the opposite direction, and out of bounds. It looked hilarious.
 

Dr Super Good

Spell Reviewer
Level 62
Joined
Jan 18, 2005
Messages
27,038
Not seeing this on the list, and it's pretty obvious: moving a unit outside playable map area (by manipulating its x and y coordinates) will crash the game. I learned this in a pretty funny way; I was using a dummy unit as a spell projectile, and miscalculated the direction in which it had to move, so it flew in exactly the opposite direction, and out of bounds. It looked hilarious.
It is even more convoluted that that. A unit just being near (at) the edge of map can also crash.

Specifically flying units if I recall. Their shadows can fall outside map bounds in which case it crashes. For that reason your playable area should never be the full map size and your triggers should respect the boarders.
 

TKF

TKF

Level 19
Joined
Nov 29, 2006
Messages
1,267


  • [21] Unload (Air Transports) causes fatal error if a building use the ability with units inside the building

Giving a building a cargo hold, and giving it the load ability and unload all ability (Air Transports)

If the building dies, the units get out without any issues.

When you use Unload ability (Air Transports) with units within the building, I experienced instant fatal error. However using sea transports unload ability did work without problem.
 
Level 19
Joined
Mar 18, 2012
Messages
1,717
Removing avatar instantly after casting it will crash the game.
For example upon EVENT_PLAYER_UNIT_SPELL_EFFECT.
Adding a certain wait before removal for instance 1 second appears to be safe.

If doing so the unit will not be scaled to normal size after avatar expires.
Bonus damage, armor and life are reset when the spell ends.
I didn't test magic immunity.
 
Level 3
Joined
Feb 19, 2016
Messages
32
The World Editor crashes also when you try to add region to a hashtable.
Or is it just me?
 

Dr Super Good

Spell Reviewer
Level 62
Joined
Jan 18, 2005
Messages
27,038
The World Editor crashes also when you try to add region to a hashtable.
Or is it just me?
That is because GUI has no region type. Its "Region" is a rect but those actions/functions are for the real region type. Same goes for ability type which GUI lacks as GUIs ability type is integer and not the real ability type.

I agree that it would be nice to be patched/fixed at some stage. Judging by it making it into a patch in the first place I unfortunately doubt an easy fix.
 
Level 33
Joined
Apr 24, 2012
Messages
5,122
This always happens to me :
Game Crashes whenever a null effect is destroyed.


also, pasting this script:
http://www.hiveworkshop.com/forums/graveyard-418/april-fools-day-2013-most-dangerous-library-232383/
Will cause JNGP to crash. (Haven't tested this yet with JNGP 2.0)

[edit]
Okay, that script don't work anymore. sorry.


Btw, there's another problem ( this is the most occuring).

If a file is missing in the MPQ(in most cases, a model or a texture) and you try to view it in the Editor, the editor will crash(even just hovering it). In most Warcraft 3 copies, this happens when you try to view Thrall or Tauren Chieftain (or even the other models that uses their textures) will cause the editor to crash, but not the game.
 
Attempting to move a destroyed but not nulled lightning will crash.

Has Blizzard patched this?

JASS:
struct AA

private static method ExitWarcraft takes nothing returns nothing
    local lightning l = AddLightning("CLPB", false, 0, 0, 0, 0)
    call DestroyLightning(l)
    call MoveLightning(l, true, 1, 1, 1, 1)
endmethod

private static method onInit takes nothing returns nothing
    call TimerStart(CreateTimer(), 2, false, function thistype.ExitWarcraft)
endmethod

endstruct
I can't get it to work properly, plz help.
 

Dr Super Good

Spell Reviewer
Level 62
Joined
Jan 18, 2005
Messages
27,038
WorldEdit crashes when trying to load a BLP file with JPEG content with at least 1 mipmap that resolves to an invalid JPEG file. Warcraft III itself handles this case gracefully by not loading the file.

Both WorldEdit and Warcraft III can crash when loading BLP files with incorrect or invalid block lengths. Incorrect block length is when a direct content mipmap data chunk is specified that is too small for the sampling model used. Invalid block length is when either a JPEG content header size or mipmap data size is specified that exceeds end of file. Both cases appear to be buffer overrun, so might not always crash but can be considered unsafe.
 
Level 3
Joined
Dec 19, 2016
Messages
45
In a campaign I am working on, the test map for testing the units crashes randomly, and without warning. I have no imported files except a score screen version of the Wraith icon, and the only triggers change the players color, and sets a handicap for neutral hostile. Is this the cause? I tested the units, and they have nothing like what you listed above, so I don't know what could cause it.
 
Level 3
Joined
Dec 19, 2016
Messages
45
I found the crash problem. If you try to train a unit from a structure that has the sacrifice ability, like a modified sacrifice pit, it will crash the game when the unit is completed being trained.
 
Top