• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Fatal Error Crash

Status
Not open for further replies.
Level 9
Joined
Mar 29, 2015
Messages
470
So I finished my redone campaigns a couple weeks ago. However, I can't really play some of them now. Starting from the end cinematic of Chapter 8 of the Orc Campaign, By Demons Be Driven, every time I get close to triggering the end cinematic of the map, I get a fatal error crash. So before Thrall even touches the ritual circle, it crashes. I went on to the night elf campaign and the same thing happened. Before the killing blow landed on the Paladin in the first chapter, it crashed. I'm not using custom triggers at the end, just in the beginning if it needs it and different models, so I have no idea whats causing it. The rest of the map is fine. The starting cinematic works, and the rest of the map works, it's just a split second before the end cinematic is supposed to trigger that it crashes.

Can anyone help, or have had this problem before?
 
Level 9
Joined
Mar 29, 2015
Messages
470

Attachments

  • Fatal Error Message.jpg
    Fatal Error Message.jpg
    31.7 KB · Views: 782

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
Try clearing game caches in-case corrupted values are in them.

Honestly this sort of error has so many possible causes one cannot even start to guess which from that crash message. The only thing significant about it is the 0 address which either means a null array at index 0 or a struct member at offset 0. Both of which are meaningless unless they can be matched up to a similar error and chances are they may vary from system to system and run to run anyway.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
Breakdown what events are firing when the game crashes. Being a cinematic it is possible the setup is causing a crash (eg creating an invalid unit or model). It is also possible some of the actions are causing the crash (trying to do something to a null handle with a non-robust native).

If you are an x86 assembly guru you can also reverse-engineer what causes the crash from the code executing and the stack trace/register state of when it crashes. However this will probably take several hours/days of work and requires you are proficient with assembly languages.
 
Level 23
Joined
Apr 16, 2012
Messages
4,041
did you use Jass or vJass in your map?

DSG is wrong.

There are 2 kinds of infinite loops:
1.) Jass loop
- Basicially you make loop endloop without exitwhen. This is however very easily caught by the interpreter, because every action you do increases its internal variable by some value(varying by the operation), and when the variable reaches big enough value(200,000 afaik), it will just say "fuck it, Im outa here" and kill the executing Jass "branch"(Im not going to call it thread, its misleading). The others can run fine tho(like another event, or timer callback or such).
2.) Backend infinite loop
- Can be caused by things like "Unit enters region X; Create unit at (Random position inside region X)". However it can not be this crash either, because the game goes down without warning or anything. It just shuts down immediately.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,180
There are 2 kinds of infinite loops:
Two common kinds. There are various other infinite loops which cause the game to crash in all manner of ways.

For example messing up dependency equivalence for buildings resulting in cyclic dependencies will cause a crash when you open a builder command card (requirements evaluated).

Certain object creation loops will cause an out of memory crash as the game rapidly shoots to the virtual memory limit.

There used to be an old stack overflow crash where if you issued enough orders it would evaluate them with a nested call (a type of loop). This would cause everyone to crash but the hacker running a modified WC3 executable with larger stack size. This was fixed by limiting the maximum number of queued orders to something reasonable.

An infinite loop of an array of pointers could cause the above if it tries to dereference 4 bytes of 0. Obviously peeking at the assembly will easily reveal if it was a loop or not. Running a debugger could even give you some idea of where the crash is happening based on what values are on the stack.
 
Level 9
Joined
Mar 29, 2015
Messages
470
I'm not making my own maps, just redoing the blizzard ones. So nothing that I can think of. I'm not using Jass or anything else. That's all Blizzard. The only thing I'm doing is adding in heroes, using different models/skins, and triggers for the new heroes if they need it
 
Level 9
Joined
Mar 29, 2015
Messages
470
In the beginning cinematics, yes. I replaced some of the main characters models and skins, so in the ending cinematics, if they're in the scene, then also yes. Can I try to post the map itself so you can play it and see if you can figure it out there. Maybe playing it will help
 
