• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

[Crash] too much resources?

Status
Not open for further replies.
Level 13
Joined
May 11, 2008
Messages
1,198
like the title. in my map you can get resources fairly quickly...get over 100000 resources...but the game always crashes when i do...

so...i should add trigger to stop this from happening? what would you recommend? lol...

or maybe there's another reason? i know typing greedisgood to cheat to get 1000000 resources and mine some more won't crash the game, but mining a lot kinda seems too...maybe i need to chop off some zeroes on the costs of things and the mining numbers but that might not be the answer. ugh.

well, here's the official error message:

==============================================================================
Warcraft III (build 6401)

Exe: c:\g\war3\war3.exe
Time: Jun 13, 2011 9:05:08.250 PM
User: SanKakU
Computer: ACER-ARAY
------------------------------------------------------------------------------

This application has encountered a critical error:

FATAL ERROR!

Program: c:\g\war3\war3.exe
Exception: 0xC0000005 (ACCESS_VIOLATION) at 001B:6F75247B

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


War3Build: 1.26.0.6401
Played Maps\Scenario\Demon Hunt_0.96s.w3x
Player 0 Bobthescott Race NightElf StartLoc 0
Player 1 Player 2 Race NightElf StartLoc 1
Player 2 Dark_Vu44 Race Undead StartLoc 2
Player 3 HolyHelicopter Race Undead StartLoc 3
Player 4 sankaku Race Undead StartLoc 4
Player 5 Pedes Race Undead StartLoc 5
Player 6 game_addit Race Undead StartLoc 6
Player 7 Player 8 Race Undead StartLoc 7
Player 8 Player 9 Race Undead StartLoc 8
Player 9 Player 10 Race Undead StartLoc 9
Player 10 LuckyXIII Race NightElf StartLoc 10
Player 11 Player 12 Race Undead StartLoc 11
------------------------------------------------------------------------------

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

EAX=1859FFF4 EBX=08F200F8 ECX=08F200F8 EDX=000000A0 ESI=1859FFF4
EDI=1859FFF4 EBP=00000030 ESP=0012F8CC EIP=6F75247B FLG=00010202
CS =001B DS =0023 ES =0023 SS =0023 FS =003B GS =0000


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

Address Frame Logical addr Module

6F75247B 00000030 0001:0075147B c:\g\war3\Game.dll

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

6F75247B Game.dll <unknown symbol>+0 (0x00000000,0x00000000,0x00000000,0x00000000)


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

