1. Join other hivers in a friendly concept-art contest. The contestants have to create a genie coming out of its container. We wish you the best of luck!
    Dismiss Notice
  2. The Melee Mapping Contest #4: 2v2 - Results are out! Step by to congratulate the winners!
    Dismiss Notice
  3. We're hosting the 15th Mini-Mapping Contest with YouTuber Abelhawk! The contestants are to create a custom map that uses the hidden content within Warcraft 3 or is inspired by any of the many secrets within the game.
    Dismiss Notice
  4. The 20th iteration of the Terraining Contest is upon us! Join and create exquisite Water Structures for it.
    Dismiss Notice
  5. Check out the Staff job openings thread.
    Dismiss Notice

Desync Investigation

Discussion in 'World Editor Help Zone' started by coolyoshi1, Jan 19, 2019.

  1. coolyoshi1

    coolyoshi1

    Joined:
    Dec 6, 2009
    Messages:
    170
    Resources:
    2
    Maps:
    1
    Spells:
    1
    Resources:
    2
    So my map Evolution Tag always had desyncs. The desyncs ALWAYS occured after about 17 minutes. However the thing that confused the hell out of me was that the desyncs occured randomly, and after watching countless replays of my map there was nothing consistent that i could pinpoint the desyncs to. Even more confusing was that desyncs often occured when nothing was happening. Which led me to believe there must've been some triggers being run at the time of desync.

    So I put debuggers in all the custom spells in my map, and as expected there were a couple spells that were looping even when they weren't being cast. I quickly fixed these spells and was 100% confident that this would fix the desyncs. Literally the spells were the only triggers that could've possibly been run during the time of desync, so that must've been the reason right?

    Nope it didn't fix the issue. However something did change. First of all patch 1.30.4 just rolled out so this may be another variable.. but I started to notice that desyncs occuring more frequently during combat. After observing several more replays I found desyncs occuring at these specific times (NOTE that nothing else was happening other than specified. I kept track of all units on the map. In addition i had debugging messages in all my custom spells):
    • Game 1 (18:59): As soon as Volcano Lord auto attacked Garithos the game desynced. No spells were being cast.
    • Game 2 (37:00): Pirate uses Fire! ability on another unit which basically creates a dummy unit that casts frost bolt on another unit (super simple spell). The bolt was mid-flight until the game desynced. Note that Fire! was cast several times before with no desyncs.
    • Game 3 (22:58): As soon as unit casted the slam ability the game desynced. Note that slam was cast several times before with no desyncs.
    • Game 4 (lost the replay): Game desynced as soon as tauren casted earthquake spell. Note that earthquake was cast several times before with no desyncs.

    Based on all this evidence I have a few theories:
    • There's some crazy ninja trigger in my map that I'm unaware of
    • My map makes heavy use of neutral hostile, neutral extra, and neutral victim as creeps, and with 12 other players on the map it's just too much to handle.
    • I fixed the original cause of my desyncs, but patch 1.30.4 introduced more desyncs. Which explains why I'm suddenly able to pinpoint desyncs to combat/spells
    • The game becomes more unstable the more spells/triggers have been cast throughout the game. Which explains why it always happens after 17 minutes. When the game becomes unstable enough, any spell, trigger, or significant action can set off a desync.
    Theories on why other maps don't desync:
    • Desyncs only occur on large maps with lots of units, triggers and spells being cast. Enough time has to pass for the game to become unstable via spells/triggers.


    That's all I got for now. If anyone has any replays of other maps with desyncs please send them over! I may be able to test out some of my theories.
     
    Last edited: Jan 19, 2019
  2. Fang

    Fang

    Joined:
    Oct 3, 2014
    Messages:
    466
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Did you check if there's memory leaks?
     
  3. Wrda

    Wrda

    Joined:
    Nov 18, 2012
    Messages:
    915
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    First of all: Memory leaks don't cause desyncs unless you just have a huge, I repeat, huge amount of them. Lots of units don't cause desync, only lag. Spells don't cause desync useless you're using local player stupidly. Models and and textures when badly made cause desyncs. Evolution tag doesn't have any one these "problems", probably just a bunch of leaks, so either it's a ninja trigger or it's the damn patch that didn't fix all random desyncs. Hard life I know.
     
  4. doom_sheep

    doom_sheep

    Joined:
    Oct 18, 2008
    Messages:
    738
    Resources:
    0
    Resources:
    0
    it's impossible to tell whats blizzard and what isn't now
     
  5. coolyoshi1

    coolyoshi1

    Joined:
    Dec 6, 2009
    Messages:
    170
    Resources:
    2
    Maps:
    1
    Spells:
    1
    Resources:
    2
    I'm still boggled by the fact that a native spell like Slam can randomly trigger a desync. I'm not sure either
     
  6. BloodSoul

    BloodSoul

    Joined:
    May 10, 2009
    Messages:
    722
    Resources:
    2
    Spells:
    2
    Resources:
    2
    Now that you mentioned Slam...

    Are you using any trigger that performs actions based on terrain height?
     
  7. coolyoshi1

    coolyoshi1

    Joined:
    Dec 6, 2009
    Messages:
    170
    Resources:
    2
    Maps:
    1
    Spells:
    1
    Resources:
    2
    Hmm I don't believe so
     
  8. doom_sheep

    doom_sheep

    Joined:
    Oct 18, 2008
    Messages:
    738
    Resources:
    0
    Resources:
    0
    terrain type checks can also desync when blight is involved
     
  9. PurgeandFire

    PurgeandFire

    Code Moderator

    Joined:
    Nov 11, 2006
    Messages:
    7,420
    Resources:
    18
    Icons:
    1
    Spells:
    4
    Tutorials:
    9
    JASS:
    4
    Resources:
    18
    might not totally be in your control, especially if it is that random. i wish blizzard made a log whenever a desync occurs. would really help map authors diagnose what's going wrong in their map.
     
  10. Wrda

    Wrda

    Joined:
    Nov 18, 2012
    Messages:
    915
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    Well most likely in these last patches maps probably don't have anything wrong, just too unstable.