Level 20
Joined
Nov 20, 2005
Messages
1,178
I'm having the same problem too, when in a map's cinematic an elemental is attacking a unit. Right before the blow lands the game crashes. It is strange because i already saw this cinematic hundred times and it never crashed. Perhaps i touched something inside the trigger tree, some kind of infinite loop as dr super good mentioned. I'll scan this thread for information and will update in case i get it fixed.

EDIT: I DID IT! There was a trigger involving a dying unit owned by player color X which caused a timer to be destroyed and another timer to be resumed. Both timers were not yet active. Also, a "warning" message was showing randomly for just some milliseconds before the game crashed, it was exactly the text message "Timer resumed" caused by the activation of that trigger. ^^ woooohoooo!
 
Last edited:
Level 9
Joined
Mar 29, 2015
Messages
470
The "LastReplay.w3g" file located at "INSTALL_PATH\Warcraft III\replay" should suffice. It records the replay up to the point of any crash. If the crash is deterministic then when viewing the replay it should crash at exactly the same time.

The crashes are still happening. This is my error log when it crashes.

This application has encountered a critical error:

FATAL ERROR!

Program: c:\program files (x86)\warcraft iii\war3.exe
Exception: 0xC0000005 (ACCESS_VIOLATION) at 0023:150348BC

The instruction at '0x150348BC' referenced memory at '0x00000000'.
The memory could not be 'read'.


War3Build: 1.26.0.6401
Played RedoneNE1.w3x
Player 0 Orcish Horde Race Orc StartLoc 0
Player 1 Garrison Race NightElf StartLoc 1
Player 2 Sentinels Race NightElf StartLoc 2
Player 3 Human Expedition Race Human StartLoc 3
Player 4 Orcish Horde Race Orc StartLoc 4
Player 5 Orcish Horde Race Orc StartLoc 5
Player 6 Undead Scourge Race Undead StartLoc 6
Player 7 Orcish Horde Race Orc StartLoc 7
Player 8 Human Expedition Race Human StartLoc 8
Player 9 Human Expedition Race Human StartLoc 9
Player 10 <Unused> Race Human StartLoc -1
Player 11 Felwood Furbolgs Race NightElf StartLoc 10
------------------------------------------------------------------------------

----------------------------------------
x86 Registers
----------------------------------------

EAX=CCEAA681 EBX=00000004 ECX=061B1B34 EDX=7FFF20FF ESI=00000000
EDI=061B1B34 EBP=00000000 ESP=0017E5C0 EIP=150348BC FLG=00210286
CS =0023 DS =002B ES =002B SS =002B FS =0053 GS =002B


----------------------------------------
Stack Trace (Manual)
----------------------------------------

Address Frame Logical addr Module

150348BC 00000000 0001:000338BC c:\program files (x86)\warcraft iii\Storm.dll

----------------------------------------
Stack Trace (Using DBGHELP.DLL)
----------------------------------------

150348BC Storm.dll Ordinal590+28 (0x00000000,0x00000000,0x00000000,0x00000000)


----------------------------------------
Loaded Modules
----------------------------------------