0x00350000 - 0x00359000 Normaliz.dll
0x00400000 - 0x0047D000 war3.exe
0x00480000 - 0x005B3000 urlmon.dll
0x09920000 - 0x09BE5000 xpsp2res.dll
0x15000000 - 0x15061000 Storm.dll
0x21100000 - 0x2115F000 mss32.dll
0x22600000 - 0x22616000 Mssfast.m3d
0x22700000 - 0x22717000 Mssdolby.m3d
0x22C00000 - 0x22C18000 Msseax2.m3d
0x24600000 - 0x24611000 Reverb3.flt
0x26F00000 - 0x26F2A000 Mp3dec.asi
0x3D930000 - 0x3DA16000 WININET.dll
0x3DFD0000 - 0x3E1B9000 iertutil.dll
0x4D4F0000 - 0x4D549000 WINHTTP.dll
0x59A60000 - 0x59B01000 dbghelp.dll
0x5B860000 - 0x5B8B5000 netapi32.dll
0x5D090000 - 0x5D12A000 COMCTL32.dll
0x5ED00000 - 0x5EDCC000 OPENGL32.dll
0x60000000 - 0x6005D000 ijl15.dll
0x629C0000 - 0x629C9000 LPK.DLL
0x662B0000 - 0x66308000 hnetcfg.dll
0x68000000 - 0x68036000 rsaenh.dll
0x68B20000 - 0x68B40000 GLU32.dll
0x6D990000 - 0x6D996000 d3d8thk.dll
0x6D9A0000 - 0x6DAC8000 d3d8.dll
0x6F000000 - 0x6FBB5000 Game.dll
0x71A50000 - 0x71A8F000 mswsock.dll
0x71A90000 - 0x71A98000 wshtcpip.dll
0x71AA0000 - 0x71AA8000 WS2HELP.dll
0x71AB0000 - 0x71AC7000 WS2_32.dll
0x71AD0000 - 0x71AD9000 WSOCK32.dll
0x71BF0000 - 0x71C03000 SAMLIB.dll
0x722B0000 - 0x722B5000 SensApi.dll
0x72D10000 - 0x72D18000 msacm32.drv
0x72D20000 - 0x72D29000 wdmaud.drv
0x73760000 - 0x737AB000 DDRAW.dll
0x73BC0000 - 0x73BC6000 DCIMAN32.dll
0x73EE0000 - 0x73EE4000 KsUser.dll
0x73F10000 - 0x73F6C000 DSOUND.DLL
0x74720000 - 0x7476C000 MSCTF.dll
0x74D90000 - 0x74DFB000 USP10.dll
0x755C0000 - 0x755EE000 msctfime.ime
0x75E60000 - 0x75E73000 cryptnet.dll
0x76390000 - 0x763AD000 IMM32.dll
0x763B0000 - 0x763F9000 comdlg32.dll
0x769C0000 - 0x76A74000 userenv.dll
0x76B40000 - 0x76B6D000 WINMM.dll
0x76BF0000 - 0x76BFB000 PSAPI.DLL
0x76C30000 - 0x76C5E000 WINTRUST.dll
0x76C90000 - 0x76CB8000 IMAGEHLP.dll
0x76D60000 - 0x76D79000 iphlpapi.dll
0x76F20000 - 0x76F47000 DNSAPI.dll
0x76F60000 - 0x76F8C000 WLDAP32.dll
0x76FB0000 - 0x76FB8000 winrnr.dll
0x76FC0000 - 0x76FC6000 rasadhlp.dll
0x76FD0000 - 0x7704F000 CLBCATQ.DLL
0x77050000 - 0x77115000 COMRes.dll
0x77120000 - 0x771AB000 OLEAUT32.dll
0x773D0000 - 0x774D3000 comctl32.dll
0x774E0000 - 0x7761E000 ole32.dll
0x77690000 - 0x776B1000 NTMARTA.DLL
0x77A80000 - 0x77B15000 CRYPT32.dll
0x77B20000 - 0x77B32000 MSASN1.dll
0x77BD0000 - 0x77BD7000 midimap.dll
0x77BE0000 - 0x77BF5000 MSACM32.dll
0x77C00000 - 0x77C08000 VERSION.dll
0x77C10000 - 0x77C68000 msvcrt.dll
0x77DD0000 - 0x77E6B000 ADVAPI32.dll
0x77E70000 - 0x77F03000 RPCRT4.dll
0x77F10000 - 0x77F59000 GDI32.dll
0x77F60000 - 0x77FD6000 SHLWAPI.dll
0x77FE0000 - 0x77FF1000 Secur32.dll
0x78130000 - 0x781CB000 MSVCR80.dll
0x7C800000 - 0x7C8F6000 kernel32.dll
0x7C900000 - 0x7C9B2000 ntdll.dll
0x7C9C0000 - 0x7D1D7000 SHELL32.dll
0x7E410000 - 0x7E4A1000 USER32.dll


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

Code: 16 bytes starting at (EIP = 6F75247B)

6F75247B: 8B 46 04 57 8D 7A 01 25 FF FF 03 00 33 D2 F7 F7 .F.W.z.%....3...


Stack: 1024 bytes starting at (ESP = 0012F8CC)

