Aggressive Caching Programming Bug

Tonight I played my first game on Patch 1.34. My game was a custom game and there was an imported file that became messed up because of the aggressive caching system added in Patch 1.33 (August 17, 2022 recent patch).

This aggressive caching system has been reported countless times in different ways and in different flavors all over the forums. But the problem is that, in the game programming, this new patch has a line of code that essentially says:

When loading a file from a path “X/Y.zzz”, if we have ever loaded a file from this same path before, then return the binary contents from the previous load request instead of looking up the file again.

However, there are tons of features and systems in the Warcraft III game that use file overrides and loading different sub paths and different things. So, for example in my play session tonight, there was a file path that loaded when I played in SD graphics, then I realized that I had intended to play on the HD graphics and I played the game again. But the aggressive caching mechanism cached a file that was loaded while the game was in the SD mode, which corrupted the visual display in the HD mode. As far as I know, the issue is not specific to custom games.

Please turn off the aggressive caching in the game to make it less broken, like how it was for two years until you recently broke it with this new aggressive caching feature, which is itself basically entirely a bug. Thanks.

8 Likes

So you tell me they just have to remove this one line of code and that would fix the entire broken caching system that not only haunts custom games but also the campaign and thus core parts of the game?

And that even tho they started to release a PTR for 1.34 it is still not fixed despite being a single line of code?

It’s not a complex problem to solve, no.

2 Likes

Hello.

Can you please give us more information on this?

  1. Steps taken to reproduce the bug.
  2. An example map.
  3. Whether it happens to all units or just some units.

Thank you!

2 Likes
  • https://youtu.be/2AIP95AzPF8
  • Open the game client
    Select Classic Video settings all in low
    Play Map A
    Quit the map
    Select Reforged Video setting, low settings for all available settings except particles, those on High.
    Play Map A
  1. https://www.hiveworkshop.com/pastebin/ccd9cd148bbec8a9c3bfea662aef81ce.26156

  2. This appears to affect both custom games and vanilla. There’s no way to define the exact affect, however there are dozens of posts about this issue on this forum since August. It is also related to HD particles causing crashes.

1 Like

The bug has been tested already by more than 1 member and indeed it occurs, so yes, it is a bug.

Hello,

Yes! I am happy to provide more information.
Part 1: Steps to Reproduce the Bug
Here is a video tutorial for how to reproduce the bug:

This video has a series of steps to reproduce the bug in two ways:

a. For the first part of the video, I show how the aggressive caching mechanism can play the wrong Warcraft III map when a player tries to play the game
a. For the second part of the video, I show how the same aggressive caching mechanism can corrupt and distort data and assets inside individual Warcraft III play sessions (similar to the bug that caused me to write this post).

Part 2: An Example Map
The first half of the video uses an ingame Blizzard Entertainment map to illustrate the problem.
Here is a link to the example map used in the second half of the video:
https://www.hiveworkshop.com/pastebin/073f5b456a1406f710aaf3cbcb0016b6.26157

Part 3: Whether it happens to all units or just some units
Over the course of my video, I indicate that this bug happens to everything. All units use a model file, and all files in the game system are improperly cached. So, during a play session it will be hit or miss whether units (and their corresponding files) are affected by the issue. Whether a given unit is affected depends on what play sessions were previous executed with that same computer process without closing it, and whether other units in the previous play session cached data and information (“files”) that the current play session attempts to query.

Thank you for taking time to review this issue.

3 Likes
  1. Please record slowly certain points eg. saving map + initiate 2 game, like you recorded first part very nicely. But let say I belive - trust you.
    Than :
  2. Between the first game, and second game (when you modified and loaded map again) the solution is to restart Warcraft 3. Problem solved!

Custom games that depend on these mechanics to track data across multiple plays are really hampered by this (I assume we’re talking about the same caching issue here).

Line Tower Wars for example, tracks player stats and has its own competitive system with ratings. This information is stored, but if you play the map multiple times in a game session, it will use cached data instead of the most current data from the file, which will mess up this data.