[1.12.2] The world leaked
kellixon opened this issue ยท 16 comments
- EnderIO 5.0.36
- EnderCore 0.5.41
- Minecraft 1.12.2
- Forge 14.23.5.2772
- OptiFine HD U E2
- SinglePlayer
With the mod EnderIO big spam in the logs (full below). Its normal or...? Without EnderIO no leaked.
......
[15:58:20] [Server thread/DEBUG] [FML]: Gathering id map for writing to world save world
[15:58:20] [Server thread/DEBUG] [enderio]: Saving ServerChannelRegister with gen=0
[15:58:20] [Server thread/DEBUG] [enderio]: Saving ServerChannelRegister with gen=0
[15:58:35] [Server thread/DEBUG] [FML]: The world 6101c0d3 (world) may have leaked: seen 240 times.
[15:58:35] [Server thread/DEBUG] [FML]: The world 18738056 (world) may have leaked: seen 240 times.
[15:59:05] [Server thread/DEBUG] [FML]: Gathering id map for writing to world save world
[15:59:05] [Server thread/DEBUG] [enderio]: Saving ServerChannelRegister with gen=0
[15:59:05] [Server thread/DEBUG] [enderio]: Saving ServerChannelRegister with gen=0
[15:59:25] [Server thread/DEBUG] [FML]: The world 6101c0d3 (world) may have leaked: seen 245 times.
[15:59:25] [Server thread/DEBUG] [FML]: The world 18738056 (world) may have leaked: seen 245 times.
......
Full log - https://gist.github.com/kellixon/cdc62b620775f80fb432ec98d0cf3246
Nothing in either of the logs you have provided seems to indicate something is wrong, especially nothing with Ender IO.
Why, then, when you remove mods from EnderIO, such reports about the leaks disappear. Maybe I found a critical bug in EnderIO and become a hero.
The log file u have attached has no leaks mentioned in it. You also have optifine, which could be causing issues. Right now this seems more like an issue of correlation rather than causation.
@KenyMylankca I run Vanilla MC with Forge only (1.12) and those 'warnings' were still happening. At a slower rate than when I checked it with a modpack, but still.
@pimalel233 umm, it's a bug in the game itself yea. but some things (like optifine etc) trigger it. it mostly happens when the world(or u can say server) can't access to mojang server as i saw. it's a weird thing. but i'm sure it's about the internet connection's strength.
@KenyMylankca thanks for clarification. I noticed it happening with my game, I just start SSP (local server, single player) game, do nothing, not even move character, 1 min in the warning happens.
I really tried to 'fix' it but nothing really helps. I use optifine, it literally does not change the outcome. In my 200 mod game, I can stand still and no error happens, enter/reenter nether it starts happening (have not tried yet with Unloader mod or any other server-side mods only that I have not included in SSP world).
Though in my pack I noticed that The Erebus makes the error happens even if I do nothing after creating new world, so I am guessing this mods adds big overhead to the issue unlike other mods. I do not really understand the impact of the error yet, as I do not see memory usage growing or anything yet - but at the same time I have not tested it running the server for long hours.
Poor log, wording 'may', does not say much. Really wish there would be a way to make sure nothing bad will happen with the server once I run it, at least for long period of time until scheduled reboot.
Do not pay attention to spam in the logs. Use the LogFilters mod and everything will be fine.
@kellixon it's not just a spam, after it gets enough, server freezes. on my side it happens when it reaches about ~700
ex:The world 18738056 (world) may have leaked: seen 700 times.
@pimalel233 i believe that this is a problem with too much data in some side of world. it happens when there are too many mods in the game that makes world heavier, it's all i could get. i think something can't handle the world that causes a leak. or a forge bug maybe, or vanilla... dunno.
There's a good chance that that message has nothing to do with your slowdowns.
I had a look at the code to make sure I know what I'm talking about:
The message is written by Forge's Dimension Manager. It will do a check every 10 seconds, where it sees if any "Java object that represents a dimension" for a dimension that has been unloaded is still alive and using up memory. There are 2 reasons that can be:
(a) A mod's code is keeping a reference to it. This is bad, as the connection between the Java object and the dimension has been severed when the dimension was unloaded. So doing anything with that object is nonsense. It also can cause issues because that object is huge and if dimensions get loaded and unloaded often, each time leaving behind an object, can fill up your memory. (This is like someone keeping every box of cereal they ever had in their kitchen cupboard, even those that are already empty.)
(b) Java has not yet seen any reason to remove the object because there still is plenty of unused memory available before it needs to reuse some.
As long as it's just one world that is being reported, this should be harmless. The reported count goes up every time it is reported, but that's all. This gets problematic if there are more and more world objects in the report. (Keeping the box of cereal you bought with the first dollar you ever earned by yourself is fine.)
unloaded dimension thing strongly reminded me foamfix's dimension unloading feature, but this bug happens with and without foamfix too. i really hope @asiekierka has an idea about this.
also, there was a mod called Unloader which unloads unused dimensions. And i tried using that mod too, but it didn't help the issue.
And this bug is severe, because when it reaches about 700(on my side) server side doesn't respond anymore; you are a ghost in the game. And it happens very often, especially going to nether and turning back, etc. It happens without going to nether too.
so as i take it, it is the forge managed world which doesn't like to be unloaded? or needs to be heavily unloaded? (while not used)
As I said, having a single empty cereal box in your cupboard 700 days in a row doesn't harm your kitchen. It's just sitting there doing nothing. Adding a new box every week, now that would be problematic.
As I said, I don't think this has anything to do with your issues. They just both happen after 7000 seconds of uptime....