• 🏆 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 7
Joined
Feb 28, 2014
Messages
185
I can loading my game and play a while only than fatal error appear .

==============================================================================
Warcraft III (build 6387)

Exe: C:\Users\MSI\Desktop\Warcraft 1.24e\War3.exe
Time: Dec 11, 2014 4:10:54.417 PM
User: MSI
Computer: USER
------------------------------------------------------------------------------

This application has encountered a critical error:

FATAL ERROR!

Program: C:\Users\MSI\Desktop\Warcraft 1.24e\War3.exe
Exception: 0xC0000005 (ACCESS_VIOLATION) at 0023:6F4317D1

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


War3Build: 1.24.4.6387
Played Maps\Test\WorldEditTestMap.w3x
Player 0 WorldEdit Race Human StartLoc 0
Player 1 Race Orc StartLoc 1
Player 2 Race Undead StartLoc 2
Player 3 Race NightElf StartLoc 3
Player 4 Race Human StartLoc 4
Player 5 Race Orc StartLoc 5
Player 6 Race Undead StartLoc 6
Player 7 Race NightElf StartLoc 7
Player 8 Race Human StartLoc 8
Player 9 Race Orc StartLoc 9
Player 10 Player 11 Race Undead StartLoc 10
Player 11 Player 12 Race NightElf StartLoc 11
------------------------------------------------------------------------------

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

EAX=0CED27B4 EBX=0CED27B4 ECX=0CED27B4 EDX=00000000 ESI=00000010
EDI=0018F864 EBP=00000010 ESP=0018F7E8 EIP=6F4317D1 FLG=00010202
CS =0023 DS =002B ES =002B SS =002B FS =0053 GS =002B


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

Address Frame Logical addr Module

What happen is that going on ?
 
You've caused a http://en.wikipedia.org/wiki/Segmentation_fault ... in WC3, this usually means that you tried to access a variable that hasn't been initialized at that moment.

Unfortunately, without you narrowing down which particular trigger caused this error, we can't help you any further.
 
Level 7
Joined
Feb 28, 2014
Messages
185
If you have JASSHelper, your whole triggers (including GUI ones) are checked if they run properly when you save the map (no save as).

If you don't have JASSHelper, then go download the NewGen Pack. It also gives you access to many more possibilities.

I wanted download it before ,but i think my computer is'nt support all project came from warcraft III. I downloaded NewGen Pack before , my computer detected virus coming from there and else project warcraft III also same .
 
Level 24
Joined
Aug 1, 2013
Messages
4,657
That you get a virus alert is good... in this case.
The NewGen Pack hacks WC3 WE to let you be able to use it.
Almost every antivirus system would say that that is forbidden and tells you that it is a virus.
The link I gave you is 100% safe and you can turn off your anti-virus, install newgen and then turn your antivirus on again. Make sure that you do that last one.
 
Level 7
Joined
Feb 28, 2014
Messages
185
If you found out which trigger causes the crash, post it here for us to troubleshoot it.

  • Base
    • Events
      • Unit - A unit enters Prevent Stuck 20 <gen>
      • Unit - A unit enters Prevent Stuck 21 <gen>
      • Unit - A unit enters Prevent Stuck 22 <gen>
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Final Boss
      • (Unit-type of (Triggering unit)) Equal to Satanic Kodo
      • (Unit-type of (Triggering unit)) Equal to |c000033ffC|rrazy Kodo
      • (Unit-type of (Triggering unit)) Equal to |c00ff33ffG|renome-Enhanced Kodo
      • (Unit-type of (Triggering unit)) Equal to |c00ff33ffeA|rbysal Kodo
      • (Unit-type of (Triggering unit)) Equal to |c00ff33ffeD|remon Kodo
      • (Unit-type of (Triggering unit)) Equal to |c00ff33ffeX|rtreme Kodo
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Base <gen> contains Unit) Equal to True
        • Then - Actions
          • Unit - Order (Entering unit) to Attack-Move To (Center of Base <gen>)
          • Trigger - Turn off (This trigger)
        • Else - Actions
