[0.9.0.1] Memory leak related to tag-filtering in shops

Server tested on:
EU Frankfurt 3 (but I assume it’s an issue across all servers)

Issue/Bug:
Toggling tags in stores on/off consistently makes memory usage go up in incriments. The more items a shop has available the higher the incriments seem to be. If garbage collection doesn’t kick in before memory usage hits a certain threshold, the game seems to go into a memory leak loop and just swallows all available memory on the system. In my testing it consistently skyrocketted to about 24-26GB memory usage just seconds after hitting a specific memory usage threshold.

Stores tested:
Sweet Suite Furnishings, Robs Imports, The Asteroid Belt, Songbirds, The Toystop (at this point I assume it’s an issue across all stores where tags can be toggled on/off to filter the store content)

Reproduction steps:

  1. Open task manager (or any utility that can monitor individual applications) - keep an eye on Tower Unite’s memory usage.
  2. Find a store on the Plaza or in the Arcade and open the shop UI
  3. Start toggling tags on/off to filter content in the shop - it doesn’t matter which tags you toggle, or if you just toggle a single tag on and off.
  4. Notice how memory usage for the game goes up in incriments every time you click on a tag.
  5. Once Tower Unite reaches ~4.1GB memory used the memory leak loop goes crazy and swallows all available system memory within seconds, and the game freezes with audio seeming to loop in the background. It stays like this until the process is ended manually.
    NOTE: Inside the Arcade shop it seemed like the memory threshold was around 4.6GB in my testing - at 4.6GB the memory leak loop would occur.

Notes:
In my testing it seemed like the game/engine garbage collection kicks in every 60 seconds. If this happens while trying to reproduce the issue (noted by the memory usage going down significantly within seconds), the reproduction steps have to be repeated starting from step 3.

Additional info:
My baseline memory usage just after opening the Sweet Suite Furnishings shop UI shortly after entering the server:

Baseline memory usage after opening the Asteroid Belt shop UI shortly after entering the server:

A GIF showing how the memory usage goes up in little incriments every time I click a tag in the store, and at around 4.66GB the memory leak goes nuts and doesn’t stop until it has reached the system limit.


Do note that I’m not spamming the tags in this GIF - I’m clicking the first tag inside the Arcade shop once every 0.6-0.8 seconds or so. I did spam the tags during some of my testing earlier just to verify that it was an issue across several shops.

As long as you manage to click the tags enough times to hit the aforementioned memory thresholds before garbage collection kicks in, the leak should start swallowing memory on its own.
In a few tests I did, I calculated that it would take about 53 clicks on a tag per minute to hit the threshold inside the Arcade shop. This value changes depending on the shop as the memory usage incriments seem to be determined by the total amount of items available in the shop, so fewer available items = lower memory incriments.

My system specifications in case they are relevant:
Windows 10 Pro N, Version 1909 build 18363.719
Intel Core i7 6700K @ 4.2GHz (stock)
32GB DDR4 @ 2133MHz (stock)
GTX 1080 (stock)

In-game settings in case they are relevant:
Graphics:


Audio:

Game/HUD:




Content:


If you need more info from me just say the word.

5 Likes

Nice find! We will take a look at it asap.

2 Likes

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.