Map Crashing

Xebarsis

New Member
Reaction score
7
I can look at it if you email it to me I suppose... Other than that, I can't really point out the obvious unless I had the list of triggers :p

Please don't take it personally, but I don't want to release an unprotected version of my map to anyone. But thank you for the offer.

In other news, I tried my hardest to get the game to crash by doing ridiculous combination of all 43 custom abilities that I added. I spammed every spell on immortal units for 30 minutes in an attempt to make a crash happen, and it hasn't. I'm running out of options here, there's very little left that I've added into the game that needs testing..but I don't see how they could cause a crash.

If I can't find it after that, I'm just going to go through and clean every single little memory leak I have left in the game, and pray.

:banghead:
 

Xebarsis

New Member
Reaction score
7
It seems that when my map does crash it does take a bit of time for the crash to happen, but there's never any sign of it. There's no mass lag or frame rate issues before the crash; it's just happens all of a sudden.

Could memory leaks cause this to happen?
 

Tamisrah

Active Member
Reaction score
16
If it's really that sudden, it's probably a fatal error.
There are various ways of creating such, both triggered and non triggered.
For example Attack-Ground combined with an orb effect is a save way to crash the game :D

Edit: @Defiance: Could you give me an example for the "same buff, different ability" crash? I can't get it to "work"
 

madd_999

New Member
Reaction score
14
is it a crash as in "FATAL ERROR" which will pop up a screen thingy.. or a crash as in "hey where did my game go" wc3 just closes no error message or annything??
 

Xebarsis

New Member
Reaction score
7
is it a crash as in "FATAL ERROR" which will pop up a screen thingy.. or a crash as in "hey where did my game go" wc3 just closes no error message or annything??

90% of the time the crashes are FATAL ERRORS. One time I did see the game crash with nothing popping up though, and it was early in the game as opposed to the other crashes that happen about 20 minutes in.
 

Xebarsis

New Member
Reaction score
7
crash.jpg


This is the crash message that I get. It says there's not enough storage, so is that guaranteed a memory leak or could it possibly be something else?
 
Reaction score
341
You are probably hitting the OP limit and or creating too many handles at once.

This generally happens with infinite loops.
 

brodygs9630

TH.net Regular
Reaction score
6
Well if your using an imported loading screen OR imported music,that could be causing the crash.I imported a loading screen once,and when I ran the game,it crashed.When I took the laoding screen out,it didnt crash anymore.Hope this helped:thup:
 

Xebarsis

New Member
Reaction score
7
You are probably hitting the OP limit and or creating too many handles at once.

This generally happens with infinite loops.

Could you elaborate on this please? I don't really understand.

Well if your using an imported loading screen OR imported music,that could be causing the crash.I imported a loading screen once,and when I ran the game,it crashed.When I took the laoding screen out,it didnt crash anymore.Hope this helped:thup:

Well I've had the same custom loading screen for every version of my game and I have never changed it, this is the first time I've had this kind of problem.
 

Balderon

New Member
Reaction score
0
Could you elaborate on this please? I don't really understand.


It means if you are looping an action infinite times the computer cant handle it. It's like dividing a number with 0, it goes infinite.

Example in the editor, if a unit deals damage he deals extra damage, that would be an infinite loop (and has happend me ^^)

Usually infinite loops won't cause an error, the game will just shut down without an error. But who knows, maybe it's still the problem :p
 

Laiev

Hey Listen!!
Reaction score
188
Maybe some unit in your map (terrain, already in game) got a ability what don't exist.

Exemple..

Neutral unit with a custom ability, but you delete it, ok, ability don't exist anymore, but the unit already got the ability, like Unknow (A00A) (just a exemple), this crash the warcraft.

Try to see if some unit in your map got it in abilitys.

Sorry for my bad english.
 

Xebarsis

New Member
Reaction score
7
Maybe some unit in your map (terrain, already in game) got a ability what don't exist.

Exemple..

Neutral unit with a custom ability, but you delete it, ok, ability don't exist anymore, but the unit already got the ability, like Unknow (A00A) (just a exemple), this crash the warcraft.

Try to see if some unit in your map got it in abilitys.

