Jump to content

Recommended Posts

Posted

Posting this here as per github issue template.

 

I've got two heap dumps from our server running the modpack snorshcraft: https://minecraft.curseforge.com/projects/snorshcraft/files/2557580 running Forge 14.23.3.2678. These heapdumps are from different days, the server was restarted in between (so the Issue happened more than once).

 

Both show a EntityPlayerMP object for a disconnected player that's still in the net.minecraft.server.management.PlayerChunkMapEntry.players list. As a result of that Minecraft keeps the chunk loaded and keeps queuing chunk update messages for that player. As the player is disconnected these messages pipe up and take up huge amounts of memory.

 

Path to GC Roots:

image.png.a5d1a4f5528232f062d351ed54e9143f.png

 

The upper path is the one that's causing the issue. the lower one has already been reported to SimplyJetpacks 2 here: https://github.com/Tomson124/SimplyJetpacks-2/issues/84 . While it also keeps the object alive it doesn't cause the chunk update queuing.

 

An interesting finding here is that the player object is no longer in the net.minecraft.server.management.PlayerChunkMap.players list, it is only in PlayerChunkMapEntry.players.

 

This screenshot shows the memory is accumulated in net.minecraft.network.NetworkManager.outboundPacketsQueue:

image.png.dc07a7edc2e09a0d60bf0083e0fc49a6.png

 

In this dump the queue contains one million messages that wont ever get sent.

 

Here's a list of the different kinds of packets in the queue:

image.png.540efd8312272ff42ff941efb544cc55.png

 

I have the corresponding log for one of these 2 heap dumps. The Log lists a lot of exceptions for the timestamp corresponding to the net.minecraft.entity.player.EntityPlayerMP.playerLastActiveTime in the heap dump. The player in question gets disconnection on Dimension change after Recurrent Complex fails to generate a maze.

 

  Reveal hidden contents

 

 

 

Posted

It's always interesting to see people who care about optimization in the forge community as it doesn't happen too often.

Could you be more specific as to what you mean by "Posting this here as per Github issue template."

Posted

I think that is more to deter the people from posting stuff like forge doesn't work when they are trying to run 1.7.10 mods on the most recent version. You have plenty of data to back up this issue. I doubt it will get fixed anytime soon as optimization isn't a high priority. You're probably fine making that git issue.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.