* = addr ** *
0012F8C0: 00 00 00 00 00 00 00 00 00 00 00 00 F8 00 F2 08 ................
0012F8D0: 77 27 75 6F F4 FF 59 18 07 00 00 00 04 00 00 00 w'uo..Y.........
0012F8E0: B0 85 B7 2A F8 00 F2 08 CC 78 75 6F F4 FF 59 18 ...*.....xuo..Y.
0012F8F0: 08 F9 12 00 2C 01 00 00 F8 00 F2 08 B0 85 B7 2A ....,..........*
0012F900: 19 00 00 00 00 00 00 AA 00 00 00 00 30 00 00 00 ............0...
0012F910: 00 00 00 00 02 00 00 00 20 01 00 00 19 00 00 00 ........ .......
0012F920: D6 A9 75 6F B8 AB 75 6F 01 00 00 00 AC 84 B7 2A ..uo..uo.......*
0012F930: B0 85 B7 2A A0 84 B7 2A F8 00 F2 08 0F 00 00 00 ...*...*........
0012F940: 9D 00 00 00 A0 00 00 00 0E 00 00 00 19 00 00 00 ................
0012F950: 05 00 00 00 05 00 00 00 00 00 63 42 00 C0 67 43 ..........cB..gC
0012F960: 18 08 5B 18 A1 00 00 00 0E 74 DA BE 1F 85 CB 3F ..[......t.....?
0012F970: 00 00 00 00 01 00 00 00 0E 74 DA 3E 3E 0A 17 BF .........t.>>...
0012F980: 0E 00 00 00 00 00 1A 46 00 00 0C C6 EF EE EE BD .......F........
0012F990: EF EE 8E 3F 00 00 00 00 00 00 9C 40 16 AC 75 6F [email protected]
0012F9A0: A2 00 00 00 04 FA 12 00 00 00 00 00 F8 00 F2 08 ................
0012F9B0: 40 FA 12 00 78 00 00 00 C8 0A 77 6F 30 09 F2 08 @...x.....wo0...
0012F9C0: E0 FA 12 00 2C 6B 01 6F 04 FA 12 00 E0 FA 12 00 ....,k.o........
0012F9D0: CD CC CC 3C 80 00 59 16 88 00 B5 1A C2 C5 39 6F ...<..Y.......9o
0012F9E0: CD CC CC 3C 38 01 08 BA 88 00 B5 1A 9C E6 AC 6F ...<8..........o
0012F9F0: 00 00 00 00 A4 E6 AC 6F C4 FC 11 44 80 00 59 16 .......o...D..Y.
0012FA00: 00 00 80 3F E0 DB CA 45 65 37 B5 C5 8F 95 AA 44 ...?...Ee7.....D
0012FA10: 00 00 80 3F 86 A4 1B B3 00 00 00 00 9B 08 01 33 ...?...........3
0012FA20: CE 3B 54 3F 45 27 0F 3F 8E 11 AE 32 45 27 0F 3F .;T?E'.?...2E'.?
0012FA30: CE 3B 54 BF E0 DB CA C5 91 C6 7C 45 AB B0 88 45 .;T.......|E...E
0012FA40: B8 24 C9 45 D1 44 B4 C5 1D 10 9E 44 B8 24 C9 45 .$.E.D.....D.$.E
0012FA50: 3F AB B2 C5 27 61 A2 44 00 93 CC 45 3F AB B2 C5 ?...'a.D...E?...
0012FA60: 27 61 A2 44 00 93 CC 45 D1 44 B4 C5 1D 10 9E 44 'a.D...E.D.....D
0012FA70: 73 EC A6 45 F3 5D A1 C5 00 70 37 C4 8C 04 94 45 s..E.]...p7....E
0012FA80: 31 8D 47 C5 FE 6F 37 C4 88 D9 00 46 31 8D 47 C5 1.G..o7....F1.G.
0012FA90: FE 6F 37 C4 39 CB EE 45 F3 5D A1 C5 00 70 37 C4 .o7.9..E.]...p7.
0012FAA0: D4 2E E9 3F 00 00 00 00 00 00 00 00 00 00 00 00 ...?............
0012FAB0: 00 00 00 00 11 46 4F 40 00 00 00 00 00 00 00 00 .....FO@........
0012FAC0: 00 00 00 00 00 00 00 00 78 39 85 3F 00 00 80 3F ........x9.?...?
0012FAD0: 00 00 00 00 00 00 00 00 E6 14 4C C3 00 00 00 00 ..........L.....
0012FAE0: E0 DB CA 45 0C 62 98 C5 53 42 4F C0 E0 DB CA 45 ...E.b..SBO....E
0012FAF0: 65 37 B5 C5 8F 95 AA 44 88 F9 03 46 C0 FC 12 00 e7.....D...F....
0012FB00: CB 36 82 6F 00 00 00 00 4B D8 5F 6F 6F 12 03 3D .6.o....K._oo..=
0012FB10: 01 4A 5C BA B4 E6 AC 6F 9C E6 AC 6F 00 00 00 00 .J\....o...o....
0012FB20: 34 25 63 14 88 00 B4 1A 00 00 80 3F 00 00 00 00 4%c........?....
0012FB30: 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................
0012FB40: 00 00 00 00 00 00 00 00 00 00 00 00 9A 99 19 3F ...............?
0012FB50: CD CC 4C 3F 00 00 00 00 00 00 00 00 9A 99 19 3F ..L?...........?
0012FB60: CD CC 4C 3F 00 00 00 00 B8 1E 05 3E CD CC 4C 3F ..L?.......>..L?
0012FB70: E2 7A 14 3F 00 00 00 00 B8 1E 05 3E CD CC 4C 3F .z.?.......>..L?
0012FB80: E2 7A 14 3F 8B D8 5F 6F 00 00 00 00 00 00 00 00 .z.?.._o........
0012FB90: 00 00 00 00 B0 01 22 12 98 00 3D 14 00 00 80 3F ......"...=....?
0012FBA0: 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 ................
0012FBB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0012FBC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0012FBD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0012FBE0: CD CC 4C 3F 9A 99 19 3F 00 00 00 00 00 00 00 00 ..L?...?........
0012FBF0: CD CC 4C 3F 9A 99 19 3F 38 E6 5F 6F 00 00 00 00 ..L?...?8._o....
0012FC00: 80 00 3D 14 00 00 00 00 9B E5 7A 6F 98 00 3D 14 ..=.......zo..=.
0012FC10: 6F 12 03 3D C8 04 08 BA 00 00 00 00 28 01 24 12 o..=........(.$.
0012FC20: 00 00 80 3F 4C 4F FC 0A 00 00 00 00 00 00 80 3F ...?LO.........?
0012FC30: 00 00 00 00 00 00 80 3F 00 00 00 00 00 00 80 3F .......?.......?
0012FC40: 00 00 00 00 00 00 00 00 00 00 80 3F 00 00 80 3F ...........?...?
0012FC50: 00 00 20 40 00 00 00 00 00 00 00 00 00 00 00 00 .. @............
0012FC60: 00 00 00 00 55 55 55 40 00 00 00 00 00 00 00 00 ....UUU@........
0012FC70: 00 00 00 00 00 00 00 00 6F 12 83 3B 00 00 00 00 ........o..;....
0012FC80: 00 00 80 BF 00 00 80 BF 00 00 80 BF 00 00 80 3F ...............?
0012FC90: 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 ...?............
0012FCA0: 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 ...?............
0012FCB0: 00 00 80 3F 00 00 00 00 00 00 00 00 00 00 00 00 ...?............
0012FCC0: FC FC 12 00 0B CD 84 6F FF FF FF FF 3D 25 63 6F .......o....=%co


------------------------------------------------------------------------------


whatever that means

do you think it could be related to using the powersentinel system by vexorian which supposedly didn't fix the leaks well enough? i've no idea. i hate how crashes don't have replays for you...
this game there was one leaver, a hunter about mid way through....then shortly before my game crashed a guy dropped. i am supposing it's entirely possible the bot crashed the game but i don't think that's the case...i might have to look at my code again and check into it some more.
 
Last edited:
Level 5
Joined
Sep 1, 2010
Messages
168
From what I've read, I'd say you simply have an access violation - simply put, either a pointer tries reading from somewhere out of the program or more likely, you're trying to write a value somewhere out of its boundaries.
Since you've mentioned that the greedisgood cheat allows you to get voer 100,000 ressources, I don't believe that the problem is in a too large number that cannot be stored anymore.

Me thinks it's more likely something else went wrong.
@Vexorian's System: not fixed leaks usually only cause lags, not crashes.. though I admit I have seen some rare cases where those leaks caused buggy behaviour. Would be at least worth a try fixing those first and see what happens :thumbs_up:
 
Level 13
Joined
May 11, 2008
Messages
1,198
i think the problem might be either player or item leaks.
all my local variables are now real, integer, trigger or unit or item or player.

about my local variables,
all my unit variables are nulled, and all item variables nulled or returned, and i deleted some of my player variables; i had some that weren't nulled and i think that might've caused crash. because trigger would run whenever building constructed and it would make a local player.

i don't think items ever caused crashes but i tried to add in a few nulling of items that i seem to have missed. i guess there's more buildings being built than than items picked up so that must've caused the crash, but items could contribute, too.

so all my local items are either now nulled or returned, so that should be fine, and i removed local player variables and the few that remain are nulled so i guess maybe i've fixed up the problem, now...

the thing is i guess i didn't have competent enough players in previous games to test out the memory limits of the leaking that's been going on. this last game i played our enemy hunter trashed a lot of my buildings, and i kept building more...and eventually some of my allies started making a lot of buildings...

so i'm thinking since in previous games when i made some buildings they usually got the job done and killed off the hunter no problem...and anyway i think the building leaks might've been kind of new because i made some regarding the construction of pig farms...but they'll get triggered of all buildings...maybe there's a better way to write the triggers..hmm...

well here are the triggers that i suspect were mostly responsible for the crashing...since the best thing i can remember was the game crashed when i was trying to build watchtowers with a red orc peon.
JASS:
scope pgfrm initializer I
globals
integer piggy=0
endglobals
private function A takes nothing returns boolean
local integer ip = 0
if GetOwningPlayer(GetKillingUnit()) !=null then
set ip=GetPlayerId(GetOwningPlayer(GetKillingUnit()))
else
set piggy=piggy -1
return false
endif
set earngold5[ip]=earngold5[ip]+1
if earngold5[ip]==5 then
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(15), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(15)) + 1)
call SetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(1), GetPlayerState(GetOwningPlayer(GetKillingUnit()), ConvertPlayerState(1)) + 1)
set earngold5[ip]=0
endif
set piggy=piggy -1
return false
endfunction
private function f takes nothing returns boolean
local player x=GetOwningPlayer(GetTriggerUnit())
if GetUnitTypeId(GetTriggerUnit()) == 'npgf' then
call SetPlayerState(x, ConvertPlayerState(15), GetPlayerState(x, ConvertPlayerState(15)) + piggy)
call SetPlayerState(x, ConvertPlayerState(1),  GetPlayerState(x, ConvertPlayerState(1))  + piggy)
call SetPlayerState(x, ConvertPlayerState(16), GetPlayerState(x, ConvertPlayerState(16)) + piggy)
call SetPlayerState(x, ConvertPlayerState(2),  GetPlayerState(x, ConvertPlayerState(2))  + piggy)
endif
set x=null
return false
endfunction
private function g takes nothing returns boolean
if GetUnitTypeId(GetTriggerUnit()) == 'npgf' then
set piggy=piggy+1
endif
return false
endfunction
private function I takes nothing returns nothing
local trigger t = CreateTrigger(  )
//! runtextmacro RUNNER_PUE("t","EVENT_PLAYER_UNIT_CONSTRUCT_FINISH")
call TriggerAddCondition( t, Condition( function f ) )
set t=CreateTrigger()
//! runtextmacro RUNNER_PUE("t","EVENT_PLAYER_UNIT_CONSTRUCT_START")
call TriggerAddCondition( t, Condition( function g ) )
call GT_AddUnitDiesAction(function A, 'npgf')
endfunction
endscope

oh and now that i think about it...i think the way i wrote the item triggers before the leaks were not seen much, if at all, or just the new way i wrote them brought the leaks, at any rate, it's possible that i made it so the leaks would pop up with the item functions more frequently by just editing the items in the object editor. at any rate, i think i won't need to worry about it now.

so ya i mean i think when i rebalanced the map it made the hunter able to survive longer and prolong the game, which made the memory leak exposed, heh heh. :)
 
Status
Not open for further replies.
Top