0x00400000 - 0x0047D000 c:\program files (x86)\warcraft iii\war3.exe
0x02680000 - 0x03235000 c:\program files (x86)\warcraft iii\Game.dll
0x15000000 - 0x15061000 c:\program files (x86)\warcraft iii\Storm.dll
0x21100000 - 0x2115F000 c:\program files (x86)\warcraft iii\mss32.dll
0x22600000 - 0x22616000 c:\program files (x86)\warcraft iii\redist\miles\Mssfast.m3d
0x22700000 - 0x22717000 c:\program files (x86)\warcraft iii\redist\miles\Mssdolby.m3d
0x22C00000 - 0x22C18000 c:\program files (x86)\warcraft iii\redist\miles\Msseax2.m3d
0x24600000 - 0x24611000 c:\program files (x86)\warcraft iii\redist\miles\Reverb3.flt
0x26F00000 - 0x26F2A000 c:\program files (x86)\warcraft iii\redist\miles\Mp3dec.asi
0x60000000 - 0x6005D000 c:\program files (x86)\warcraft iii\ijl15.dll
0x69F60000 - 0x6AD2E000 C:\Windows\system32\nvd3dum.dll
0x6E7B0000 - 0x6E8A4000 C:\Windows\system32\WindowsCodecs.dll
0x6EC60000 - 0x6ED66000 C:\Windows\system32\d3d8.dll
0x6ED70000 - 0x6EE55000 C:\Windows\system32\DDRAW.dll
0x6EEF0000 - 0x6EFBB000 C:\Windows\system32\OPENGL32.dll
0x6F1E0000 - 0x6F265000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.6002.19373_none_88f3001d69c37da0\COMCTL32.dll
0x6FAC0000 - 0x6FAF5000 C:\Windows\system32\ncrypt.dll
0x6FB00000 - 0x6FB3A000 C:\Windows\system32\slc.dll
0x6FBA0000 - 0x6FBBB000 C:\Windows\system32\cryptnet.dll
0x70EB0000 - 0x70ED3000 C:\Windows\system32\GLU32.dll
0x70F50000 - 0x70F65000 C:\Windows\system32\GPAPI.dll
0x73B40000 - 0x73B46000 C:\Windows\system32\IconCodecService.dll
0x73DD0000 - 0x73EAC000 C:\Windows\system32\dbghelp.dll
0x73EB0000 - 0x73EB6000 C:\Windows\system32\DCIMAN32.dll
0x73F90000 - 0x73FA1000 C:\Windows\system32\SAMLIB.dll
0x73FB0000 - 0x73FD1000 C:\Windows\system32\NTMARTA.DLL
0x74000000 - 0x74046000 C:\Windows\system32\BCRYPT.dll
0x74080000 - 0x74100000 C:\Windows\system32\uxtheme.dll
0x74330000 - 0x7436E000 C:\Windows\system32\OLEACC.dll
0x74510000 - 0x74516000 C:\Windows\system32\d3d8thk.dll
0x74530000 - 0x74562000 C:\Windows\system32\WINMM.dll
0x745B0000 - 0x74626000 C:\Windows\system32\NETAPI32.dll
0x74990000 - 0x74B2E000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6002.19373_none_5cbe60a608848a19\comctl32.dll
0x74D20000 - 0x74DBB000 C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\MSVCR80.dll
0x74DC0000 - 0x74DFB000 C:\Windows\system32\rsaenh.dll
0x75110000 - 0x75176000 C:\Windows\system32\audioeng.dll
0x75180000 - 0x75186000 C:\Windows\system32\SensApi.dll
0x75370000 - 0x75391000 C:\Windows\system32\AUDIOSES.DLL
0x753A0000 - 0x75410000 C:\Windows\system32\DSOUND.DLL
0x75470000 - 0x7547C000 C:\Windows\system32\dwmapi.dll
0x75480000 - 0x754A8000 C:\Windows\System32\MMDevApi.dll
0x754B0000 - 0x754B7000 C:\Windows\system32\AVRT.dll
0x754C0000 - 0x754DA000 C:\Windows\system32\powrprof.dll
0x75560000 - 0x75655000 C:\Windows\system32\CRYPT32.dll
0x75C70000 - 0x75CAB000 C:\Windows\system32\mswsock.dll
0x75CC0000 - 0x75CC8000 C:\Windows\system32\VERSION.dll
0x75D10000 - 0x75D22000 C:\Windows\system32\MSASN1.dll
0x75D30000 - 0x75D5D000 C:\Windows\system32\WINTRUST.dll
0x75D60000 - 0x75D67000 C:\Windows\system32\WSOCK32.dll
0x75D70000 - 0x75D8E000 C:\Windows\system32\USERENV.dll
0x75FF0000 - 0x76050000 C:\Windows\syswow64\Secur32.dll
0x76050000 - 0x76116000 C:\Windows\syswow64\ADVAPI32.dll
0x76120000 - 0x76193000 C:\Windows\syswow64\comdlg32.dll
0x761A0000 - 0x7622E000 C:\Windows\syswow64\OLEAUT32.dll
0x76230000 - 0x762AD000 C:\Windows\syswow64\USP10.dll
0x762B0000 - 0x76334000 C:\Windows\syswow64\CLBCatQ.DLL
0x76340000 - 0x763EA000 C:\Windows\syswow64\msvcrt.dll
0x76520000 - 0x76630000 C:\Windows\syswow64\kernel32.dll
0x76630000 - 0x77141000 C:\Windows\syswow64\SHELL32.dll
0x77150000 - 0x771B0000 C:\Windows\syswow64\IMM32.dll
0x771B0000 - 0x772F5000 C:\Windows\syswow64\ole32.dll
0x77390000 - 0x77396000 C:\Windows\syswow64\NSI.dll
0x773A0000 - 0x773CA000 C:\Windows\syswow64\imagehlp.dll
0x773D0000 - 0x77498000 C:\Windows\syswow64\MSCTF.dll
0x774A0000 - 0x774A3000 C:\Windows\syswow64\Normaliz.dll
0x774B0000 - 0x775A0000 C:\Windows\syswow64\RPCRT4.dll
0x775A0000 - 0x775E6000 C:\Windows\syswow64\iertutil.dll
0x775F0000 - 0x77680000 C:\Windows\syswow64\GDI32.dll
0x77680000 - 0x7780A000 C:\Windows\syswow64\SETUPAPI.dll
0x77810000 - 0x778E0000 C:\Windows\syswow64\USER32.dll
0x778E0000 - 0x7790D000 C:\Windows\syswow64\WS2_32.dll
0x77910000 - 0x77969000 C:\Windows\syswow64\SHLWAPI.dll
0x77970000 - 0x77A41000 C:\Windows\syswow64\WININET.dll
0x77A50000 - 0x77A99000 C:\Windows\syswow64\WLDAP32.dll
0x77AA0000 - 0x77AA9000 C:\Windows\syswow64\LPK.DLL
0x77E40000 - 0x77E47000 C:\Windows\syswow64\PSAPI.DLL
0x77E70000 - 0x77FD0000 C:\Windows\SysWOW64\ntdll.dll


