Jump to content

Reproducible Out Of Memory issue


Yothiel
  • Branch: Live Branch Version: Windows Pending

At some point, performance starts to degrade heavily (micro-freezes, increases in CPU & memory loads). Saves done during the bug also have bloated sizes. Eventually, the game process will likely crash by lack of memory.

Exiting the game & reloading produces the same results. I've tried validating the files via Steam, but no file issue was detected nor did it impact the bug.

No workaround found.

 

Player logs (also attached to this bug under the logs section) are flooded with messages such as "[20:31:08.779] [1] [WARNING] Too many water particles to render. Wanted 163395 but truncating to limit"

I've attached 3 saves that were done during the generation of these logs:

  • "prebug" is a couple seconds before the first "Too many water particles" message
  • "postbug" is a couple of second after these first messages, when micro-freezes also started to occur
  • "postbug-2" is taken a dozen seconds after. Note the bloating savefile size (almost x5, and it can keep increasing way more in my tests)

Breathless Pit-prebug.sav Breathless Pit-postbug.sav Breathless Pit-postbug2.sav

Player.log


Steps to Reproduce
  • Load attached save  "Breathless Pit-prebug.sav"
  • let the game run unpaused for 10-30 seconds. No interaction required
  • Warnings should start to appear in increasing amount in logs, and performance should start to degrade
  • Thanks 1



User Feedback


Found your problem!!! On the second plant you have oil that is around 1246129Kg!!!! I removed the oil in sandbox and the lag went away right away. But holy molly is that a lot of oil! Tried removing a bit of it and it just kept coming!

 

Annotation 2020-12-11 150333.png

Annotation 2020-12-11 150442.png

 

Here I added a video and no I did not pause it half way the game froze and after removing oil runs very well

At about 36 sec you can see a whole bunch of drops being formed after the lag spike, they fall down when I remove the oil.

 

Edited by Rhagedx86
Added a video
  • Thanks 1

Share this comment


Link to comment
Share on other sites

Update: I let it run for 30 min and nothing else has happened, games running normal. Why in the world did it generate soooo much oil??? Didn't help it made a natural sour gas boiler which was the real problem. If it was just static sitting there it would have been fine, but all that sloshing around was making a mess out things.

Share this comment


Link to comment
Share on other sites

Great find! I've totally overlooked the other asteroids and was only searching for oddities in the first one!

I don't think it's a generation issue, but rather a liquid replication bug caused by a very specific configuration. The kind of stuff @mathmanican just loves to understand and implement in some ingenious contraptions. However I have been out of touch with the game for too long and have no idea if this instance is old news or not. 

 

Looking back at previous autosaves (16 being the oldest I still have), it seems the interesting stuff has been occuring since cycle 18.

Before this, some weird stuff did occur (namely, most of the crude in the pocket getting concentrated in a single tile, but the total mass was pretty much the same as at game creation).

Then at cycle 17, this natural cooker got hot enough for making some sour gas and moving things again. Watching from this cycle, I can observe very different results, such as:

  • the pocket stabilizing back normally
  • the pocket being somehow supercooled (a different bug, or just a different symptom of the same cause?), see attached screenshot
  • a more persistent ballet between petroleum, crude oil and vacuum, possibly leading to duplication at some point

Different simulation speeds, excessive pausing/resume and/or leaving the area unexplored may or may not play a role in which result you can get. It's actually quite random at this point.

In my game, I seem to have stayed in the third case for a long time. I've noted the total mass of the pocket over the various autosaves:

  • cycle 18: 28.7 t
  • cycle 19: 32.6 t, duplication at some time started
  • cycle 20: 52.7 t
  • cycle 21: 134.4 t
  • cycle 22: 346.4 t
  • cycle 23: 566.1 t
  • cycle 24: 944.7 t
  • cycle 25: 3349.4 t

I've attached a couple saves in case people want to have a look / play with this. This occurs on asteroid Jeanina, near the bottom right corner of the map.

 

Most of the time in those saves, when observing directly the area, it can evolve both into mass duplication, or supercooling which brings some calm (at least until the area heats up again). Running at x1 sim speed seems to keep the duplication from going haywire, but at cycle 25 it won't be enough to stop it altogether. Note that I've only used vanilla speeds during my playthrough, and mostly speed 2. 