Sorry for my bad english.

Well I looked through and couldn't find any units that have abilities that were removed at some point.

However, good news for me is I have found a way to narrow down what is causing the problem. Today I started my map in world editor so I was the only player, and then I let the game sit there with an in game timer to let me know how long the game has been going on before crashing.

After 50 minutes, bam, crash... even though I was doing nothing. Gonna test this a couple times and see if it crashes around at the same time so I can have a control group of numbers, then do the same thing again except disable a bunch of triggers and see if the crash happens later (or not at all). But due to the amount of time it takes to crash the map with no activity, this test will take a while so I will post again once I find out more.
 

Xebarsis

New Member
Reaction score
7
I figured out what's causing the crash! I originally had 7 individual triggers, but with the new version of my map I found a way to combine them all into one trigger. The more players in the map, the sooner the trigger crashes the game.

The way my trigger works is it picks every unit and checks to see if they have a particular buff, if they do the trigger creatures dummy units and does different effects depending on the buff. I used a memory leak checker on it, and it claims there are zero errors. But that doesn't mean it's memory leak free, but I can't find what's wrong with it:

Trigger:
  • Universal Buff Checker
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • Set BuffGroup = (Units in (Entire map) matching (((Matching unit) has buff Sludge Bomb ) Equal to True))
      • Unit Group - Pick every unit in BuffGroup and do (Actions)
        • Loop - Actions
          • Unit - Remove Sludge Bomb buff from (Picked unit)
          • Set TheOtherPoint = (Position of (Picked unit))
          • Unit - Create 1 Dummy Caster for Neutral Extra at TheOtherPoint facing Default building facing degrees
          • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Cripple (Neutral Hostile) to (Last created unit)
          • Unit - Add Stun (Neutral Hostile) to (Last created unit)
          • Unit - Order (Last created unit) to Neutral - Firebolt (Picked unit)
          • Unit - Order (Last created unit) to Undead Necromancer - Cripple (Picked unit)
          • Custom script: call RemoveLocation (udg_TheOtherPoint)
      • Set BuffGroup = (Units in (Entire map) matching (((Matching unit) has buff Polymorph Cannon ) Equal to True))
      • Unit Group - Pick every unit in BuffGroup and do (Actions)
        • Loop - Actions
          • Unit - Remove Polymorph Cannon buff from (Picked unit)
          • Set TheOtherPoint = (Position of (Picked unit))
          • Unit - Create 1 Dummy Caster for Neutral Extra at TheOtherPoint facing Default building facing degrees
          • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Hex (Polymorph Cannon) to (Last created unit)
          • Unit - Set level of Hex (Polymorph Cannon) for (Last created unit) to 3
          • Unit - Order (Last created unit) to Orc Shadow Hunter - Hex (Picked unit)
          • Custom script: call RemoveLocation (udg_TheOtherPoint)
      • Set BuffGroup = (Units in (Entire map) matching (((Matching unit) has buff Ice Comet ) Equal to True))
      • Unit Group - Pick every unit in BuffGroup and do (Actions)
        • Loop - Actions
          • Unit - Remove Ice Comet buff from (Picked unit)
          • Set TheOtherPoint = (Position of (Picked unit))
          • Unit - Create 1 Dummy Caster for Neutral Extra at TheOtherPoint facing Default building facing degrees
          • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Freezing Shard (Ice Comet) to (Last created unit)
          • Unit - Order (Last created unit) to Neutral - Firebolt (Picked unit)
          • Custom script: call RemoveLocation (udg_TheOtherPoint)
      • Set BuffGroup = (Units in (Entire map) matching (((Matching unit) has buff Explosive Shot (Non-stacking)) Equal to True))
      • Unit Group - Pick every unit in BuffGroup and do (Actions)
        • Loop - Actions
          • Unit - Remove Explosive Shot (Non-stacking) buff from (Picked unit)
          • Set ThePoint = (Position of (Picked unit))
          • Special Effect - Create a special effect at ThePoint using Abilities\Spells\Other\Doom\DoomDeath.mdl
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation (udg_ThePoint)
      • Set BuffGroup = (Units in (Entire map) matching (((Matching unit) has buff Wing Shred (Non-stacking)) Equal to True))
      • Unit Group - Pick every unit in BuffGroup and do (Actions)
        • Loop - Actions
          • Unit - Remove Wing Shred (Non-stacking) buff from (Picked unit)
          • Set ThePoint = (Position of (Picked unit))
          • Special Effect - Create a special effect attached to the origin of (Picked unit) using Objects\Spawnmodels\Human\HumanBlood\HeroBloodElfBlood.mdl
          • Special Effect - Destroy (Last created special effect)
          • Sound - Play MetalHeavySliceFlesh1 <gen> at 100.00% volume, located at ThePoint with Z offset 0.00
          • Custom script: call RemoveLocation (udg_ThePoint)
      • Set BuffGroup = (Units in (Entire map) matching (((Matching unit) has buff Stunned (Holy Hammer)) Equal to True))
      • Unit Group - Pick every unit in BuffGroup and do (Actions)
        • Loop - Actions
          • Unit - Remove Stunned (Holy Hammer) buff from (Picked unit)
          • Set TheOtherPoint = (Position of (Picked unit))
          • Unit - Create 1 Dummy Caster for Neutral Extra at TheOtherPoint facing Default building facing degrees
          • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
          • Unit - Add Holy Light (Holy Hammer) to (Last created unit)
          • Unit - Add Stun (Neutral Hostile) to (Last created unit)
          • Unit - Order (Last created unit) to Neutral - Firebolt (Picked unit)
          • Unit - Order (Last created unit) to Human Paladin - Holy Light (Picked unit)
          • Custom script: call RemoveLocation (udg_TheOtherPoint)
      • Set BuffGroup = (Units in (Entire map) matching (((Matching unit) has buff Mangle (Remove)) Equal to True))
      • Unit Group - Pick every unit in BuffGroup and do (Actions)
        • Loop - Actions
          • Unit - Remove Mangle (Remove) buff from (Picked unit)
          • Set RandomInteger = (Random integer number between 1 and 15)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • RandomInteger Equal to 15
            • Then - Actions
              • Set TheOtherPoint = (Position of (Picked unit))
              • Unit - Create 1 Dummy Caster for Neutral Extra at TheOtherPoint facing Default building facing degrees
              • Unit - Add Slow (Mangle) to (Last created unit)
              • Unit - Order (Last created unit) to Human Sorceress - Slow (Picked unit)
              • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
              • Custom script: call RemoveLocation (udg_TheOtherPoint)
            • Else - Actions
      • Custom script: call DestroyGroup (udg_BuffGroup)