----------------------------------------
Memory Dump
----------------------------------------

Code: 16 bytes starting at (EIP = 150348BC)

150348BC: 0F B6 06 33 D2 85 C0 8D 4C 24 04 74 39 57 8D 9B ...3....L$.t9W..


Stack: 1024 bytes starting at (ESP = 0017E5C0)

* = addr ** *
0017E5C0: 00 00 00 00 31 00 00 00 00 00 00 00 00 00 00 00 ....1...........
0017E5D0: 80 E8 17 00 C8 11 96 C5 C5 2F 5A C5 C4 16 E7 0C ........./Z.....
0017E5E0: 00 00 00 00 00 00 00 00 30 27 8B 0D 01 00 00 00 ........0'......
0017E5F0: F5 5A 02 15 10 E6 17 00 FE FF FF FF 00 00 8B 0D .Z..............
0017E600: 24 EE 17 00 F0 00 00 00 74 E6 17 00 B0 43 C7 04 $.......t....C..
0017E610: 00 00 00 00 78 ED 17 00 CB 4E 49 6A A0 00 84 06 ....x....NIj....
0017E620: 13 BB 31 0A 00 BB 31 0A 08 00 00 00 13 00 00 00 ..1...1.........
0017E630: 10 49 03 15 00 00 00 00 1F 49 03 15 53 45 54 4D .I.......I..SETM
0017E640: 49 53 53 49 4F 4E 41 56 41 49 4C 41 42 4C 45 00 ISSIONAVAILABLE.
0017E650: 00 00 00 00 70 E7 17 00 00 00 00 00 01 00 00 00 ....p...........
0017E660: 04 00 00 00 04 00 00 00 28 27 8B 0D 70 03 8B 0D ........('..p...
0017E670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E690: 00 00 00 00 00 00 00 00 00 00 00 00 88 00 37 06 ..............7.
0017E6A0: 3A C5 34 0A 30 C5 34 0A 60 15 72 0F 30 C5 34 0A :.4.0.4.`.r.0.4.
0017E6B0: 3A C5 34 0A 88 00 37 06 60 15 72 0F B0 00 66 0F :.4...7.`.r...f.
0017E6C0: 4D 47 32 0A 38 47 32 0A 08 00 00 00 15 00 00 00 MG2.8G2.........
0017E6D0: 10 49 03 15 B0 00 64 0F F9 99 31 0A F0 99 31 0A .I....d...1...1.
0017E6E0: 84 C2 66 10 09 00 00 00 10 49 03 15 00 00 00 00 ..f......I......
0017E6F0: 1F 49 03 15 41 56 41 49 4C 41 42 4C 45 00 42 45 .I..AVAILABLE.BE
0017E700: 52 00 00 45 52 00 00 31 00 48 45 00 00 00 00 00 R..ER..1.HE.....
0017E710: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E720: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E730: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E740: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E750: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E7A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E7B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E7C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E7D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E7E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E7F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E810: 80 ED 00 40 00 00 00 00 00 00 00 00 00 00 00 00 ...@............
0017E820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E850: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E8A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E8B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E8C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E8D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E8E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E8F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0017E900: 00 00 00 00 30 E9 17 00 4B 7A C8 6E 30 E9 17 00 ....0...Kz.n0...
0017E910: 64 7A C8 6E 00 00 00 00 00 00 00 00 00 00 00 00 dz.n............
0017E920: 00 00 00 00 40 F6 00 40 01 00 00 00 A0 00 84 06 ....@..@........
0017E930: 46 6F 33 0A 38 6F 33 0A 08 00 00 00 0E 00 00 00 Fo3.8o3.........
0017E940: 10 49 03 15 00 00 00 00 1F 49 03 15 54 52 49 47 .I.......I..TRIG
0017E950: 47 45 52 45 58 45 43 55 54 45 00 00 47 47 45 52 GEREXECUTE..GGER
0017E960: 00 00 00 00 30 17 C4 0B 30 17 C4 0B 30 17 C4 0B ....0...0...0...
0017E970: 00 00 00 00 30 17 C4 0B 30 17 C4 0B 00 00 00 00 ....0...0.......
0017E980: 00 00 00 00 D4 ED 17 00 4D 48 49 6A C0 0C 1D 04 ........MHIj....
0017E990: 65 3A 2B 68 FC 03 BD 09 4C 26 BE 09 4C 26 BE 09 e:+h....L&..L&..
0017E9A0: D7 3C 03 15 FC 03 BD 09 4C 26 BE 09 FF FF FF 7F .<......L&......
0017E9B0: 18 01 19 06 1C 1B 1B 06 87 1D B5 02 FC 03 BD 09 ................


------------------------------------------------------------------------------
 
Level 9
Joined
Mar 29, 2015
Messages
470
Looks trigger related by the stack contents (function names on stack). It is likely crashing near a call to SetMissionAvailable.
JASS:
native SetMissionAvailable takes integer campaignNumber,integer missionNumber,boolean available returns nothing

Does that mean the "Next level prep/run"? I've been doing nothing different to those, at least not that I've realized.
 
Status
Not open for further replies.
Top