I'm just cross the "Intially On" than no fatal error again and this might also make the game causes fatal error ..

  • Game - Display to (Player group((Triggering player))) the text: (|Cfffed312You sent + ((|c0020c000 + (String(BS_Send_Amount[(Player number of (Triggering player))]))) + (|r|cfffed312 lumber to + (Colours[(Player number of (Player((Integer A))))] + ((Name of (Player((Integer A)))) + (ColoursEnd + ( ( + (Colours[(Player
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,196
If you have JASSHelper, your whole triggers (including GUI ones) are checked if they run properly when you save the map (no save as).

If you don't have JASSHelper, then go download the NewGen Pack. It also gives you access to many more possibilities.
No JASSHelper does not do that. It is the vJASS pre-compiler and that is all it does (convert valid vJASS into valid JASS). It does not do any run time analysis if the code will crash or not.
 
Level 24
Joined
Aug 1, 2013
Messages
4,657
Uhm... It is JASSHelper.

The vJASS compiler indeed translates all vJASS into JASS and you have to save your project before testing/running it but that is not what I said.

I said that JASSHelper searches all triggers (including GUI ones) for errors that will occur (not might occur).

JASSHelper is included inside the NewGen Pack that also gives you vJASS and many more good stuff.

Do this simple test to get your proof:
1. Make a map and make a stupid statement in a JASS trigger. (like do something and remove the call word.)
2. Save the map. (A new window shows up that tells you that you have a syntax error. That window has JASSHelper as title.)
3. Go to the terrain editor and disable JASSHelper.
4. Save the map again. This time you have no window that tells you that you have a syntax error.

I mean JASSHelper is JASSHelper
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,196
Uhm... It is JASSHelper.

The vJASS compiler indeed translates all vJASS into JASS and you have to save your project before testing/running it but that is not what I said.

I said that JASSHelper searches all triggers (including GUI ones) for errors that will occur (not might occur).

JASSHelper is included inside the NewGen Pack that also gives you vJASS and many more good stuff.

Do this simple test to get your proof:
1. Make a map and make a stupid statement in a JASS trigger. (like do something and remove the call word.)
2. Save the map. (A new window shows up that tells you that you have a syntax error. That window has JASSHelper as title.)
3. Go to the terrain editor and disable JASSHelper.
4. Save the map again. This time you have no window that tells you that you have a syntax error.

I mean JASSHelper is JASSHelper
The normal JASS compiler built into WC3 should also do that. JNGP disables it otherwise it would throw syntax errors every time you save a vJASS trigger. I do agree that it often returned far less helpful information about the error than JASSHelper does but still it worked for a lot of cases.
 
  • Base
    • Events
      • Unit - A unit enters Prevent Stuck 20 <gen>
      • Unit - A unit enters Prevent Stuck 21 <gen>
      • Unit - A unit enters Prevent Stuck 22 <gen>
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Final Boss
      • (Unit-type of (Triggering unit)) Equal to Satanic Kodo
      • (Unit-type of (Triggering unit)) Equal to |c000033ffC|rrazy Kodo
      • (Unit-type of (Triggering unit)) Equal to |c00ff33ffG|renome-Enhanced Kodo
      • (Unit-type of (Triggering unit)) Equal to |c00ff33ffeA|rbysal Kodo
      • (Unit-type of (Triggering unit)) Equal to |c00ff33ffeD|remon Kodo
      • (Unit-type of (Triggering unit)) Equal to |c00ff33ffeX|rtreme Kodo
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Base <gen> contains Unit) Equal to True
        • Then - Actions
          • Unit - Order (Entering unit) to Attack-Move To (Center of Base <gen>)
          • Trigger - Turn off (This trigger)
        • Else - Actions
This trigger doesn't even make any sense. The actions will never run, as the condition is not listed as an Or block.

If you really have this trigger in your map (without an Or block in the conditions), then the only reason why this might crash your map is that any of the three event regions doesn't exist or got destroyed.

Also, does "Unit" have a unit asigned when the trigger runs?
Also, is there a trigger that destroys "Base <gen>"?

I'm just cross the "Intially On" than no fatal error again and this might also make the game causes fatal error ..

  • Game - Display to (Player group((Triggering player))) the text: (|Cfffed312You sent + ((|c0020c000 + (String(BS_Send_Amount[(Player number of (Triggering player))]))) + (|r|cfffed312 lumber to + (Colours[(Player number of (Player((Integer A))))] + ((Name of (Player((Integer A)))) + (ColoursEnd + ( ( + (Colours[(Player
Did you maybe destroy Player group(Triggering Player)? Other than that, I can't find any problems with that statement - but it seems that you didn't copy the whole statement. The end is missing.
 
Level 7
Joined
Feb 28, 2014
Messages
185
This trigger doesn't even make any sense. The actions will never run, as the condition is not listed as an Or block.

If you really have this trigger in your map (without an Or block in the conditions), then the only reason why this might crash your map is that any of the three event regions doesn't exist or got destroyed.

Also, does "Unit" have a unit asigned when the trigger runs?
Also, is there a trigger that destroys "Base <gen>"?


Did you maybe destroy Player group(Triggering Player)? Other than that, I can't find any problems with that statement - but it seems that you didn't copy the whole statement. The end is missing.

  • Base
    • Events
      • Unit - A unit enters Prevent Stuck 20 <gen>
      • Unit - A unit enters Prevent Stuck 21 <gen>
      • Unit - A unit enters Prevent Stuck 22 <gen>
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • (Unit-type of (Triggering unit)) Equal to Final Boss
          • (Unit-type of (Triggering unit)) Equal to Satanic Kodo
          • (Unit-type of (Triggering unit)) Equal to |c000033ffC|rrazy Kodo
          • (Unit-type of (Triggering unit)) Equal to |c00ff33ffG|renome-Enhanced Kodo
          • (Unit-type of (Triggering unit)) Equal to |c00ff33ffeA|rbysal Kodo
          • (Unit-type of (Triggering unit)) Equal to |c00ff33ffeD|remon Kodo
          • (Unit-type of (Triggering unit)) Equal to |c00ff33ffeX|rtreme Kodo
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Base <gen> contains Unit) Equal to True
        • Then - Actions
          • Unit - Order (Entering unit) to Attack-Move To (Center of Base <gen>)
          • Wait 0.50 seconds
          • Custom script: call RemoveRect(gg_rct_Base)
          • Trigger - Turn off (This trigger)
        • Else - Actions

Hmm.. Is that like this ?

  • Game - Display to (Player group((Triggering player))) the text: (|Cfffed312You sent + ((|c0020c000 + (String(BS_Send_Amount[(Player number of (Triggering player))]))) + (|r|cfffed312 lumber to + (Colours[(Player number of (Player((Integer A))))] + ((Name of (Player((Integer A)))) + (ColoursEnd + ( ( + (Colours[(Player Number of (Player((Integer A))))] + Player + ((String((Player Number of (Playe((Integer A))))))] + (( ) + Colours End) + .)
this trigger is quite long , i can't copy completely . (Rewrite to completed it .)

this also cause the fatal error ..
  • Intialization
    • Events
      • Time - Every 3.00 seconds of game time
    • Conditions
    • Actions
      • Set Trigger[1] = Base <gen>
      • Set Trigger[2] = Base 1 <gen>
      • Set Trigger[3] = Base 10 <gen>
      • Set Trigger[4] = Base 12 <gen>
      • Set Trigger[5] = Base 17 <gen>
      • Set Trigger[6] = Base 18 <gen>
      • Set Trigger[7] = Base 2 or 3 <gen>
      • Set Trigger[8] = Base 23 <gen>
      • Set Trigger[9] = Base 24 <gen>
      • Set Trigger[10] = Base 25 <gen>
      • Set Trigger[11] = Base 26 <gen>
      • Set Trigger[12] = Base 28 <gen>
      • Set Trigger[13] = Base 29 <gen>
      • Set Trigger[14] = Base 30 <gen>
      • Set Trigger[15] = Base 31 <gen>
      • Set Trigger[16] = Base 33 <gen>
      • Set Trigger[17] = Base 34 <gen>
      • Set Trigger[18] = Base 36 <gen>
      • Set Trigger[19] = Base 39 <gen>
      • Set Trigger[20] = Base 4 <gen>
      • Set Trigger[21] = Base 40 <gen>
      • Set Trigger[22] = Base 41 <gen>
      • Set Trigger[23] = Base 42 <gen>
      • Set Trigger[24] = Base 43 <gen>
      • Set Trigger[25] = Base 45 <gen>
      • Set Trigger[26] = Base 48 <gen>
      • Set Trigger[27] = Base 6 <gen>
      • Set Trigger[28] = Base 22 <gen>
      • For each (Integer A) from 1 to 28, do (Actions)
        • Loop - Actions
          • Trigger - Turn on Trigger[(Integer A)]
          • Wait 3.00 seconds
          • Trigger - Turn off Trigger[(Integer A)]
          • Wait 0.10 seconds
          • Trigger - Run Trigger[(Integer A)] (checking conditions)
      • Custom script: call DestroyTrigger(udg_Trigger[GetForLoopIndexA()])
I did not adjust the trigger after i fix (Before i import some blp file , the game can play sucessfully without fatal error ) . These blp file is made by me , i scare that the fatal error is coming from these .
 

Attachments

  • Icon.zip
    69.2 KB · Views: 83
Last edited:
Status
Not open for further replies.
Top