It seems a specific tile has a role of catalyst in the duplication bug, as I've seen duplication starting after it breaks (either naturally from liquid pressure or being debug-deleted / dug out). I've tried repainting this tile with neutronium at a later time (cycle 24-25ish), but it's not enough to stop the duplication. You can see it in the attached screenshot, it's the tile already damaged, just bottom right of a sour gas tile.

 

I think the staircase-shaped pocket with a couple tiles of vertical clearance may play a role for causing the very specific striped pattern we can see in your screenshot, as well as the massive duplication. Most of the mass is in a column of crude oil stuck into two columns of petroleum.

 

Curiously, I've tried observing the area starting from a fresh game with that seed, and it seems the magma pocket is solidifying after turning a couple tons of crude to petroleum =(

so_cool.jpg

Breathless Pit Cycle 18.sav Breathless Pit Cycle 19.sav Breathless Pit Cycle 22.sav Breathless Pit Cycle 25.sav

Edited by Yothiel

Share this comment


Link to comment
Share on other sites

Ahhh I didn't think about a dup glitch, either way it was quite fascinating to see that much oil, rip your colony. Wonder if this one those edges cases where tracking down the real problem is gonna be a nightmare, kind of feel bad bad for the devs. Least we have save files of before / after so should be some good info for them to dig trough to help find that block of code that's misbehaving. As for being a new bug, I really don't know either. Maybe its an old one that got fixed and resurfaced? And yes totally agree about @mathmanican  always good to have people that strive to so how badly they can break the game heh.

Share this comment


Link to comment
Share on other sites

This reminds me of a glitch that I've seen people post about infinite storage areas on reddit. Once you pass a certain mass then things start duplicating. The times I've explored it I noticed two masses occupying the same tile. I'll play with this when I have some time. This instance occurred with relatively low masses to start with. Defintely worth tracking down.

Share this comment


Link to comment
Share on other sites

Meat the same bug here. But seems this issue still in pending status. Developer should take care about this issue.

Share this comment


Link to comment
Share on other sites

I have this in original ONI. How do you find the location where the glitch is? The game is unplayable in the current state.

 

[01:03:52.938] [1] [WARNING] Too many water particles to render. Wanted 19169 but truncating to limit
OutOfMemoryException: Out of memory
  at (wrapper managed-to-native) System.Object.__icall_wrapper_ves_icall_array_new_specific(intptr,int)
  at System.Collections.Generic.List`1[T].set_Capacity (System.Int32 value) [0x00021] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Collections.Generic.List`1[T].EnsureCapacity (System.Int32 min) [0x00036] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Collections.Generic.List`1[T].Add (T item) [0x00010] in <9577ac7a62ef43179789031239ba8798>:0 
  at FallingWater.AddParticle (UnityEngine.Vector2 root_pos, System.Byte elementIdx, System.Single base_mass, System.Single temperature, System.Byte disease_idx, System.Int32 base_disease_count, System.Boolean skip_sound, System.Boolean skip_decor, System.Boolean debug_track, System.Boolean disable_randomness) [0x002d4] in <a3eeae10f2404a1aa48270ce575d8be6>:0 
  at FallingWater.AddParticle (System.Int32 cell, System.Byte elementIdx, System.Single base_mass, System.Single temperature, System.Byte disease_idx, System.Int32 base_disease_count, System.Boolean skip_sound, System.Boolean skip_decor, System.Boolean debug_track, System.Boolean disable_randomness) [0x0000c] in <a3eeae10f2404a1aa48270ce575d8be6>:0 
  at Game.StepTheSim (System.Single dt) [0x002d6] in <a3eeae10f2404a1aa48270ce575d8be6>:0 
  at Game.UnsafeSim200ms (System.Single dt) [0x00012] in <a3eeae10f2404a1aa48270ce575d8be6>:0 
  at Game.SimEveryTick (System.Single dt) [0x00054] in <a3eeae10f2404a1aa48270ce575d8be6>:0 
  at Game.Update () [0x00120] in <a3eeae10f2404a1aa48270ce575d8be6>:0 
 
(Filename: <9577ac7a62ef43179789031239ba8798> Line: 0)

[01:05:20.901] [1] [WARNING] Too many water particles to render. Wanted 100663287 but truncating to limit
 

 

Seems in my case it is caused by infinite storage.

 

My door crusher infinite liquid storage occasionally goes all open with a timer glitch. This cause millions of kg of liquid to be created. Because there was 60,000 kg per tile in 6 tiles and then when all open, adding 8 tiles, the top two tiles have over 100 million kg per tile. Where's this extra water coming from?

Edited by Joe Mucchiello

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...