Is there any reason why this trigger would cause a game crash over time? What do I need to change?

Note: This trigger crashes the game even if no spells are ever casted.
 

RaiJin

New Member
Reaction score
40
the real question is why wouldn't it?

look how many things your doing in that one trigger

and it DOES NOT help that ur running it 0.02 of a second...

u really need to increase that number... to at least 0.5 with those many actions

ur creating a whole crap load of units every 0.02th of a second... u do realise that's insane right?
 

Xebarsis

New Member
Reaction score
7
the real question is why wouldn't it?

look how many things your doing in that one trigger

and it DOES NOT help that ur running it 0.02 of a second...

u really need to increase that number... to at least 0.5 with those many actions

ur creating a whole crap load of units every 0.02th of a second... u do realise that's insane right?

Yes I am aware of that, but changing it to .5 seconds would only prolong the inevitable... but that would make for a final alternative. Is there anything within the trigger I can adjust to abolish the memory buildup? 'cause I don't think all triggers that check every .02 seconds would cause the game to crash over time.
 

Azlier

Old World Ghost
Reaction score
461
Your leak checker has failed you. You need to destroy the group before you set it again. Though, I'm not absolutely sure that leaks are crashing your map.
 

Xebarsis

New Member
Reaction score
7
Your leak checker has failed you. You need to destroy the group before you set it again. Though, I'm not absolutely sure that leaks are crashing your map.

The bottom of the trigger has that already:

Trigger:
  • Custom script: call DestroyGroup (udg_BuffGroup)
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top