• 🏆 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

Status
Not open for further replies.
Level 3
Joined
Jun 1, 2013
Messages
47
Hello there! I've been studying vJass systems and spells lately, implementing some of them into my map, until one time, I imported a spell. At first, everything went smoothly, I was able to save properly and my Jass Helper didn't detect any errors. After importing, I tested the map. While the map was loading, Warcraft III exited, and a prompt showed:

___________________________________________________
This application has encountered a critical error:
FATAL ERROR!

Program: ...
Exception: 0xC0000005 (ACCESS_VIOLATION) at 001B:00000000

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

Press OK to terminate the application.
___________________________________________________


Note: I tried to disable to trigger, even delete the whole trigger and the spell. Still the error. I even opened the map with the normal wc3 editor and I get the fatal error.
 
(1) Disable every trigger, save the map, and load it. Does it crash? If it still crashes, go to Warcraft III/Errors and attach the latest crash log here (or write it in a post).
(2) If it doesn't crash, disable a few triggers at a time, and determine which one is causing the crash. Post the code here.

Fatal errors can happen for many reasons. Sometimes it is even from imported files! That is why it is important to do step 1. For coding reasons, fatal errors happen for various reasons: e.g. use a player number outside 0 and 15, modify or refer to a destroyed lightning handle, etc.
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,197
The error message might be the result of a virtual method table pointer being corrupt and pointing to address 0. The same kind of error (instruction referencing itself) was thrown when a dynamic call was made to a page that did not exist.

As mentioned above, try removing all imports and disabling all triggers. It will help if you post the map here (or the code that causes the error if that is the case). A crash log may or may not be useful as most of the information it providers is better obtained from a debugger.
 
Level 3
Joined
Jun 1, 2013
Messages
47
Thanks for the answers. I have found the error problem:


The custom ability I created had the same name as the original ability. And apparantly the trigger was linked to the original ablity (which was edited in the map I imported it from), not the custom one that I imported. So after manually editing the original ability (to the features of the custom one) the error was surprisingly gone.
 
Level 15
Joined
Aug 7, 2013
Messages
1,337
The custom ability I created had the same name as the original ability.

Just to confirm, you mean your custom ability had the same 4 letter rawcode as one of the WC3 standard abilities?

e.g. 'Awan' = Ability wander

I know if that happens the map is usually unplayable or weird stuff can ensue.
 
Level 3
Joined
Jun 1, 2013
Messages
47
Im pretty sure it DID NOT have the same rawcode. And Im NOW pretty sure the similar name did not cause the error (so you can ignore the first sentence in the error description I wrote).
I think what caused the problem was, as written above, that the trigger is apparantly linked to the edited original ability, not a custom one.
(since the map I imported the ability from had NO CUSTOM ABILITY created, the original had been edited directly. And the trigger worked there perfectly)
 
Status
Not open for further replies.
Top